Jump to content
Tuts 4 You

Chiptune_player_libraries


Ufo-Pu55y

Recommended Posts

Posted

Did anybody ever see any LIBs to be able to play back other formats than ".xm" ???

I was looking for a LIB that can play ".mod", but couldn't find one... ./

Any help on this would be great... :)

Posted

Ahhhhhh, simply PERFECT !!! :thumbsup::thumbsup: :thumbsup:

Thank you, Ted... :)

Posted

You could as well look for an app that converts mod to xm like mod2xm lol

just google for it if youre unsatisfied with bassmod ;)

Posted
...if youre unsatisfied with bassmod ;)
Thx, but know I already now, that BASSMOD is indeed perfect,

because the library is only 1,64 KB (when packed)... :worthy:

- the ufmod.lib is 5,86 KB (when packed)...

Posted
...if youre unsatisfied with bassmod ;)
Thx, but know I already now, that BASSMOD is indeed perfect,

because the library is only 1,64 KB (when packed)... :worthy:

- the ufmod.lib is 5,86 KB (when packed)...

Are you sure :P

The lib contains only the Definations....Your demo must have BASSMOD dll(34KB)

You can use FastTracker itselt to convert to xm

Posted (edited)
Are you sure :P
No... :blush: ... to be honest, I'm quite confused now... :/
The lib contains only the Definations....Your demo must have BASSMOD dll(34KB)
I didn't notice it at all, because I tested my app on two other pcs and they worked fine.

How could I know that it only worked, because they both had the

"BASSMOD.dll" in their system32/... ? :kick:

You can use FastTracker itselt to convert to xm
Anyway I gotta cancel BASSMOD, because

it hasn't got a function to retrieve the Channel_Volume_Level,

which I do need to synchronize some stuff. (I think uFMOD does it...)

Thanks for the slap, yamraaj - it was the right time... :black_eye:

So am I right that uFMOD doesn't require any own DLL to run, because it only uses

the system's DLLs like winmm.dll ???

EDIT/

Ah, everything's fine now.

With uFMOD u can choose between winmm and dx...

Edited by Ufo-Pu55y
Posted

Yes, as your edit says, uFMOD doesn?t require any extern DLL files :)

It?s also veryeasy to implement (at least in Delphi...).

greetz

Posted (edited)

Bassmod is advanced, but very bulky in my opinion.

Its packed with PETITE, so if you unpack it then use DLL2LIB then you can make your own include file and just reference them in masm/vcpp :)

The lib still comes out at ~80kb which is huuuggee.

I personally prefer mfmplayer still, ok it only plays xm's but it is very versatile, simple and small.

It also produces better quality than uFMOD which does drop a note here and there.

If you download one of my newer releases (v-mobile.network.browser.v1.3.keygen-icu.zip) and listen, you can here it make some strange noises compared to mfmplayer!

Edited by Whiterat
Posted

Do you have a link for you player WhiteRat? Would like to try it out :)

greetz

Posted

Download:

http://rapidshare.com/files/21194471/mfmplayer.rar

(This version has been modified so you can include msvcrt and still compile.)

Code:

include \masm32\include\mfmplayer.inc
includelib \masm32\lib\mfmplayer.libMusicInit PROTO.data?
nMusicSize DWORD ?
pMusic LPVOID ?.code
invoke MusicInitMusicInit proc
push esi
invoke FindResource, hInstance, 666, RT_RCDATA
push eax
invoke SizeofResource, hInstance, eax
mov nMusicSize, eax
pop eax
invoke LoadResource, hInstance, eax
invoke LockResource, eax
mov esi, eax
mov eax, nMusicSize
add eax, SIZEOF nMusicSize
invoke GlobalAlloc, GPTR, eax
mov pMusic, eax
mov ecx, nMusicSize
mov dword ptr [eax], ecx
add eax, SIZEOF nMusicSize
mov edi, eax
rep movsb
pop esi
ret
MusicInit endp

Just add the resource to RCDATA #666.

Add "Invoke MusicInit" wherever you want, I tend to place it after the call to InitCommonControls.

Posted

mfmplayer is mod of fmod 1.6, ufmod is fully rewritten and optimized fmod 1.7, and as you can see changes in 1.7 they removed clicks and pops while playing mod, and few other fixes. ufmod is now independent to fmod so you need to look in their changelog

Posted

Thanks guys, I?ll try it out :)

greetz

