soundtouch 1.5.0 upgrade

Bug #562007 reported by KWhat
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
Sean M. Pappalardo
1.10
Fix Released
Wishlist
Sean M. Pappalardo
1.9
Won't Fix
Wishlist
Unassigned

Bug Description

looks like sound touch 1.5.0 incorporated in the 1.4.1 patched coded included in mixxx.

I have attached a build patch I adapted from the Debian branch to use the external library. This also includes a small patch to remove invalid qt linker paths. You may wish to remove these.

Revision history for this message
KWhat (alex.barker) wrote :
Changed in mixxx:
milestone: none → 1.9.0
status: New → Confirmed
importance: Undecided → Wishlist
assignee: nobody → RJ Ryan (rryan)
Revision history for this message
KWhat (alex.barker) wrote :

current sed patch for externalizing.

        # patch external libsoundtouch (should be a patch file)
        #sed -i -e '/^#SoundTouch\$/,/^#KissFFT\$/c\#SoundTouch\nsources += Split(\"\"\"engine/enginebufferscalest.cpp\"\"\")\nenv.Append(CPPPATH = [ ARGUMENTS.get('prefix', '/usr/local') + '/include/soundtouch' ])\nenv.Append(LIBS = 'SoundTouch')\n\n#KissFFT" \
        sed -i -e "/#SoundTouch/,/#KissFFT/c\
#SoundTouch\n\
sources += Split(\"\"\"engine/enginebufferscalest.cpp\"\"\")\n\
env.Append(CPPPATH = [ ARGUMENTS.get('prefix', '/usr/local') + '/include/soundtouch' ])\n\
env.Append(LIBS = 'SoundTouch')\n\
\n\
#KissFFT" \
                        src/SConscript.env || die "sed libsoundtouch failed"

        sed -i -e "/# SoundTouch Optimizations/,/#Debugging output/c\#Debugging output" \
                src/SConscript.env || die "sed libsoundtouch failed"

Revision history for this message
KWhat (alex.barker) wrote :

updated patch file, Trunk please ;)

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Hey KWhat,

Thanks for the patch. The version of soundtouch in Ubuntu is 1.3.1 still, and will be for 10.10. Also, we would then have to build SoundTouch for our OSX and Windows packages, so there is more work to be done for getting a patch that would remove SoundTouch from our source tree ready.

I do think we should upgrade the version of SoundTouch in Mixxx to 1.4.1 now that the 1.8.0 release is basically over.

Regards,
RJ

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

I quickly tested ST v1.5.0 in the 1.7 Mixxx branch a long time ago and ran into no issues on Windows. Building a new version for Windows is not a problem. As for Ubuntu, can't we add it to our PPA?

So I'm in favor of doing this in Trunk in time for 1.9.0 as well.

Revision history for this message
KWhat (alex.barker) wrote :

I have attached a new approach for getting libsoundtouch playing nicely across platforms. Basically it adds an option to externalize it which should address some of the problems with ubuntu and other platforms where a more recent version of soundtouch is not available. I have tested this on linux and it appears to work in both cases.

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

RJ: if we'd continue to use our own version anyway, why not go with the latest, 1.5.0?

RJ Skerry-Ryan (rryan)
Changed in mixxx:
assignee: RJ Ryan (rryan) → nobody
milestone: 1.9.0 → none
Revision history for this message
Alessio Treglia (quadrispro) wrote :

Hi,

soundtouch 1.5.0 has joined Debian experimental, so please provide us a clean way to avoid building against the local copy of the library.

Thanks in advance.

Revision history for this message
KWhat (alex.barker) wrote :

Hi Alessio,

Take a look at the gentoo bug report ( http://bugs.gentoo.org/show_bug.cgi?id=310821 ). The libsoundtouch patches are all up to date (1.9.0 beta 1).

Hope that helps.

Revision history for this message
KWhat (alex.barker) wrote :

I have updated the internal version of sound touch to 1.5.0 in my branch and built successfully. Everything appears to be working fine, more testing is needed. The 1.5.0 external lib has been rock solid for me for the last 4 months and I dont expect the internal to cause any issues. It should be noted that there are some changes to the way optimization is done in the scons script. There is no point in using mmx, sse and 3dnow together. The code will only build with one in the order I listed them in. Because SSE is faster and because you optimize for it at every level > 1 I have added only that version. Apparently this lib can also do int samples... I don't know if that is something that maybe beneficial to mixxx so its disabled in favor of float samples. If int samples are desired, please change #define FLOAT_SAMPLES 1 to 0 and build mmx_optimized.cpp instead of the current sse_optimized.cpp. Additional tweaking maybe required.

On a separate note, fidlib-0.9.9 could also use and update to 0.9.10.

Changed in mixxx:
status: Confirmed → Fix Committed
assignee: nobody → Sean M. Pappalardo (pegasus-renegadetech)
RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/5381

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.