Help - Search - Members - Calendar
Full Version: VorbisGain for Linux?
Hydrogenaudio Forums > Lossy Audio Compression > Ogg Vorbis > Ogg Vorbis - General
cmokruhl
With the uncertainty surrounding MPC right now, I've started to play around a bit with OGG. I can't seem to locate a copy of VorbisGain for Linux. The source doesn't seem to be in CVS (at least not in the nightly CVS drops) and I can't find an up-to-date binary by searching this board. Any suggestions?
Annuka
http://sjeng.sourceforge.net/ftp/vorbis/
cmokruhl
Thanks... Unfortunately, VorbisGain-0.20.tar.gz won't compile for me:

gcc -O2 -g --fast-math -Wall -c -o replaygain.o replaygain.c
replaygain.c: In function `get_gain':
replaygain.c:337: warning: passing arg 3 of `ov_read_float' makes integer from pointer without a cast
replaygain.c:337: too few arguments to function `ov_read_float'
make: *** [replaygain.o] Error 1

Am I doing anything wrong? Is this the right package I should be compiling?
Annuka
Hmmmm... Actually I can't compile it either on my server running RH7.3.
But it did compile on my old 7.2 installation...
I just copied the binary...

http://www.phazer.dk/vorbisgain.zip
cmokruhl
Aargh... Binary doesn't work either:

craig@miata> ./vorbis/vorbisgain satch.ogg
Analyzing files...

Gain | Peak | Scale | New Peak | Track
---------------------------------------------
./vorbis/vorbisgain: relocation error: ./vorbis/vorbisgain: undefined symbol: ov_read_float
Annuka
I am no expert and I hate compiling stuff.

My error message (see below) is somewhat different, but the binary works.
You could try to install the RedHat RPMS -- works for me.

gcc -lm -lvorbis -lvorbisfile -o vorbisgain misc.o vorbisgain.o vcedit.o gain_analysis.o
/usr/bin/ld: cannot find -lvorbis
collect2: ld returned 1 exit status
make: *** [vorbisgain] Error 1
Lear
QUOTE
Originally posted by cmokruhl
Thanks...  Unfortunately, VorbisGain-0.20.tar.gz won't compile for me:

gcc -O2 -g --fast-math -Wall -c -o replaygain.o replaygain.c
replaygain.c: In function `get_gain':
replaygain.c:337: warning: passing arg 3 of `ov_read_float' makes integer from pointer without a cast
replaygain.c:337: too few arguments to function `ov_read_float'
make: *** [replaygain.o] Error 1

Am I doing anything wrong?  Is this the right package I should be compiling?


CVS has been updated since RC3. Remove (or comment) the following line in ReplayGain.c (should be line 87):

CODE
#define RC3_READ_FLOAT_BUG


It should compile fine then. (Btw, autoconf stuff is in the works, which will handle this automatically.)
john33
@cmokruhl

lines 23 & 24 of vorbis.c are:
/* libvorbisfile RC3 ov_read_float has a buggy calling sequence */
#define RC3_READ_FLOAT_BUG

This is now out of date The read_float bug is now fixed so the #define should be commented out so:

//#define RC3_READ_FLOAT_BUG

That will eliminate the error you have and allow it to compile.

BTW, this relates to version 0.3. If you are using version 0.2, then that code is in replaygain.c.

Hope that helps.smile.gif

Edit: Oops!! Lear got this in first!!
cmokruhl
The fun continues... With both #defines commented out (there are two in replaygain.c), I get this new error. Let me ask again: is http://sjeng.sourceforge.net/ftp/vorbis/Vo...ain-0.20.tar.gz the right source code?

craig@miata> make
gcc -O2 -g --fast-math -Wall -c -o replaygain.o replaygain.c
gcc -O2 -g --fast-math -Wall -c -o vcedit.o vcedit.c
gcc -O2 -g --fast-math -Wall -c -o gain_analysis.o gain_analysis.c
gain_analysis.c:134: warning: ignoring pragma:
gain_analysis.c:184: warning: ignoring pragma:
gcc -O2 -g --fast-math -Wall -c -o misc.o misc.c
gcc -lm -lvorbis -lvorbisfile -o vorbisgain replaygain.o vcedit.o gain_analysis.o misc.o
replaygain.o: In function `get_gain':
/tmp/vorbis/replaygain/replaygain.c:339: undefined reference to `ov_read_float'
collect2: ld returned 1 exit status
make: *** [vorbisgain] Error 1
Lear
QUOTE
Originally posted by john33

Edit: Oops!! Lear got this in first!!


biggrin.gif

QUOTE


My compiles are available at: http://www.inf.ufpr.br/~rja00/


But the source isn't... (It used to be, IIRC.)
Lear
QUOTE
Originally posted by cmokruhl
The fun continues...  With both #defines commented out (there are two in replaygain.c), I get this new error.  Let me ask again: is http://sjeng.sourceforge.net/ftp/vorbis/Vo...ain-0.20.tar.gz the right source code?

craig@miata> make 
gcc -O2 -g --fast-math -Wall -c -o replaygain.o replaygain.c
gcc -O2 -g --fast-math -Wall -c -o vcedit.o vcedit.c
gcc -O2 -g --fast-math -Wall -c -o gain_analysis.o gain_analysis.c
gain_analysis.c:134: warning: ignoring pragma: 
gain_analysis.c:184: warning: ignoring pragma: 
gcc -O2 -g --fast-math -Wall -c -o misc.o misc.c
gcc -lm -lvorbis -lvorbisfile -o vorbisgain replaygain.o vcedit.o gain_analysis.o misc.o 
replaygain.o: In function `get_gain':
/tmp/vorbis/replaygain/replaygain.c:339: undefined reference to `ov_read_float'
collect2: ld returned 1 exit status
make: *** [vorbisgain] Error 1


Seems like you have an old version of libvorbis around somewhere. Make sure you link with RC3 (you seem to have the right headers installed though). Earlier versions of libvorbis might work; I don't know exactly when ov_read_float was added.

Otherwise it should work. Not that you're using the very latest version of VorbisGain, but newer versions haven't been made generally available yet (partially because it uses a new tag format, and the XMMS patch at http://sjeng.sourceforge.net/ftp/vorbis/ doesn't support that yet).
cmokruhl
QUOTE
Originally posted by Lear

Seems like you have an old version of libvorbis around somewhere.


Thanks... RedHat had RC2 libraries in /usr/lib and the new pre-RC4 ones I installed were in /usr/local/lib. Cleaned it up, reran ldconfig, and it works now.
john33
Lear wrote:
QUOTE

But the source isn't... (It used to be, IIRC.)


Quite true!! I'll correct that situation in the next 24 hours.wink.gif
rjamorim
VorbisGain sources are now available inside dailyvorbis.zip package.

Regards;

Roberto.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.