Hey Everybody. After lots of fun messing around with Win32 programming on the weekend, I managed to hack together some sort of functional
Mod Plugin for
GSPlayer on the PocketPC. I used the
BASSMod library to actually play the music, interfacing with my own (woefully lacking) knowledge of the GSPlayer plugin format. I figured somewhere here might be interested in this sort of thing, as I have been unable to find much in the way of good mod players. Each I've tried has been flawed in some way, but GSPlayer is a great little piece of software, hence the plugin.
To install this sucker, if you have a PocketPC, just
UnRar the file to any temporary directory of your choice, then copy the files to your GSPlayer directory on the PocketPC. If GSPlayer is open, close it, then open it again. It should find the plugin for you. After that, try opening some mod files and see how it goes.
If you missed the link in the first paragraph, here it is again:
DOWNLOAD!
Limitations of the current version:
As the title indicates, this is version 0.1 alpha. It works, it'll play mod/s3m/xm/it/whatever files, but there aren't very many extra features incorporated right now.
1) No Options
I haven't gone through the work of putting together an options dialogue, so right now it just plays all mod files at 44.1 kHz using sensitive ramping and no loops (and it prevents "jump backs"). This means all songs WILL end, and go to the next song. If you like looping, and I know I do sometimes, you'll just have to wait for the dialogue... which will just take me a bit of time, that's all.
2) No Pause
I'm not sure how the GSPlayer Plugin format handles the pause function, but right now it doesn't do anything. If you need to pause, just use the stop button - it won't actually put the song back to the beginning. If you hit play again, you can start up right where you left off.
3) No Elapsed Time
As with Pause, I'm not sure how this is incorporated with the GSPlayer plugin format. I think it's either somehow related to the decode or seek functions, but without further information, it'll just read "00:00" for now.
4) Inaccurate total time
Unlike 2 & 3, this is actually an issue I'm having with BASSMod. I can't figure out how to report the total time of the song, in seconds. I can figure out the file size or number of patterns using the BASSMOD_MusicGetLength function, but I seem to be stuck for actual time. And yes, I am using the BASS_MUSIC_CALCLEN flag when I open the file

(Which tells it to "Calculate the playback length of the music")
5) No Seeking
Without numbers 3 & 4, I'm scared to implement seeking. I may play around with it a bit, as I do know what functions to use, but no promises.
Right now I have BASSMod doing all the work in playing the mod files. I may experiment with using it to decode the mod file, while actually playing it in GSPlayer, but I don't really know how that works yet. It may get around some of the issues mentioned above, we'll see.
Please, send me any comments or concerns with this crazy little plugin. If you have any experience with these sorts of things, please let me know and maybe we can see about fixing some of the problems I've been having.
Oh yeah, the DLL is compiled for Windows Mobile 2003. If you have a different device and it's giving you problems, let me know and I can see about trying to re-compile it for your version (no promises though).