You are not logged in.

#1 2008-05-14 01:03:02

dav7
Member
From: Australia
Registered: 2008-02-08
Posts: 674

Anyone feeling philanthropic? I don't know C yet -NEED- an app...

The long story (scroll down to the marked "short story" if you consider this TLDR)

Hi...

Some time ago, I completed the switch and moved the last winfailure box in this house - my music box - to Arch Linux. On this machine was an application called XMPlay, which I'd found after Googling for "MO3" one day, as  I'd recieved some music files in this format and wanted to play them outside of the game environment they'd come within.

So, some time period after getting this player I suddenly found myself playing the other formats it supported, including MOD, IT, XM, S3M and so on (I have no idea when). What are these formats? Well, back in the early and late nineties computers didn't have the capabilities they do today and so uncompressing and playing an MP3 all at once would be slightly just too much, especially when interpolated with graphics. So, this "tracking" or "module" format was invented; it's very similar to MIDI in its delivery except instead of the files simply containing instructions to play set sounds for set amounts of time at set frequencies, they did all that AND had the sounds ("samples") inside of them. MO3 is also like these formats except it's a little more modern, using MP3 samples instead of raw, uncompressed PCM data.

So all in all these are pretty nice formats... but how does this relate to this post?

XMPlay, Linux and the 450MHz P3 that has the spare ISA slot I plug my SB16 in have never really gotten along together. Well, Linux and the P3 got along just fine, with OSS finding my SB16 before I could say "er now how do I get sound working?" tongue but the P3 and WINE have never really gotten along well. At all. And I am now at my wits end because not only does this player use 100% CPU the whole time it's playing ANYTHING, I have encountered my limit's worth of modules chopping up because there is so much sample and instruction data going to the player at once that the overhead of WINE is rendering my poor P3 uncapable of handling the torrent of data.

So... how does this actually relate to you?!

Un4seen Developments, the group that created XMPlay, also ported the library that XMPlay is based upon - BASS - to Linux and OS X. But they never wrote a player. Now, I am so beating myself up (well not really but I sure am not happy about it) that I don't know C, because I really, really want to be able to use BASS without the stupid overhead of WINE, yet the most I would probably do if relegated to C myself would be write some sort of hack that I'd need to recompile whenever I wanted to change tracks. I am just that impossible with C, yeah.

Now, if you know about modules and tracking, you're probably saying at this point "but Linux does have players available...!" Well, I've tried them. And hated them - not because they use a GUI or CLI or don't, but because of the sound. BASS allows you to set the interpolation, sync, reverb... and it has an equalizer and a "surround sound" mode. I used XMPlay for probably 3 years and I've listened to modules for the "first time" with (mode2) surround switched on, and if I listened to those same tracks again without my surround, equalization and reverb settings, they just wouldn't sound the same.

So could you possibly help me with writing some sort of... thing... for the Linux port of BASS...?


