Hey guys,

I'm also of the opinion that there are at least a few subtle memory 
corruption problems at work in Mixxx that are causing some of our 
heisenbugs. I've always felt like there was a buffer overflow somewhere 
in our BPM code. Since I rewrote the bpmanalyser to work with our 
AnalyserQueue, I had pretty high confidence that it was ok (after Nick 
found an embarrassing stack overflow I added =) ) . Today I was talking 
with Sean on IRC about how we need to take a close look at 
bpmdetect.cpp, because that's the SoundTouch code, because I think 
there's a buffer overflow in it. Math` on IRC, did the very sane and 
reasonable thing of looking at the latest updates to SoundTouch, since 
our fork of it was last updated by Olli in 2006:

http://soundtouch.svn.sourceforge.net/viewvc/soundtouch/trunk/source/SoundTouch/BPMDetect.cpp?revision=61&view=markup
"Fixed buffer overflow bug in BPMDetect.cpp & changed version to 1.4.1"

Right... :)  So we should update our fork of bpmdetect.cpp and see if 
that helps these guys out. The only difference I can see in our fork 
(The version that Micah is the author of) is that it allows for 
configurable minimum and maximum BPM, and auto-correction of BPMs that 
are outside of the valid range.

Also, looking at the diff between ours and his, it appears that there 
are some casts to float that were changed to double. It's possible that 
Olli discovered some round-off errors, which might mean we will get some 
higher-accuracy BPMs as well.

Cheers,
RJ

Adam Davison wrote:
> Hi,
>
> Since me and Albert are both of the opinion that there's probably a
> least a few bits of memory corruption going on in Mixxx at the moment,
> I thought I'd point out this forum post which implies it may be
> correlated with failed bpm detection:
>
> http://www.mixxx.org/forums/viewtopic.php?f=3&t=526
>
> Adam
>
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> _______________________________________________
> Mixxx-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mixxx-devel
>   


------------------------------------------------------------------------------
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to