Posted
mfmplayer is mod of fmod 1.6, ufmod is fully rewritten and optimized fmod 1.7, and as you can see changes in 1.7 they removed clicks and pops while playing mod, and few other fixes. ufmod is now independent to fmod so you need to look in their changelog

1.21 still f*cks up when playing "In your arms"..... :(

Posted

Interesting discussion and opinions.

If I'm only playing XM in MASM then mfmplayer does a great job and no strange notes or noises while playing some XM files :)

Basmod is great for the other formats (as well as XM) in MASM, C and Delphi. Bassmod provide lib, inc files etc for MASM as well as C and Delphi. The bassmod.dll is 34k (unpacked) and can be included as a resource or bundled with the exe using PEBundle.

No one seems to mention midi files which can be played using just windows api's. The midi file itself can be a resource written to a file at load time. There is some decent midi music around too.

Z

  • 3 weeks later...
Posted (edited)

Just for the ones interested in synchronization of .XM-Rhythms to whatever:

MFMPLAYER is the perfect one ! It lets u get the pattern's position of the tune.

(uFMOD doesn't)

Just noticed it while digging in the inc and wondering what language it was.

Hardly to read, but:

mfmGetPos > EAX=Pattern > EDX=Position in Pattern

Compared to ufMOD the size went up only ~3kB (when packed with WinUPack).

I've just tested, and it works like a charm.

Thanks, Whiterat, for pushing the Init-Code... :worthy:

PS: But it doesn't load any hidden-rare-additional-huge-***-DLLs, does it ??? :unsure:

Edited by Ufo-Pu55y
  • 2 weeks later...
Posted

@Whiterat : When i add mfmplayer lib to my project and compile with Masm32, i alway get error : "Cannot open file user32.lib". Although i used as code you type above :( . How to solve my problem ?

Merc

Posted
"Cannot open file user32.lib"
Can u post some source-snippets ? Sounds like u didn't declare the correct path to the user32.lib...
Posted

sometimes the order in which you place the include's can cause issues...

Posted (edited)
@Whiterat : When i add mfmplayer lib to my project and compile with Masm32, i alway get error : "Cannot open file user32.lib". Although i used as code you type above :( . How to solve my problem ?

Merc

This thing happens when the lib file is dependent on the masm installation....Say the person who created the lib has masm installation on C: drive and you have on D: then it will issue errors.....To solve just open it in Hex editor and search for defaultlib and overwrite it with zeros

I attched the edited lib

mfmplay.rar

Edited by yamraaj
Posted (edited)
@Whiterat : When i add mfmplayer lib to my project and compile with Masm32, i alway get error : "Cannot open file user32.lib". Although i used as code you type above :( . How to solve my problem ?

Merc

This thing happens when the lib file is dependent on the masm installation....Say the person who created the lib has masm installation on C: drive and you have on D: then it will issue errors.....To solve just open it in Hex editor and search for defaultlib and overwrite it with zeros

I attched the edited lib

:flowers: Thank yamraaj so much.Right, i have installed Masm32 in F: but now, when i compile with your file, i get error :

Assembling: keygen.asm

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tClose@4

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tGetPosition@12

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tOpen@24

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tPause@4

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tPrepareHeader@12

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tReset@4

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tRestart@4

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tUnprepareHeader@12

mfmplayer.lib(mfmplayer.obj) : error LNK2001: unresolved external symbol _waveOu

tWrite@12

keygen.exe : fatal error LNK1120: 9 unresolved externals

Merc !

Edited by Merc
Posted

Oki it work fine yamraaj ! I only add :

include winmm.inc

includelib winmm.lib

and now it is working perfectly.

Anyway thank yamraaj so much !

Merc

  • 3 weeks later...
Ufo-Pu55y
Posted

Does anybody know, if it's possible to make MFMplayer usable for C++ ???

I'm trying to convert my MASM sources into C++ sources for a tutorial.

Since I'm a C++ noob... I'd need a "MFMplayer.h" and a "MFMplayer.obj", right ? :unsure:

Any experience with that out there ?

I would really appreciate it !

PS: BTW, I was googling for "mfmplayer" in hope to find something for C++...

On rank 10 was this topic... what comes around goes around... :lol:

Posted

well mfplayer is in coff format so will be usable only with vc++, problems can be with borland c++ also tasm

Ufo-Pu55y
Posted
only with vc++
I'm using vc++

Oh, I just saw that MiniFMOD comes with the needed stuff for C++

Let's me also read out the music's pattern + position.

I'll try my best... ^_^

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...