The short story / summary
1. 450MHz P3 w/ Windows 98.
2. I install a game that has "MO3" music.
2. "How can I play these MO3s outside of the game?" -> XMPlay
3. XMPlay -> "Ooh, what are all these file formats" -> I learn about MOD, IT, XM, S3M, etc, and play some of this sort of music. (Don't ask me where I found it...)
?. Somewhere in all there I learn about the "mode2 surround" setting, love it, and permanently switch it on.
[time passes]
4. Put Linux on 450MHz P3
5. Install WINE
6. XMPlay runs sluggishly, making it impossible for some pieces of music to play without jumping. Said pieces of music coincide with those I really like.
7. Un4seen Developments, the authors of XMPlay, have released the library XMPlay is based off, but no client, and I don't know C.
8. I need a Linux version of XMPlay but... I... know... no... C. sadmad Can has help?

-dav7

Last edited by dav7 (2008-05-14 02:02:43)


Windows was made for looking at success from a distance through a wall of oversimplicity. Linux removes the wall, so you can just walk up to success and make it your own.
--
Reinventing the wheel is fun. You get to redefine pi.

Offline

#2 2008-05-14 08:07:27

gnud
Member
Registered: 2005-11-27
Posts: 182

Re: Anyone feeling philanthropic? I don't know C yet -NEED- an app...

First off, I couldn't find any info about BASS on linux -- but I didn't look very hard.
BASS is distributed under a "free for noncommercial use" license. You won't find many open source developers willing to work with that, I'd wager.

Offline

#3 2008-05-14 08:32:52

skymt
Member
Registered: 2006-11-27
Posts: 443

Re: Anyone feeling philanthropic? I don't know C yet -NEED- an app...

It doesn't seem like BASS is available for Linux. There's a modified version, BASSMOD, that only supports MOD files, but that obviously wouldn't work.

However, the same developer wrote a command-line MO3 codec, which does have a Linux port. I suggest running the decoder (unmo3) on your files to see what format they come out as.

Offline

#4 2008-05-14 09:02:45

Frem
Member
From: Longview, TX
Registered: 2005-02-27
Posts: 56
Website

Re: Anyone feeling philanthropic? I don't know C yet -NEED- an app...

Yeah, not a lot of projects support what you want. Check this list anyway: http://sound.condorow.net/mod.html

This looks somewhat promising: http://mp.waw.cx/

I'm guessing you didn't like the XMMS plugin. XMMS is nifty, but the equalizer is about as far as it goes.

Take a look at contest.c in the Linux zip from Un4seen. It's a dinky 100 line C file. There's an example on that website about how to add in MO3 support.
Now, I looked through the documentation for the BASSMOD library, and pretty much everything you want is there, page 16 of the PDF has most of it. However, it would be a pain to do a non-hardcoded quick and dirty feature addition. I'd help, but I'm personally of the opinion that if you can edit an Arch Linux config file, you can do this, *and* you can set all the stuff how you want. Compiling the thing is cake.
Edit contest.c, compile with "make".

Or, y'know. Wait for someone else to do it for you. ;-)

Offline

#5 2008-05-15 22:43:35

dav7
Member
From: Australia
Registered: 2008-02-08
Posts: 674

Re: Anyone feeling philanthropic? I don't know C yet -NEED- an app...

Thanks for your replies, everyone... Since posting my original post I've toyed with C again, and been bitten HARD by it for the Nth time, so I don't really want to think about the language tongue

I think I've figured out why I'm impossible with C: my brain requires continual feedback, aka working examples that do more than print some text or something, in order to find the motivation to continue pursuing a language. And C weighs heavily in the theory (ie no working examples just reading page after page of code) department. So I poke at C expecting the kind of output I'd get from a simpler language like PHP, see I have to learn a bazillion tiny things just to even comprehend what I'm doing, get intimidated, and run in the other direction screaming, firmly declaring that I'll never touch it again. For at least a long time. And so it continues.

I think I'll just stick to PHP and handle XMPlay's shortcomings for now. tongue

-dav7

Last edited by dav7 (2008-05-15 22:45:11)


Windows was made for looking at success from a distance through a wall of oversimplicity. Linux removes the wall, so you can just walk up to success and make it your own.
--
Reinventing the wheel is fun. You get to redefine pi.

Offline

#6 2008-05-16 08:20:40

finferflu
Forum Fellow
From: Manchester, UK
Registered: 2007-06-21
Posts: 1,899
Website

Re: Anyone feeling philanthropic? I don't know C yet -NEED- an app...

I don't know if that can help, but I'm starting learning C with a book that seems quite good:
Programming in C, by Stephen G. Kochan.


Have you Syued today?
Free music for free people! | Earthlings

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." -- A. de Saint-Exupery

Offline

#7 2008-05-17 21:59:36

noalwin
Member
From: Spain
Registered: 2007-06-08
Posts: 115

Re: Anyone feeling philanthropic? I don't know C yet -NEED- an app...

You can reencode them to mp3 or ogg with xmplay http://support.xmplay.com/article.php?id=36
They have done a xmms plugin using bass http://www.un4seen.com/download.php?bassmod-xmms
maybe you want to take a look to other xmms plugin http://modplug-xmms.sourceforge.net/#whatis

Last edited by noalwin (2008-05-17 22:08:05)

Offline

Board footer

Powered by FluxBB