Building vgmstream Binary for Ubuntu by jpyper at 12:13 AM EDT on May 23, 2010
I am in the process of writing a BASH script that will convert various native game music formats to MP3 so I can boom them on my car stereo that's got a 800W amp and 2 12" subs. Right now I am using the Windows test.exe (which I've renamed to vgmstream.exe) with WINE, but at times WINE throws lots of :fixme: output to the terminal at times. I can suppress this output, but I'd also be suppressing the text information presented by vgmstream.exe as well.
My question is, is there a way to compile this tool into a Linux native i386 or amd64 binary? If so, how? I'd really like to do this on my system and automate it somehow.
Here is the comments from the top of my BASH script that explains why I'm writing this script.
#!/bin/bash # Yeah, it's a GNU BASH script!
# [ABOUT] # vgmc - Video Game Music Converter # by John Pyper # web: http://john-os.blogspot.com/ # twitter: http://twitter.com/jpyper
# [WHY?] # I am a music fanatic. I like all sorts of music from all sorts of # genres. Video game music happens to be one of my favorites. It brings # back memories. Not only that, but video game music had a purpose. In # most games, it actually helped the game not suck. In some games, the # music is the sole purpose of the game. One of the best things is to be # driving down the street and thumping the music from that game where the # guy has a whip and has to kill Dracula, or the one with the blue # hedgehog that runs really fast. You get my point. It makes people look # at you. They think you are weird. I am weird. I enjoy what would be # deemed as classic computer/console music.
# [COMMENTS] # This script was written on Ubuntu Linux 10.04. I wrote this script to # learn more about BASH scripting and making some useful utilities work # together to create an end product that was usable and enjoyable.
# [LICENSE] # What license? Who needs a license? This script is under no license and # has been donated to the public domain. Do what you want with this.
Here's the scripts I use for this stuff, I convert to ogg but you can substitute lame for oggenc if you like: dir2ogg and zip2ogg
It should be easy to build in Ubuntu, just run make from the test directory, and it will build the native executable. You'll need the dev package for libmpg123 and libvorbis unless you want to disable those.
What is the latest source released? I only found r659 on SourceForge.
I feel kind of stupid for not having the libmpg123-dev and libvorbis-dev packages installed. Got those installed and popped into the ./test/ dir and ran make, it built a beautiful amd64 binary on my tower of power.
I will run some tests and use it in my super alpha script and get back to you on my findings.
Do you mind if I make a .deb package for this on Launchpad.net for Ubuntu? I can support Ubuntu 9.04 (i386), 9.10 (i386 & amd64) and 10.04 (i386 & amd64) - since I have those versions installed on computers in my dungeon of dwelling... :)
Launchpad has a pretty neat build farm as well, from what I hear.
Feel free to post it wherever, but I wouldn't count on it not breaking (as it occasionally does).
I personally just use vgmstream and audacious most of the time. By the way, if you can get the audacious plugin to build for audacious 2.x (as in newer Ubuntus) you'll make a lot of folks happy. For 1.x it's:
./bootstrap && ./configure && make -f Makefile.unix && sudo make -f Makefile.unix install
Doesn't really add anything to the current conversation, but in case this thread attracts any generally curious linux users, just thought I'd point out that running foobar+in_vgmstream in WINE has worked flawlessly for me both playing and converting streams. <3 jw
I guess I can pull updates to source nightly and create my own packages locally, if vgmstream isn't broken, and upload them to Launchpad. Of course I will tar up the source from svn and link to your website for all credit dues.
I haven't tried to build the Audacious plugin since I don't use Audacious. I'm a very simple person that uses Totem for most things and command line utils and scripts to simplify repetitive tasks, like the one below. =)
I pull and build cvs/svn/git/hg/bzr sources for most of my utils nightly and keep the binaries in ~/bin, which is in my ~/.bashrc's $PATH. Makes life easy for bleeding edge tools.
Still getting this error, even when trying to build the Linux binary on my laptop running Ubuntu 9.10 i386. It builds just fine on my Tower of Power running Ubuntu 10.04 amd64.
I'm wondering what the solution to the mpg123.h error might be. Any ideas?
Go ahead and remove the reference to ps2_xau.c from src/Makefile, and the reference to init_vgmstream_ps2_xau in src/vgmstream.c. I've been trying to get the developer to commit that file but we keeep missing each other or I keep forgetting. There isn't a specific thread for svn, no, most development discussion is on IRC, #console_stream on irc.foreverchat.net.