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 159986 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

foo_bpm

Reply #75
Thanks for the feedback  I'm glad people are benefiting from this component.

Trying to find the correct settings to make it accurate with no luck at all.

I ve tried every possible combination off settings, and its always off for at least 0.1BPM, usually +0.1BPM.

Try these settings:
[attachment=5654:foo_bpm_...ferences.png]

If they don't give you the desired accuracy, it's probably a result of the algorithm itself. When I find time to implement some of the other algorithms mentioned in the first post, it'll be interesting to see how they compare to one another in terms of correctness and accuracy.


edit: its still not accurate with all tracks. it gets arounnd 50% of them right

Thanks for the tip! This settings seem to work, at least for house music.

And the debug info shows that its not having a hard time doing it. (I know this track is at 126.0 BPM)

Code: [Select]
foo_bpm: Estimated BPMs (sorted) for 01-daso_-_meine.mp3 are:
BPM 1 = 125.8000000
BPM 2 = 125.8000000
BPM 3 = 125.9000000
BPM 4 = 125.9000000
BPM 5 = 125.9000000
BPM 6 = 125.9000000
BPM 7 = 125.9000000
BPM 8 = 125.9000000
BPM 9 = 125.9000000
BPM 10 = 125.9000000
BPM 11 = 125.9000000
BPM 12 = 125.9000000
BPM 13 = 125.9000000
BPM 14 = 125.9000000
BPM 15 = 125.9000000
BPM 16 = 125.9000000
BPM 17 = 126.0000000
BPM 18 = 126.0000000
BPM 19 = 126.0000000
BPM 20 = 126.0000000
BPM 21 = 126.0000000
BPM 22 = 126.0000000
BPM 23 = 126.0000000
BPM 24 = 126.0000000
BPM 25 = 126.0000000
BPM 26 = 126.0000000
BPM 27 = 126.0000000
BPM 28 = 126.0000000
BPM 29 = 126.0000000
BPM 30 = 126.0000000
BPM 31 = 126.0000000
BPM 32 = 126.0000000
BPM 33 = 126.0000000
BPM 34 = 126.0000000
BPM 35 = 126.0000000
BPM 36 = 126.0000000
BPM 37 = 126.0000000
BPM 38 = 126.0000000
BPM 39 = 126.0000000
BPM 40 = 126.0000000
BPM 41 = 126.0000000
BPM 42 = 126.0000000
BPM 43 = 126.0000000
BPM 44 = 126.0000000
BPM 45 = 126.0000000
BPM 46 = 126.0000000
BPM 47 = 126.0000000
BPM 48 = 126.0000000
BPM 49 = 152.2000000
BPM 50 = 173.2000000
foo_bpm: Calculated BPM = 125.9625000

foo_bpm

Reply #76
Crash report: trying to analyse an mp3 that has the incorrect length reported will cause a crash.

Crash log:
Code: [Select]
Illegal operation:
Code: C0000094h, flags: 00000000h, address: 73EA22EAh

Call path:
threaded_process thread

Code bytes (73EA22EAh):
73EA22AAh:  CC CC CC CC CC CC 51 83 3D C4 5E EB 73 08 53 55
73EA22BAh:  56 57 8B F1 75 11 B8 1F 85 EB 51 F7 A6 98 00 00
73EA22CAh:  00 C1 EA 05 89 56 1C 8B 86 E0 00 00 00 2B 86 DC
73EA22DAh:  00 00 00 8B 4E 18 8B 7E 1C C1 F8 02 2B C1 33 D2
73EA22EAh:  F7 F7 40 89 86 EC 00 00 00 48 0F AF C7 03 C1 89
73EA22FAh:  44 24 10 8B 86 98 00 00 00 DB 44 24 10 DB 86 98
73EA230Ah:  00 00 00 85 C0 7D 06 DC 05 48 D4 EA 73 DE F9 8B
73EA231Ah:  C1 33 DB B9 08 00 00 00 F7 E1 DD 9E F8 00 00 00

