Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_bpm (Read 159859 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_bpm

Reply #175
I believe @mneimeyer has set "Writes tags automatically" in BPM analyzer preferences, in which case nothing is written to files, although files are being analyzed.


That is correct. With "Write tags automatically" checked then nothing is added to the files even though it is clearly (looking at the console) finding/calculating the values.

Unchecking that checkbox is working solution for me.


Huh... I wouldn't have thought of that. You are correct. If I uncheck "Write tags automatically" then I get a popup with what will be written. If I click in that window to update then it does in fact update all the files.

So it appears to be only the automatic writes that are failing.

Thanks!






foo_bpm

Reply #176
foo_bpm 0.2.4.5

Fixed automatic tag writing. Also integrates patches by fraganator to switch primary and secondary progress bars. The taskbar icon should now reflect total progress instead of per-file progress.

foo_bpm

Reply #177
Dear foosion,
Could you explain me what are the current differences between foo_beatit and foo_bpm?

Maybe it will be easier for you to answer these questions:
- is foo_bpm multithreaded?
- is foo_bpm configurable in the way that it was before you took maintenance over this component?
- does accuracy of calculations changed compared to older versions?
- how about possibility of doubling/halving results and writing tags (it seems to be bit broken in foo_beatit) - is it present, does it work properly?
- can I write tech info into console?

foo_bpm

Reply #178
I have done some maintenance work on foo_bpm. This means I fixed some bugs, restructured the code and replaced the used FFT library due to licence issues. I have also done cosmetic changes to the UI. The answers to your questions are as follows.

- is foo_bpm multithreaded?
No.
- is foo_bpm configurable in the way that it was before you took maintenance over this component?
You can configure exactly the same thing, I only changed the layout of the preferences page.
- does accuracy of calculations changed compared to older versions?
It should be the same. I haven't changed the calculations in foo_bpm itself. The change from FFTW to Kiss FFT may cause minor numerical differences.
- how about possibility of doubling/halving results and writing tags (it seems to be bit broken in foo_beatit) - is it present, does it work properly?
It should work like before.
- can I write tech info into console?
I haven't changed anything in this regard.

foo_bpm

Reply #179
Thank you for clear answers
Do you plan to add multithreaded calculations to this component sometime in the future? Lack of this functionality was always a pain... I had to wait so long to have results for all files in a row. That's why currently I switched to foo_beatit - it calculates BPMs simultaneously using all cores of my CPU. This causes that I have to wait nearly six times shorter to have results
Of course I understand voluntary character of work of all programmers involved in foobar's core and plugins and I don't require any strong promises  . I just ask for information if you are considering adding such option or no.

foo_bpm

Reply #180
I have no such plans at the moment. My motivation was mainly to fix the crash bugs and to leave the code in a better shape for anyone else who might want to work on it.

foo_bpm

Reply #181
Could you change a little thing nevertheless, foosion? For me the component would be perfect if "Manually tap for bpm" invoked from context menu would start playing the selected track rather than be directed to the now playing track. For the latter purpose the same called command could be provided by main menu -> playback ->.

That's anyway more logical too.

foo_bpm

Reply #182
I have one more question regarding possibility of multithreaded work - is it possible with current version to separately run several concurrent analysis threads? You know - I mark 6 files and run BPM analysis, while it runs I choose another six files and run BPM analysis for them simultaneously and so on. I tried that in the past with "original" foo_bpm. Sometimes it worked but mostly plugin was crashing foobar after less than half minute... So has it changed or not?

foo_bpm

Reply #183
Just try and see?

foo_bpm

Reply #184
Changing component (uninst + inst and the same again to get back to foo_beatit) + waiting for crash (or no) + the fact that all those files which should have BPMs already have them... + at the moment I don't have much time for my own experiments.
All above causes that it's better to ask than try

foo_bpm

Reply #185
g-stankovic: I have created an issue so this won't be forgotten.

EpicForever: The known crash bugs were fixed as was menioned earlier in this topic. There is no distinct change log available as of now but the release list on GitHub provides some information.

foo_bpm

Reply #186
I prefer tiny single file version.

foo_bpm

Reply #187
foo_bpm 0.2.4.6

The tag progress window is now shown with a delay. If the tag update is fast enough, the window is not shown at all. Secondly, the component now uses the recommended API for tag updates in all cases. This primarily affects the "Halve BPM" and "Double BPM" context menu commands.

foo_bpm

Reply #188
Hi. Here's a couple of things to consider for the future version:

A. Component needs an option which would disable the annoying 'All tracks you have selected already have BPM info. Would you like to scan them anyway?' popup.

B. Whenever I go through the album to manually set BPMs (music in some genres, e.g. Rhythmic Noise, rarelly gets analyzed properly) I have to press Reset BPM after each track to restart the count. I suggest another through-menu-enabled option that would auto-reset the count to 0 whenever the Update File button is pressed. Also, if this is implemented, it would be more convenient to swap Reset BPM and Update file buttons like this:



C. Double and Halve BPM buttons should probably be included in manual bpm analysis window, too.

And D. There are cases when analyzed bpm values are same throughout the track. Then there are cases when several to all of values vary - either the track has bpm changes or it simply has no beats, it's ambient music. I suggest that if more than X end-values per track vary(controlled in cfg menu), the BPM is set to 0. Also, the result window could contain a column showing how much different values were calculated per track. For example, if 9 of them were 125 and the 10th was 130, the value in the column would say 2.

foo_bpm

Reply #189
Thanks a lot for updating foo_bpm.

If i use "Manual BPM Calculation" and the window would close after updating, than foo_bpm would be
perfect for me.

Greez Zäde.



Warning: fb2k is addictive.

foo_bpm

Reply #190
C. Double and Halve BPM buttons should probably be included in manual bpm analysis window, too.
Why? 

however, i think the manual bpm detection needs some polishing. F.e: In the result windows i can double or halve easily the bpm count, but i am not able to call the manual detection function from it when i estimate that the result is totally wrong

foo_bpm

Reply #191
Forgive my ignorance, but I can't find the updated file.  The first post leads to 2.4.1, and your foosion page doesn't have it at all.  I'm currently on 2.4.4.




foo_bpm

Reply #195
Everyone else: I noted your suggestions. I will create separate issues to track them.
Done. I have added comments where I think further clarification or research are required. Feel free to post comments here or on GitHub.


Hi there, sorry if I'm reviving an old thread.

I have been using vanilla foobar forever but just got around to searching for such a bpm tool and found it today.  I have what is perhaps a nooby question but is it possible to add a column to foobar that lists this file tag?

I can sort by title, artist etc.. can I add a column that would let me sort by BPM.  It seems like I should be able to do so but I haven't been able to figure it out yet.

Thanks for this handy tool!

<3

foo_bpm

Reply #196
yes. just go to file>preferences>display>default UI>playlist view>custom columns. from there you add a new column using [%bpm%] as the pattern. then when you've done that, close the preferences, right click the playlist column headers to enable your new column. you can drag/drop the placement wherever you like.

note: the square brackets are not necessary but it prevents foobar from displaying a ? when that tag is missing from a file.

foo_bpm

Reply #197
yes. just go to file>preferences>display>default UI>playlist view>custom columns. from there you add a new column using [%bpm%] as the pattern. then when you've done that, close the preferences, right click the playlist column headers to enable your new column. you can drag/drop the placement wherever you like.

tip: the square brackets are not necessary but it prevents foobar from displaying a ? when no tag exists in a file.


Thanks Marc2003!!  This will help a ton with setting up mixtapes

foo_bpm

Reply #198
Hello everyone! I'm happy to just start using foobar2000 and to have found gems like bpm analizer and discgots tags fetcher.

Would you please tell me how do I add BPM and key sorting to my playlists? I haven't found any info on web about it.

And also, which tag does this BPM analizer writes tags to?

Thanks in advance!

foo_bpm

Reply #199
Would you please tell me how do I add BPM and key sorting to my playlists?

You can select all files in your playlist and prepend %bpm% to existing sort pattern. Or you can add %bpm% as custom column field in your playlist view (Preferences > Display > Default User Interface > Playlist View), then in your playlist view add this new column by right-clicking on column headers, and finally sort by clicking on BPM column.


There is no currently component for key detection. I'd suggest using excellent open source application KeyFinder. It can detect keys for supported files and write metadata from the GUI interface, or you can automate the process with foobar by using foo_run component - for example:

Code: [Select]
"C:\Programs Files\KeyFinder\KeyFinder.exe" -f "%path%" -w

KeyFinder by default does not use Camelot codes (property of Mixed In Key) although you can set custom codes in it's preferences and find the codes with Google.