Giter VIP home page Giter VIP logo

nicorac / bcr-gui Goto Github PK

View Code? Open in Web Editor NEW
107.0 107.0 4.0 3.43 MB

BCR-GUI is a companion app for the great BCR (Basic Call Recorder) Android application.

Home Page: https://coolsoft.altervista.org

License: GNU General Public License v3.0

Java 18.92% TypeScript 60.43% SCSS 6.34% HTML 12.11% JavaScript 2.20%
android-app angular call-recording capacitor capacitor-android gui ionic ionic-capacitor

bcr-gui's Introduction

๐Ÿ’ซ About Me:

I'm an active open source supporter based somewhere... in northern Italy ๐Ÿ™„

๐ŸŒ Socials & Web links:

LinkedIn
CoolSoft (my website)

๐Ÿ’ป Tech Stack:

C C# C++ CSS3 HTML5 JavaScript Markdown PHP Python TypeScript Shell Script Angular Chart.js .Net Electron.js Express.js jQuery NestJS NPM NodeJS ANDROID Yarn Webpack Apache Nginx MariaDB MicrosoftSQLServer MySQL SQLite Inkscape LINUX Arduino Docker ESLint Raspberry Pi Swagger

๐Ÿ“Š GitHub Stats:



๐Ÿ† GitHub Trophies

โœ๏ธ Random Dev Quote

๐Ÿ” Top Contributed Repo


๐Ÿ’ฐ You can help me by Donating

BuyMeACoffee PayPal

bcr-gui's People

Contributors

alirezaparsi avatar arkl1ne avatar dependabot[bot] avatar huangsmith avatar ngocanhtve avatar nicorac avatar upbox-org avatar xfox20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bcr-gui's Issues

[enhancement]: forward+rewind buttons

having 20min+ recordings it is difficult to repeat the last sentence you just heard for better understanding. so two more buttons with fixed or variable times to forward+rewind audio would be great. thank you.

Audio playback takes a long time to start

Describe the bug
If the audio time is more than 30 minutes, then BCR-GUI takes too long to load it. I have a call that lasted about 30 minutes, the BCR-GUI loads it about 15 seconds, which seems to me quite slow. I tested in another application that can play audio (Google Files) and it instantly opens this audio, without delay

To Reproduce
Steps to reproduce the behavior:

  1. Record an audio call longer than 30 minutes
  2. Try opening it in the BCR-GUI
  3. You will notice that audio playback will not start immediately, you will have to wait more than 15 seconds

Expected behavior
Audio playback will start immediately without waiting

Screenshots
Not required

Versions (please complete the following information):

  • BCR-GUI version: 0.0.19
  • Device: Xiaomi Redmi Note 5
  • Android version: Android 13

Add support for GrapheneOS call recorder (was: File Name Parsing issue)

Describe the bug
I am having a hard time with the filename parser recognizing the file name "CallRecord_20230619-121746_+12192826655.m4a"

Here are my attempts

/CallRecord_\{date\}(?:.+)\{phone_number\}/

CallRecord_{date}(?:.+){phone_number}

CallRecord_{date}_{phone_number}

/CallRecord_\{date\}(?:.+)\{phone_number\}\.m4a/

CallRecord_{date}(?:.+){phone_number}\.m4a

CallRecord_{date}(?:.+){phone_number}.m4a

CallRecord_{date}_{phone_number}\.m4a

CallRecord_{date}_{phone_number}.m4a

any thoughts?

Version

  • BCR-GUI version: 0.0.23

On GrapheneOS AMR files are not supported and detected

Describe the bug
If on GrapheneOS in the voice recording I select AMR-WB as the "Audio output format" the files that are generated by the recording (files .amr) are not recognized by the app (even if they correctly match the regex) and therefore they are not displayed on the list of recordings (Home).

To Reproduce
Steps to reproduce the behavior:

  1. Open the app
  2. Select a folder containing recordings from GraoheneOS that are in .amr format
  3. The home screen doesn't detect any of them

Expected behavior
The files should be displayed and be able to be reproduced just like AAC or other audio format file

