Bugzilla – Bug 9997
Add updated sox with FLAC support to pre-built tools
Last modified: 2009-09-08 09:15:27 UTC
Get up-to-date sox version and build for all platforms, including the optional FLAC support. Include in platform-specific Bin directories.
Alan, do you need this for 7.3?
No, it is just an enhancement. Noting is less capable or more broken in 7.3 than it was before without it.
This is important to do proper 96/88.2 downsampling back to FLAC instead of using MP3.
I'm partly done with this ... I have checked in a script that build flac, libogg and then sox. I havn't figured out how to build sox in a static binary yet though. Why are we doing this ... by the way? We already require the sox package be installed for our RPM and our DEB packages. We could easily have the SC installer for OSX and Windows deal with getting and/or telling the user to get SOX -- or even put it in the settings menu as a "you should get SOX to do x y and z" type thing. Just curious if there's a really compelling reason to start packaging our own version of SOX...
FYI, ubuntu hardy (8.04) repos install sox v14.0.0 which seems to support flac already. I added the flac flac transcode line in convert.conf, and it seems to work for me, although the SB3 song info display reports the sampling rate at 48KHz and says it's being transcoded to 320KB/s.
I wonder why we require the sox package for rpm and deb, since we deliver our own built version in Bin (I'm assuming that we include our own built version in the package). The Fedora-9-supplied version (14.0.1) is not built with flac support. Windows support is also required.
Here are the config options for SOX right now: Debugging build................... no External module support........... no ALSA driver....................... no libao driver...................... no OSS driver........................ yes SUN audio driver.................. no CoreAudio driver.................. no symlinks enabled.................. yes play and rec symlinks............. yes libgsm............................ in-tree liblpc10.......................... in-tree libsndfile formats................ no Ogg Vorbis format................. yes FLAC format....................... yes ffmpeg formats.................... no magic library..................... no MAD MP3 reader.................... no id3tag library.................... no LAME MP3 writer................... no AMR-WB format..................... no AMR-NB format..................... no WavPack format.................... no LADSPA effects.................... no PNG support....................... no Secret Rabbit Code resampling..... no pkg-config location............... $(libdir)/pkgconfig Other than getting it to compile statically, am I missing anything?
Please add MAD and WavPack too.
Preliminary build done ... here are the output files: [root@centos-build sox]# !find find sox-build-24005/ sox-build-24005/ sox-build-24005/lib sox-build-24005/lib/sox sox-build-24005/lib/libsox.so.1.0.0 sox-build-24005/lib/libsox.la sox-build-24005/lib/libsox.so.1 sox-build-24005/lib/pkgconfig sox-build-24005/lib/pkgconfig/sox.pc sox-build-24005/lib/libsox.a sox-build-24005/lib/libsox.so sox-build-24005/share sox-build-24005/share/man sox-build-24005/share/man/man7 sox-build-24005/share/man/man7/soxformat.7 sox-build-24005/share/man/man7/soxeffect.7 sox-build-24005/share/man/man3 sox-build-24005/share/man/man3/libsox.3 sox-build-24005/share/man/man1 sox-build-24005/share/man/man1/play.1 sox-build-24005/share/man/man1/sox.1 sox-build-24005/share/man/man1/rec.1 sox-build-24005/share/man/man1/soxi.1 sox-build-24005/include sox-build-24005/include/sox.h sox-build-24005/include/soxstdint.h sox-build-24005/bin sox-build-24005/bin/sox sox-build-24005/bin/soxi sox-build-24005/bin/rec sox-build-24005/bin/play Looks like it builds both the static and dynamic libraries by default... at least, it seems that way. Here are the config options for SOX: Debugging build................... no External module support........... no ALSA driver....................... no libao driver...................... no OSS driver........................ yes SUN audio driver.................. no CoreAudio driver.................. no symlinks enabled.................. yes play and rec symlinks............. yes libgsm............................ in-tree liblpc10.......................... in-tree libsndfile formats................ no Ogg Vorbis format................. yes FLAC format....................... yes ffmpeg formats.................... no magic library..................... no MAD MP3 reader.................... yes id3tag library.................... no LAME MP3 writer................... no AMR-WB format..................... no AMR-NB format..................... no WavPack format.................... yes LADSPA effects.................... no PNG support....................... no Secret Rabbit Code resampling..... no pkg-config location............... $(libdir)/pkgconfig Initial code checked in under change 24195. I'll add this package to Parabuild to run on Mac, 32bit Linux and 64bit Linux.
For some reason when I ran this through parabuild it didnt get built statically at all. Not sure why, looking into it...
I've taken a first stab at this ... but I'm just not getting very far. The code compiles in Linux, but does not in OSX. It is building right now, but its not creating a static binary -- and I honestly cannot figure out how to do it. Alan, I'm assigning this back to you to try to work out some of these details. I'm stuck... The code is here: http://svn.slimdevices.com/vendor/src/sox/
Matt, I don't have a Mac so cannot look at the OSX problem. What is the status of the Windows build?
I have not had any time to look at the Windows build. Andy suggested we may just use the publicly available binary for Windows so that we can avoid building it ourselves.
The sox in the debian build repos didn't seem to have changed either - as of: Version: 7.3.1 - 24288 @ Fri Dec 12 03:16:19 PST 2008 OS: Debian - EN - utf8 Platform: x86_64-linux Perl Version: 5.8.8 - x86_64-linux-gnu-thread-multi MySQL Version: 5.0.51a-3ubuntu5.4
Linux build script appears to be working. Mac build script may need some more work, but it could just be my system. Weirdness around where it's looking for libogg... Let me know how they do on the build servers.
Change 24382. Alan: all yours.
Note that the win32 binary does not include mp3 decoding support, so we should not use that for anything. I am not sure we have any need for this anyway.
Change 24410 updates config.conf Please test on all platforms including: mov->mp3, ogg->flac, ogg->mp3, flac->flac. Include downsampling of 96k/88k2 FLAC and FLAC with CUE files. You could also test downsampling of Ogg files if you can get/make some high sample-rate ones. Check that scanning (seeking) works for all these FLAC and Ogg source modes.
*** Bug 10652 has been marked as a duplicate of this bug. ***
Fixed - Closed Message (SC) This bug has been fixed in the 7.3.3 release version of SqueezeCenter! Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already. If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Correction: SqueezeCenter version is 7.3.2
Reduce number of active targets for SC