Stack (1038F428h):
1038F408h:  00000007 FCD293F8 FFFFFD34 000002E4
1038F418h:  FFFFFD34 000002CC 00000018 00000000
1038F428h:  00000001 1038F51C 05918444 0000003C
1038F438h:  1038F51C 73EA4E23 73EE5D84 011C4BB0
1038F448h:  03C01F98 05918438 00000000 1038F4C4
1038F458h:  01078204 00000002 00000000 00000010
1038F468h:  0107833F 9999999A 3FC99999 03CF0000
1038F478h:  00000000 00000004 011C4BB0 00000000
1038F488h:  1038F5EC 1038F4A4 0870F0D8 0870F0D8
1038F498h:  00000009 00000000 0870F0D8 0870F0D8
1038F4A8h:  010E488A 011ED79C 0870F0D8 1038F51C
1038F4B8h:  011ED79C 1038F4E4 0119BF08 00000000
1038F4C8h:  73EA4777 73EE5D10 011C4BB0 03C01F98
1038F4D8h:  05918438 00000000 1038F864 73EA93BF
1038F4E8h:  FFFFFFFF 73EA5491 05918438 05918444
1038F4F8h:  73EE5D3C 05918444 05918418 1038F8B4
1038F508h:  00000000 00000000 00000001 1038F4F4
1038F518h:  1038F504 0000000A 0000000A 9999999A
1038F528h:  3FC99999 9999999A 3FE99999 00001000
1038F538h:  00000000 00000000 753C0000 00000000

Registers:
EAX: FFFFF000, EBX: 0000003C, ECX: 00001000, EDX: 00000000
ESI: 1038F51C, EDI: 00000000, EBP: 05918444, ESP: 1038F428

Crash location:
Module: foo_bpm
Offset: 122EAh
Symbol: "foobar2000_get_interface" (+110FAh)