Versions (please complete the following information):

  • BCR-GUI version: 1.5.0
  • Device: Google Pixel 7
  • Android version: 14

Forward/reverse skip and scrolling does not work as intended in v0.0.16

the enhancement with the forward/reverse buttons is not working as intended. it does not forward at all and rewind mostly skips to the start or out of the player to the list.

also, this version and bcr-gui-0.0.15-release.apk have a slider on the right side that does not scroll to the very buttom of the list. i can barely delete the first entry because the trash icon is almost hidden. this was better in bcr-gui-0.0.14-release.apk without slider.

nasty thing is now i am trying to downgrade and bcr-gui-0.0.14 complaints about missing json metadata file and wont read any of the audio files .

so i reverted to bcr-gui-0.0.15. this one does not complain but it does not always show the trash icon.

Localization

Is your feature request related to a problem? Please describe.
strings.xml not found for translation - like other projects

Describe the solution you'd like
Create one, please!

Describe alternatives you've considered
Use hosted.weblate or crowdin

Additional context
Great app btw, works well with the built-in call recording feature in Android's default AOSP Phone app, Crdroid ROM..

White screen

thank you for this amazing app

just one nagging. when i open app there's a quick succession of screen colors : grey - white - then app opens in dark mode

Does not look in subdirectories

With BCR you can specify in the filename template subdirectories, and so calls can be saved in different subdirectories. This GUI looks only at the top level folder, and doesn't show calls present in subdirectories. There should be an option to allow the recursive scan of subdirectories too.
Thanks

Bug: always forcing 12h time format

Even though time in metadata files is in 24h format, bcr-gui will show it in 12h format.

Please add an option to change it, or better yet default the time format to the one used system wide.

Edit Recording ->create new contact-> select adress book

its not related to a specific OS, i think.

would be nice to select an adress book where the new contact is to be stored.

bcr-gui selects phone storage by default. if a user is not using phone storage, but i.e. nextcloud storage instead, there is no option to store the contact there. In LOS the user cannot change the adress book for storage after a contact is stored in phone adress book.

so the user is forced to create a new contact in another phone book and copy/paste the data there and delete the older entry afterwards.

dont know about alternatives.

Versioning issue

Looks like you forget to increase versionCode properly, which should be done with each release (as Android uses that to tell versions apart; it only considers an APK to be an update if it has a higher versionCode than the installed app). Can you please take care for that with future releases? Thanks in advance!

Translate the app ๐ŸŒ

Intro

BCR-GUI now supports translations.

You could help translating it in your language in 2 ways:

  • use Weblate online translation service
  • edit source files directly

Weblate

BCR-GUI has a page on Weblate: https://hosted.weblate.org/projects/bcr-gui/app/

If you'd like to translate in your language, drop a message in this issue specifying the culture code (i.e. en-US) you'd like to translate to and I'll add that language to the project.

When your work is complete, I'll release an update with the new translation.

Direct sources edit

Translation files are contained in /src/assets/i18n directory; it currently contains en-US and it-IT cultures.

To help translating you should:

  1. put a message in this issue to notify anyone you're going to translate to a specific culture (and avoid more than one person work on the same one)
  2. fork the repo (or open it online here)
  3. copy the reference language file en-US.json to a new filename based on culture you're goind to create (see the README.md file contained in i18n directory)
  4. translate each item
  5. open a PR to let me integrate your changes...

Thanks in advance for your help, you'll be mentioned in application About page (if you like it ๐Ÿ˜‰).

Online sources edit

If you have a Github account, you can also edit sources within your browser, thanks to github.dev.

  • fork the repository
  • go to your fork home page
  • press . key to open the online editor (very similar to VSCode)
  • create the new language file (see the instructions above)
  • commit your changes and open a PR

starting bcr-gui kills other sound

i think the supposed action should be bcr-gui stops other playback when it itself plays some recording back. instead it stops other playback already when being opened.
android 13/LOS20/Musicolet

Support custom filename format

Edit: related to custom file format

I'm using right to left language on my phone to save my contacts, and I can't see any name on the records
Screenshot_20230826_201806_BCR Gui.png

create and edit json metadata file

