flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > uFMOD - XM player library

Goto page 1, 2, 3, 4, 5  Next
Author
Thread Post new topic Reply to topic
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 11 Jul 2006, 23:17
uFMOD is a tiny XM player library written in assembly language. It's perfect for size- and speed-critical applications, such as demos and intros. It's click free, highly reliable, easy to use, multiplatform, open source.

OS: Win32, Linux, Unix/BSD, KolibriOS
Drivers: WINMM, DirectSound, OpenAL, OSS, ALSA, Infinity Sound

Enjoy!

Download: http://ufmod.sf.net


Description: uFMOD v1.25 for Win32 light: only tools, FASM sources and examples. No documentation, no support for other compilers, etc.
Download
Filename: ufmod-1.25-win32-light.7z
Filesize: 56.81 KB
Downloaded: 1074 Time(s)



Last edited by Quantum on 19 Jul 2007, 19:34; edited 5 times in total
Post 11 Jul 2006, 23:17
View user's profile Send private message Reply with quote
peter



Joined: 09 May 2006
Posts: 63
peter 12 Jul 2006, 08:24
Cool changes, but what about turning off looping?

Now the music is always looped, and I found no way to turn this off. It would be nice if you could pass some flag to uFMOD_PlaySong to turn on and off looping (such as SND_LOOP flag in PlaySound from Win32 API).
Post 12 Jul 2006, 08:24
View user's profile Send private message Visit poster's website Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 12 Jul 2006, 17:19
2 peter:
Nice idea, but not so easy to implement due to XM specific issues. There are many XM's using looping to implement fadeout, so turning that off whould probably cause a click. Some others use pattern jumps to fool non-looping players and it's hard to know if such a jump is just a short replay or a loop. That's why a 100% reliable solution is not so easy to code... BTW, you can emulate no-looping in most tracks adding an empty (silence) pattern at the end of the secuence (i.e. use Modplug Tracker or a similar tool to edit XMs) and set restart value to that empty pattern. Won't work on thouse tricky XMs mentioned earlier.

And there's another problem. What to do when a non-looping XM finishes? Fire an event, notify a callback, just stop and wait...

Anyway, i'll add this to our TODO list.
Post 12 Jul 2006, 17:19
View user's profile Send private message Reply with quote
dreamhack



Joined: 02 Jul 2006
Posts: 14
dreamhack 12 Jul 2006, 21:56
@quantum:
adpcm compressed extended modules are not supported as far as i know,
that is bad Wink
hope you would add that to your todo list...


Last edited by dreamhack on 15 Jul 2006, 12:46; edited 1 time in total
Post 12 Jul 2006, 21:56
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 12 Jul 2006, 22:34
2 dreamhack:
Never seen one. Could you, please, post a reference to such an XM or email me an example?
Post 12 Jul 2006, 22:34
View user's profile Send private message Reply with quote
dreamhack



Joined: 02 Jul 2006
Posts: 14
dreamhack 13 Jul 2006, 21:38
@quantum:
adpcm compressed extended modules are supported by many players like:
bassmod, winamp, modplug player has adpcm packer
example:
original.xm => 237kb (0 samples adpcm-packed)
packed.xm => 150kb (12 samples adpcm-packed)
Post 13 Jul 2006, 21:38
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 13 Jul 2006, 21:54
2 dreamhack:
Yeah, I know what it is and there are about 10 adpcm formats, MS and IMA being the most popular ones used in WAV files. But I never seen an XM file compressed whith ADPCM. It's not even mentioned in the specs. Where can I get that adpcm packer or a similar tool from?
Post 13 Jul 2006, 21:54
View user's profile Send private message Reply with quote
dreamhack



Joined: 02 Jul 2006
Posts: 14
dreamhack 13 Jul 2006, 22:03
@quantum:
modplug player
www.modplug.com
Post 13 Jul 2006, 22:03
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 14 Jul 2006, 02:15
OK, thanks
Post 14 Jul 2006, 02:15
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 14 Jul 2006, 17:15
Well, added support for ADPCM and started to test it. Sound quality is acceptable when compression level is quite low. When it get's higher, heavy filtering is required to rebuild the original samples and that defeats the main point of using XM or any other MOD-based file format. If you zip the XM, you'll get a much smaller file without loosing sound quality. So, I don't like this ADPCM feature, but going to introduce it for compatibility.
Post 14 Jul 2006, 17:15
View user's profile Send private message Reply with quote
dreamhack



Joined: 02 Jul 2006
Posts: 14
dreamhack 15 Jul 2006, 23:40
@quantum:
and when new ufmod with adpcm support will be introduced ?


Last edited by dreamhack on 16 Jul 2006, 22:01; edited 1 time in total
Post 15 Jul 2006, 23:40
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 16 Jul 2006, 01:33
2 dreamhack:
Officially, not soon, because we need more features to complete for a new release. If you can't or don't want to wait, I'll email you a prerelease package.
Post 16 Jul 2006, 01:33
View user's profile Send private message Reply with quote
dreamhack



Joined: 02 Jul 2006
Posts: 14
dreamhack 16 Jul 2006, 22:04
@quantum:
that is ok, i will wait for the next realease
thanks
Post 16 Jul 2006, 22:04
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 23 Jul 2006, 15:54
v1.18 released


Last edited by Quantum on 08 Jun 2007, 14:57; edited 1 time in total
Post 23 Jul 2006, 15:54
View user's profile Send private message Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak 23 Jul 2006, 16:03
Is it basically an API to use C++'s fmod api or is this something completely different?
Post 23 Jul 2006, 16:03
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 23 Jul 2006, 16:13
kohlrak wrote:
Is it basically an API to use C++'s fmod api or is this something completely different?

It's different in many aspects. First of all, it plays only XM files, while FMOD supports many other audio file formats as well. Second, XM support in uFMOD is far more complete and reliable than FMOD's. So, if you need an XM player, better use uFMOD. Third (and the most important), uFMOD is extremely small and fast, because it's 100% written and optimized in assembly. That's why it's perfect for intros and demos. Game developers could find it useful for BGM too. BTW, FMOD is commercial software, while uFMOD is completely free and open source.
Post 23 Jul 2006, 16:13
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 26 Jul 2006, 05:26
(quoting http://www.fmod.org): "Yes that's right, if your product is not intended to make any money, and is not charged for in any way, then you may use FMOD in it for FREE!"

But, of course, uFMOD is better at everything it attempts, no doubt. Very Happy

Quantum wrote:
FMOD is commercial software, while uFMOD is completely free and open source.
Post 26 Jul 2006, 05:26
View user's profile Send private message Visit poster's website Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 26 Jul 2006, 16:41
rugxulo wrote:
"Yes that's right, if your product is not intended to make any money, and is not charged for in any way, then you may use FMOD in it for FREE!"

That reminds me about MySQL and Qt Smile Yes, it's free for non-profit titles, but still commercial. I guess it's not correct to discuss FMOD licensing here since Firelight guys probably ain't reading this board.
Post 26 Jul 2006, 16:41
View user's profile Send private message Reply with quote
Quantum



Joined: 24 Jun 2005
Posts: 122
Quantum 08 Aug 2006, 01:50
uFMOD 1.19 for Win32 available for download.


Last edited by Quantum on 08 Jun 2007, 14:58; edited 1 time in total
Post 08 Aug 2006, 01:50
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 08 Aug 2006, 07:15
Quantum: I suggest to write what is uFMOD in beginning of first post Wink
Post 08 Aug 2006, 07:15
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3, 4, 5  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.