Loaded modules:
foobar2000                      loaded at 01070000h - 01229000h
ntdll                            loaded at 77A70000h - 77BAC000h
kernel32                        loaded at 76180000h - 76254000h
KERNELBASE                      loaded at 75C40000h - 75C8A000h
COMCTL32                        loaded at 74AB0000h - 74C4E000h
msvcrt                          loaded at 75EC0000h - 75F6C000h
GDI32                            loaded at 77C50000h - 77C9E000h
USER32                          loaded at 76780000h - 76849000h
LPK                              loaded at 76620000h - 7662A000h
USP10                            loaded at 76630000h - 766CD000h
SHLWAPI                          loaded at 76B80000h - 76BD7000h
DSOUND                          loaded at 6B940000h - 6B9B2000h
ADVAPI32                        loaded at 77BB0000h - 77C50000h
sechost                          loaded at 765A0000h - 765B9000h
RPCRT4                          loaded at 766D0000h - 76771000h
ole32                            loaded at 77910000h - 77A6C000h
WINMM                            loaded at 701C0000h - 701F2000h
POWRPROF                        loaded at 744A0000h - 744C5000h
SETUPAPI                        loaded at 76950000h - 76AED000h
CFGMGR32                        loaded at 75C90000h - 75CB7000h
OLEAUT32                        loaded at 76AF0000h - 76B7F000h
DEVOBJ                          loaded at 75EA0000h - 75EB2000h
UxTheme                          loaded at 74930000h - 74970000h
SHELL32                          loaded at 76CC0000h - 77909000h
shared                          loaded at 10000000h - 1002B000h
imagehlp                        loaded at 764D0000h - 764FA000h
dbghelp                          loaded at 6C8D0000h - 6C9BB000h
COMDLG32                        loaded at 76500000h - 7657B000h
IMM32                            loaded at 76580000h - 7659F000h
MSCTF                            loaded at 76BE0000h - 76CAC000h
CRYPTBASE                        loaded at 75B10000h - 75B1C000h
CLBCatQ                          loaded at 75FB0000h - 76033000h
MMDevApi                        loaded at 74620000h - 74659000h
PROPSYS                          loaded at 74970000h - 74A65000h
dwmapi                          loaded at 74600000h - 74613000h
foo_playcount                    loaded at 00440000h - 00470000h
foo_input_std                    loaded at 02650000h - 0279D000h
foo_fileops                      loaded at 00C50000h - 00C98000h
foo_jesus                        loaded at 73B60000h - 73B87000h
foo_run                          loaded at 00CA0000h - 00CCD000h
foo_lyricsdb                    loaded at 00E20000h - 00E50000h
WININET                          loaded at 76850000h - 76944000h
Normaliz                        loaded at 765C0000h - 765C3000h
urlmon                          loaded at 76040000h - 76175000h
CRYPT32                          loaded at 75D80000h - 75E9C000h
MSASN1                          loaded at 75C30000h - 75C3C000h
iertutil                        loaded at 762D0000h - 764C9000h
foo_discogs                      loaded at 00EC0000h - 00F26000h
gdiplus                          loaded at 747A0000h - 74930000h
foo_dsp_vlevel20080302.0        loaded at 00E50000h - 00E5B000h
MSVCR80                          loaded at 6F0E0000h - 6F17B000h
foo_input_alac                  loaded at 00E70000h - 00E90000h
foo_rgscan                      loaded at 027A0000h - 027EF000h
foo_albumlist                    loaded at 02910000h - 0296C000h
foo_unpack                      loaded at 02600000h - 0262F000h
foo_cdda                        loaded at 03050000h - 0309D000h
foo_texttools                    loaded at 6D850000h - 6D884000h
foo_masstag                      loaded at 030A0000h - 030F4000h
foo_dsp_loudspeakereq            loaded at 02970000h - 0299C000h
foo_textdisplay                  loaded at 6D810000h - 6D84F000h
foo_scheduler                    loaded at 03400000h - 0349F000h
foo_facets                      loaded at 031B0000h - 03231000h
MSIMG32                          loaded at 72BF0000h - 72BF5000h
foo_musicbrainz                  loaded at 6D7B0000h - 6D80C000h
WINHTTP                          loaded at 71460000h - 714B8000h
webio                            loaded at 71410000h - 7145F000h
foo_ui_std                      loaded at 037D0000h - 038DE000h
foo_softplaylists                loaded at 6C4F0000h - 6C541000h
foo_dsp_std                      loaded at 034B0000h - 034F9000h
foo_vis_shpeck                  loaded at 6C140000h - 6C181000h
foo_audioscrobbler              loaded at 03350000h - 03381000h
foo_out_asio                    loaded at 03500000h - 03536000h
foo_freedb2                      loaded at 038E0000h - 03922000h
foo_dsp_resampler                loaded at 03950000h - 0398A000h
foo_dsp_bs2b                    loaded at 03990000h - 039B7000h
foo_bpm                          loaded at 73E90000h - 73EBD000h
libfftw                          loaded at 6BE10000h - 6BF96000h
MSVCP90                          loaded at 6E700000h - 6E78E000h
MSVCR90                          loaded at 71C30000h - 71CD3000h
foo_wave_seekbar                loaded at 6BC90000h - 6BE08000h
WS2_32                          loaded at 75F70000h - 75FA5000h
NSI                              loaded at 76CB0000h - 76CB6000h
foo_converter                    loaded at 03B70000h - 03BE0000h
foo_dop                          loaded at 040E0000h - 0427C000h
QUARTZ                          loaded at 690A0000h - 69217000h
IconCodecService                loaded at 74330000h - 74336000h
WindowsCodecs                    loaded at 744D0000h - 745CB000h
sud                              loaded at 6B760000h - 6B81B000h
ADVPACK                          loaded at 719F0000h - 71A1E000h
VERSION                          loaded at 74F40000h - 74F49000h
DUI70                            loaded at 74220000h - 742D2000h
WINTRUST                        loaded at 75CC0000h - 75CED000h
SspiCli                          loaded at 75990000h - 759AA000h
profapi                          loaded at 75BC0000h - 75BCB000h
dnsapi                          loaded at 754A0000h - 754E4000h
iphlpapi                        loaded at 74000000h - 7401C000h
WINNSI                          loaded at 73FF0000h - 73FF7000h
RASAPI32                        loaded at 74190000h - 741E2000h
rasman                          loaded at 74170000h - 74185000h
rtutils                          loaded at 74160000h - 7416D000h
sensapi                          loaded at 70BF0000h - 70BF6000h
NLAapi                          loaded at 73F90000h - 73FA0000h
rasadhlp                        loaded at 6FDC0000h - 6FDC6000h
mswsock                          loaded at 755E0000h - 7561C000h
wshtcpip                        loaded at 75110000h - 75115000h
wship6                          loaded at 755D0000h - 755D6000h
mdnsNSP                          loaded at 16080000h - 160A5000h
WLIDNSP                          loaded at 6FDD0000h - 6FDF4000h
PSAPI                            loaded at 762C0000h - 762C5000h
fwpuclnt                        loaded at 730A0000h - 730D8000h
d3d9                            loaded at 67B10000h - 67CD3000h
d3d8thk                          loaded at 715E0000h - 715E6000h
atiumdag                        loaded at 69230000h - 6952D000h
atiumdva                        loaded at 60DE0000h - 610B4000h
d3dx9_42                        loaded at 6B570000h - 6B755000h
d3dx10_42                        loaded at 6BC20000h - 6BC90000h
apphelp                          loaded at 75AC0000h - 75B0B000h
ieframe                          loaded at 669C0000h - 6743C000h
OLEACC                          loaded at 72AD0000h - 72B0C000h
ntmarta                          loaded at 74F10000h - 74F31000h
WLDAP32                          loaded at 765D0000h - 76615000h
CRYPTSP                          loaded at 75620000h - 75636000h
rsaenh                          loaded at 753C0000h - 753FB000h
RpcRtRemote                      loaded at 75BB0000h - 75BBE000h
AUDIOSES                        loaded at 73FB0000h - 73FE6000h