Hi @nicorac,
Your bcr-gui also works perfectly with other call recorders, such as Huawei Call Recorder Service.
Unfortunately, this call recorder cannot create metadata file. Would it be possible to implement this feature in bcr-gui and allow creating the metadata file and editing comments?
That would be great!
Thank you very much!

Best regards
Cavediver

brc-gui_dark_new

Entries not deleted when JSON file is missing

I have a bunch of recorded calls that where made before BCR included support for JSON files, so when I try to delete them from the list it deletes the files from the file system but it doesn't delete the entries on the app. This doesn't happen with recordings that have a JSON file associated to them. In that case I can delete them and they get deleted from both the filesystem and the list on the BCR-GUI app

Template for Call Recorder app (com.github.axet.callrecorder) from F-Droid app store

Hello @nicorac,

First, thanks for your app, it is welcome for this accessibility issue.

Is your feature request related to a problem? Please describe.
I have the Call Recorder app (com.github.axet.callrecorder) from the F-Droid app store, and already have hundreds of phone calls saved with a specific pattern that I can't match with the JS regexp placeholders available in your app. I know it's a bit lazy not renaming all my files to one of the preconfigured templates of the bcr-gui app but maybe there is a solution in between.

Here are three examples for my naming pattern:

20200101T010101 โ†‘ +33611111111 (Mum).ogg
20200102T020202 โ†“ +262622222222 (John Smith).ogg
20200103T030303 โ†“ +33612345678 (0612345678).ogg

I tried these rexexp, none worked:

^{date:year}{date:month}{date:day}T{date:hours}{date:minutes}{date:seconds} [โ†‘โ†“] {phone_number} {contact_name}
^{date:year}{date:month}{date:day}T{date:hours}{date:minutes}{date:seconds} {*} {phone_number} {contact_name}

Have I did something wrong ? Please guide me.
Otherwise is it possible that the special charaters are messing with the regexp ?
Thank you in advance !

Using too many voice recordings

The application does not cope well (it takes a long time to load) if more than 500 audio recordings are stored in the call directory. On my old smartphone, it takes about 30 seconds.

I suggest adding a loading animation meaning that the application loads information about calls. At the beginning, without this animation, I was confused and I thought that the application was not working at all, but after waiting more than 30 seconds, I realized that it had been loading all this time.
Also, I suggest making an optimization that loads this information, I think it's not worth reading all existing audio recordings at once.

Icon

Add material themed app icon

AMR-WB files are not displayed in the application

Describe the bug
AMR-WB files in the .awb file format are not displayed in the graphical user interface (GUI), even when they exist in the same folder as other recordings.

Expected behavior
The application should display all files that adhere to the correct name format before the extension. Files not yet recognized by BCR-GUI should appear in the list with a label indicating โ€˜Type: Unknownโ€™ instead of being ignored. Implementing this feature would prevent issues with new formats in the future.

Versions (please complete the following information):

  • BCR-GUI version: 1.6.0
  • Device: Pixel 3
  • Android version: LineageOS 21

Material You support

Hi! Thanks for this app, it's very useful!

One thing I would like to request is dynamic colors support to accommodate Material You theming. This helps the app to integrate better with the overall system design.

Recordings encoding issue

I am unable to load the recordings as the app seems to expect filenames to contain only Latin1 charset.

Screenshot_20230823-220641

Color scheme problem

Hello. Thank you very much for this beautiful program. If you use weblate, I will be happy to translate it into Turkish. My eyes get very tired due to this color scheme in both dark and light modes. Is there any chance we can find a solution to this? For example, can the text in dark mode be white rather than green? Likewise, can the background be white instead of green in bright mode?

Question on permissions

My scanner just got additional checks implemented, and immediately reported for today's update of your app:

! repo/com.github.nicorac.bcrgui_262656.apk declares flag(s): usesCleartextTraffic
! repo/com.github.nicorac.bcrgui_262656.apk declares risky permission(s): android.permission.READ_EXTERNAL_STORAGE android.permission.READ_CONTACTS android.permission.WRITE_CONTACTS

