mikmodmax mod player source
BlitzMax Forums/BlitzMax Programming/mikmodmax mod player source
| ||
Had this mikwin code lying round for ages meant to do something with it... It shows using mikwin.dll to play a tracker mod I've played around with the latency/thread sleep to minimise "poping" I'm not totally happy If you're not bothered about latency change #define DEFAULT_DSBUFFERSIZE 4096 (in drv_ds_raw.c) to somthing around 8000 or higher It would work better non-threaded if you app is working at a fixed fps If I get time (and there's any interest) I may make a non directsound driver and make it cross compatible If should be fairly trivial to make your own linux/mac version of this my using the apropriate mikmod source for your platform. supported formats: 669,amf,dsm,far,imf,it,m15,med,mod,mtm,s3m,stm,stx,utl,uni,xm download it from: http://www.traklink.com/component/option,com_docman/task,cat_view/gid,2/Itemid,2/ enjoy! |
| ||
GreatWork ! but can you include a fonction to retrieve mod data value ? like bass.dll for creating nice vumeter ? Work fine for me :) |
| ||
just read the docs to find details of which routines you need an add them to the example ie Global MikMod_strerror:Byte Ptr(error:Int)"win32"=getprocaddress(mikmod,"MikMod_strerror") feel free to contact me directly, if you get stuck! there will be issues with latency If theres enough interest I'll add the other routines, it can be used as a complete sound lib... it really needs de-threading and fixed frame rate updating... but its early days yet. |
| ||
Any news on a Mac port ? |
| ||
wanna buy me a mac :D seriously if you can get mikmod to compile for the mac you *should* be able to import "-lmikmod.a" and do away with all the win32 stuff in the demo http://mikmod.raphnet.net/ is where mikmod lives the unix version includes drivers of all 3 OS's darned if I can get it to compile tho... |
| ||
Very good job !! thanks for channel value for made vumeter :) But a little question in your example the vumeter bar seem to be very slow ? It is normal ? Cheers ! |
| ||
depends on the size of the buffer (latency) and the speed of you machine. |
| ||
Chris does this work in 1.20 |
| ||
Okay got it, is was a problem with Local filenameptr:Byte Ptr=GlobalAllocString("klu_gren.xm") which had to be changed to Local filenameptr:Byte Ptr="klu_gren.xm".toCString() |
| ||
err i wouldnt do that!! unless you do freemem filnameptr should be okay with 1.2 |