Stack dump analysis:
Address: 73EA4E23h (foo_bpm+14E23h), symbol: "foobar2000_get_interface" (+13C33h)
Address: 011C4BB0h (foobar2000+154BB0h)
Address: 01078204h (foobar2000+8204h)
Address: 0107833Fh (foobar2000+833Fh)
Address: 011C4BB0h (foobar2000+154BB0h)
Address: 010E488Ah (foobar2000+7488Ah)
Address: 011ED79Ch (foobar2000+17D79Ch)
Address: 011ED79Ch (foobar2000+17D79Ch)
Address: 0119BF08h (foobar2000+12BF08h)
Address: 73EA4777h (foo_bpm+14777h), symbol: "foobar2000_get_interface" (+13587h)
Address: 011C4BB0h (foobar2000+154BB0h)
Address: 73EA93BFh (foo_bpm+193BFh), symbol: "foobar2000_get_interface" (+181CFh)
Address: 73EA5491h (foo_bpm+15491h), symbol: "foobar2000_get_interface" (+142A1h)
Address: 753C0000h (rsaenh+0h)
Address: 77B47340h (ntdll+D7340h), symbol: "NlsAnsiCodePage" (+1F0h)
Address: 77ACB4AAh (ntdll+5B4AAh), symbol: "RtlInitializeExceptionChain" (+118h)
Address: 73EAC4A8h (foo_bpm+1C4A8h), symbol: "foobar2000_get_interface" (+1B2B8h)
Address: 73EAC550h (foo_bpm+1C550h), symbol: "foobar2000_get_interface" (+1B360h)
Address: 73EAC4C8h (foo_bpm+1C4C8h), symbol: "foobar2000_get_interface" (+1B2D8h)
Address: 77A70000h (ntdll+0h)
Address: 01130A00h (foobar2000+C0A00h)
Address: 77AB64D8h (ntdll+464D8h), symbol: "RtlUserThreadStart" (+0h)
Address: 73EA93EBh (foo_bpm+193EBh), symbol: "foobar2000_get_interface" (+181FBh)
Address: 01130AA6h (foobar2000+C0AA6h)
Address: 10002778h (shared+2778h), symbol: "uPrintCrashInfo_OnEvent" (+B0h)
Address: 011C4A7Ch (foobar2000+154A7Ch)
Address: 0119D490h (foobar2000+12D490h)
Address: 01130A37h (foobar2000+C0A37h)
Address: 0119B0F9h (foobar2000+12B0F9h)
Address: 761D1174h (kernel32+51174h), symbol: "BaseThreadInitThunk" (+12h)
Address: 77ACB3F5h (ntdll+5B3F5h), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 761E2B35h (kernel32+62B35h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 761E2B35h (kernel32+62B35h), symbol: "UnhandledExceptionFilter" (+0h)
Address: 77A8D74Dh (ntdll+1D74Dh), symbol: "RtlAddMandatoryAce" (+5B1h)
Address: 77ACB3C8h (ntdll+5B3C8h), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 01130A00h (foobar2000+C0A00h)
Address: 01130A00h (foobar2000+C0A00h)

Environment:
App: foobar2000 v1.0
OS: Windows 6.1.7600 x86
CPU: Intel® Core™2 Duo CPU    T7700  @ 2.40GHz, features: MMX SSE SSE2 SSE3
Audio: Headphones (Realtek High Definition Audio); Speakers (9- M-Audio Transit)
UI: Default User Interface 0.9.5

Components:
Core (2010-01-09 19:47:00)
    foobar2000 core 1.0
foo_albumlist.dll (2010-01-09 19:44:46)
    Album List 4.4
foo_audioscrobbler.dll (2009-08-20 22:15:56)
    Audioscrobbler 1.4.2
foo_bpm.dll (2010-01-12 22:36:55)
    BPM Analyser 0.2.4
foo_cdda.dll (2010-01-09 19:44:42)
    CD Audio Decoder 3.0
foo_converter.dll (2010-01-09 19:44:32)
    Converter 1.4
foo_discogs.dll (2009-08-22 20:04:56)
    Discogs Tagger 1.20
foo_dop.dll (2009-12-27 23:06:53)
    iPod manager 0.6.6.4
foo_dsp_bs2b.dll (2009-06-08 12:30:06)
    bs2b 3.1.0
foo_dsp_loudspeakereq.dll (2009-07-02 08:52:58)
    Loudspeaker Equalizer 1.0.1
foo_dsp_resampler.dll (2009-07-29 03:01:58)
    SoX Resampler 0.5.4.1
foo_dsp_std.dll (2010-01-09 19:44:48)
    Standard DSP Array 1.0
foo_dsp_vlevel20080302.0.dll (2008-03-03 00:42:06)
    VLevel 20080302.0
foo_facets.dll (2008-05-09 17:56:28)
    Facets 2008-02-25
foo_fileops.dll (2010-01-09 19:43:32)
    File Operations 2.1.2
foo_freedb2.dll (2010-01-09 19:43:34)
    freedb Tagger 0.6.2
foo_input_alac.dll (2009-03-22 15:15:46)
    ALAC Decoder 1.0.3
foo_input_std.dll (2010-01-09 19:44:24)
    Standard Input Array 1.0
foo_jesus.dll (2010-01-03 13:41:18)
    Autosave & Autobackup 8
foo_lyricsdb.dll (2009-10-05 12:35:38)
    foo_lyricsdb 0.0.8 beta 0
foo_masstag.dll (2009-09-18 10:01:36)
    Masstagger 1.8.4
foo_musicbrainz.dll (2009-04-11 04:27:28)
    MusicBrainz Tagger 0.2
foo_out_asio.dll (2009-03-22 15:15:46)
    ASIO support 1.2.7
foo_playcount.dll (2009-04-29 20:09:32)
    Playback Statistics 2.1.9
foo_rgscan.dll (2010-01-09 19:44:24)
    ReplayGain Scanner 2.0.9
foo_run.dll (2009-03-27 22:49:54)
    Run services 0.3.6
foo_scheduler.dll (2009-08-17 22:32:40)
    Scheduler 3.54
foo_softplaylists.dll (2009-12-31 08:34:51)
    Soft Playlists 2009-12-30.2
foo_textdisplay.dll (2008-07-08 19:45:26)
    Text Display UI Element 1.0 RC 3
foo_texttools.dll (2009-12-23 21:00:22)
    Text Tools 1.0.4
foo_ui_std.dll (2010-01-09 19:44:52)
    Default User Interface 0.9.5
foo_unpack.dll (2010-01-09 19:43:20)
    RAR reader 1.3
    ZIP/GZIP reader 1.0
foo_vis_shpeck.dll (2009-09-28 17:32:16)
    Shpeck - Winamp vis plugins wrapper 0.3.7
foo_wave_seekbar.dll (2010-01-17 07:11:28)
    Waveform seekbar 0.1.10

Recent events:
Autoplaylists initialized in: 0:00.020274
"All Music" : 0:00.020183
Startup time : 0:02.852441
Seekbar: taking Direct3D9 path.
Seekbar: Frontend initialized.
Autobackup: Backed up 89 items to autobackup.20100118-093121.zip
Opening track for playback: "C:\Users\David\Desktop\Wish You Well.mp3"
Wave cache: finished analysis of "C:\Users\David\Desktop\Wish You Well.mp3"
Audioscrobbler: Handshake successful.
foo_bpm: End of file found! Chunk sample rate is 0.
"Lifting Shadows Off a Dream"

foo_bpm

Reply #77
Attempting to detect BPM on a stream also causes foobar to crash (tried e.g. on http://demovibes.de:8000/necta192.mp3). I don't expect it to actually work of course

foo_bpm

Reply #78
THIS IS GREAT!
I Have looked for this (and as I can recall also suggested some time ago here) for Foobar for so long.
I love Foobar as it does everything I basically need to listen to music and prepare myself for DJ-ing. 
But I needed something like MusicInKey (http://www.mixedinkey.com) for BPM and Key information for harmonic mixing.  No, I am not that experienced!
Downside to M.i.K it only supports WAV and MP3 format where in my situation I prefer FLAC most: best quality/compression and supported by Ableton. 
I have not found it yet, but I do hope foo_bpm will support all formats Foobar supports...  That would really be AWESOME!!!!
At least BPM is now fixed.  I will try your tool asap when I am at home and compare it to (in DJ-ing world the professional) mixedinkey results

Guido

PS. To make it "easy" for you, most BPM calculaters have some issues in half/double results on the lower and higher BPM counts.

PS2... anybody for a treat to do the Key information in Foobar?

foo_bpm

Reply #79
thanks for the double/halve button, love it!

foo_bpm

Reply #80
Love this plugin.  Thanks for your work!

Noob question--how would I make a hotkey to autmatically analyze the bpm of the currently playing track?

Also, for manual tapping, IMO it would be nicer to have the "update tag" button automatically close the dialog after updating.

foo_bpm

Reply #81
Also, for manual tapping, IMO it would be nicer to have the "update tag" button automatically close the dialog after updating.


If you want to manually check the BPM of several tracks in one go it's nice to have the dialog stay open. Maybe an additional "Update & Close" button would work.

foo_bpm

Reply #82
Also, for manual tapping, IMO it would be nicer to have the "update tag" button automatically close the dialog after updating.


If you want to manually check the BPM of several tracks in one go it's nice to have the dialog stay open. Maybe an additional "Update & Close" button would work.


Good point.  I just started using it so my MO has been play track, autocalc bpm, and if number seems way off, manually tap, so I've been doing it one by one.

How about automatically calculate on new track and no %bpm% found!

foo_bpm

Reply #83
hi there,
i have some problem with my portable version of foobar and foo_bpm.
after copying the complete folder to my other notebook, there is a error coming: "side-by-side configuration..." foo_bpm could not be loaded.

any help on this?

thank you very much!


foo_bpm

Reply #84
I suspect the other notebook has a different visual studio runtime than the one you copied it from, or some other similar dependency. I'll recompile foo_bpm to statically link to the necessary components and see if that fixes things.

In the mean time, you could try deleting the foo_bpm config from the configuration folder under foobar2000, though I don't know if that would make a difference.

foo_bpm

Reply #85
I suspect the other notebook has a different visual studio runtime than the one you copied it from, or some other similar dependency. I'll recompile foo_bpm to statically link to the necessary components and see if that fixes things.


great! i tried several things: my original OS is xp professional, the "clone" works on a other xp home and on windows 2009 server, but not on vista. next days i can try windows 7.


In the mean time, you could try deleting the foo_bpm config from the configuration folder under foobar2000, though I don't know if that would make a difference.


if i just delete the two dll and install new, the problem still exist. "deleting the foo_bpm config from the configuration folder" how?

thank you very much!!!

foo_bpm

Reply #86
OK, I've recompiled it as a statically linked dll. Please download it and let me know how it goes - download here

If you're using foobar2000 1.0, you can go into the foobar2000/configuration folder and delete foo_bpm.dll.cfg

foo_bpm

Reply #87
OK, I've recompiled it as a statically linked dll. Please download it and let me know how it goes - download here

it goes super well!
thank you very much for this quick help. absolutely perfect!


Quote
If you're using foobar2000 1.0, you can go into the foobar2000/configuration folder and delete foo_bpm.dll.cfg

ahhh.. of course.

foo_bpm

Reply #88
it goes super well!
thank you very much for this quick help. absolutely perfect!

Cool, good to know it works now  I'll be sure to statically link any future updates so no-one else runs into the problem down the track.

foo_bpm

Reply #89
It would be nice to be able to load presets, so configurations for different types of music can be shared easily. Is this possible?

foo_bpm

Reply #90
It's definitely planned for a future version. The presets will also be (optionally) automatically applied to a song based on the GENRE tag.

I haven't touched foo_bpm for a while as I've been busy on a new component, but will continue work on it soon.

foo_bpm

Reply #91
Have you considered making a component to scan for key? That would be truly awesome together with this!
Can't wait for a HD-AAC encoder :P

foo_bpm

Reply #92
Estimating the key wouldn't be too much of a stretch from how foo_bpm already works, so I'll certainly consider it. Once the major kinks have been worked out of foo_component_manager, I want to return to foo_bpm and continue improving and adding to it, so I'll look into key estimation then.

foo_bpm

Reply #93
 I'm speechless! Thanks for your work, it's highly appreciated!
Can't wait for a HD-AAC encoder :P

foo_bpm

Reply #94
I have a suggestion regarding the layout of the confirmation dialog.

[span style='color:#000000;background:#000000']

PS. I registered here about 10 mins ago just so I could make this post. That's how awesome foo_bpm is

PPS. Paint ftw

foo_bpm

Reply #95
I do also love this component.
Please consider these requests:
1) Ability to store results into the library or along with the file statistics. Imagine I don't want to get my files overwritten.
2) Ability to use the tab key to navigate in the results and manual scan dialogs.

foo_bpm

Reply #96
Thanks for the feedback guys  It's great to know you enjoy the component. I'll make a note of your requests for future updates.

foo_bpm

Reply #97
Thank you!!! Very nice!!!!

Now all that's needed is a foo_key to mimic what Mixed In Key does.

foo_bpm

Reply #98
Here's my small suggestion:
Option to auto-write tags as you go, say after every 10 or something... Why? Because I tried to run it on about 2000 tracks and it had an error somewhere, and all was lost.

foo_bpm

Reply #99
Could you explain what these settings do a bit?

One result was too low (95 rather than 144):
Setting FTT Size to the lowest value got the right result.

Other was too high (160 rather than 120):
Setting FTT Size to the highest value got it right (but takes a long time!).
BUT, changing the rounding to nearest .1 gave 119.8... seems a problem with the rounding or algorithm somewhere. It should round at the very end no?

Maybe the surest way is to calculate it with lowest and highest for all tracks, then check discrepancies for which one is right?

I'm curious what the other FFT Modes are, or if changing Slide will have some noticeable effect.

>> All tracks you selected already have BPM... this is a useless warning, better to ask if SOME tracks have BPM whether to overwrite or not (or make it/warning a setting).