Could you please clarify what those are needed for?

  • android:usesCleartextTraffic: your app doesn't even request INTERNET, so what cleartext traffic is needed?
  • minimum Android version to use your app is Android 5.1, which has SAF (Storage Access Framework) available to access storage. Do you really need READ_EXTERNAL_STORAGE then, and what for?
  • This is a call recorder GUI, so I get the READ_CONTACTS (for showing contact details along the recordings which probably only have the phone number associated). But what for do you need to write contacts?

Thanks in advance for clarification!

Material 3+You.

Is your feature request related to a problem? Please describe.

This application's stylisation doesn't adhere to my system preferences.

Describe the solution you'd like

Implement Material 3 (and You).

Describe alternatives you've considered

I don't believe that any comparable alternatives exist.

Additional context

Additional rationale is available at QuickLyric/QuickLyric#271 (comment).

Delete all, except

Sometimes you have too many recording from people and you want to delete them but there is that one person that you want to keep your recording, could you add an option to delete all recording, and you will have an option to choose which people's recording to delete(all recording of them)

play button

1/ play button is too small, pls make it bigger or simple remove seek buttons, no need it at all.
2/ why green/white? better use system colors i think.
thanks

[Feature Request] dark / black mode

Hey, your app already looks nice and works for me.
It is already an added value even when some basic functions are missing. I look forward to future updates. Thanks for developing!

However, my first thought when using your app was: "How do I turn on dark mode? ๐Ÿ˜I would really like a dark mode. ๐Ÿ˜Š
The best thing would be to have a pitch-black theme option for OLED screens.

Edit: I realise there are clearly more important things to address first. I just wanted to register this to add to what you're planning. โœŒ๏ธ

Add ColorOS Call Recorder Support

Hi Developer.
I've just known the BCR-GUI have supported Huawei Call Recorder's File Pattern.
Here's are the ColorOS's one: (MP3 file format)
^{contact_name}-{date:year}{date:month}{date:day}{date:hours}{date:minutes}
The only difference is this placeholder {date:year} should be 2 digits instead of 4. (I wonder if that works without correction)
Thanks!

question: how does app changed calendar used based on language

sorry if this is not an issue but this repo doesn't have discussions section so I had to do it this way.

this may sound stupid but I have this app installed and I have put my phone lang to Persian instead of english.

I saw that this causes this app to use Jalali calendar used in Iran instead of Gregorian calendar.
and it does this automatically ( changes dates of call to jalali and back)

what setting is used in this app that does this or is it from android itself that I never saw before ?

RTL problem with persian language.

As you know persian and arabic are RTL language and when I use persian the text format was broken.

also i wanna update some parts in translate if you dont mind ( some miss understanding haappend in translation for one or two text)

update : i updated persian translate for easier use add update with bug fix pls thanks for your project and great work

Not accepting file output format used by bcr app

Describe the bug
I'm using the following in brc for file output format, based in bcr wiki
{date:yyyy-MM-dd @ h.mm a}[{direction}|][sim{sim_slot}|][{phone_number}|][[{contact_name}|{caller_name}|{call_log_name}]|]

When I enter this into bcr-gui, I get the following error in red letters:
Invalid regular expression: /{date:yyyy-MM-dd @ h.mm a}[(?in|out|conference)|][sim(?<sim_slot>\d+)|][(?<phone_number>[\d+- ]+|unknown)|][[(?<caller_name>.)|(?<caller_name>.)|(?<caller_name>.*)]|]/: Unmatched ')'

To Reproduce
Steps to reproduce the behavior:

  1. Go to bcr app, open
  2. Click on output, edit format, enter desired format, click ok
  3. Rename files in bcr folder manually based in new format as suggested in bcr guide
  4. Open bcr-gui, click edit next to "fire name pattern" and enter same format used in bcr app
  5. Get error message
  6. Files in bcr-gui all show a "unknown"

Expected behavior
Bcr-gui should accept the pattern and identify the files

Screenshots
If applicable, add screenshots to help explain your problem.

Versions (please complete the following information):

  • BCR-GUI version: [1.3.0]
  • BCR 1.59
  • Device: poco f3
  • Android version: crdroid A13

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.