Skip to main content
GameDev.net gamedev.net
🔒 Locked

Please test my program - feedback required

Started by Crispy Jun 27, 2004 at 6:00 AM 14 replies 1.9k views
Original Post
Crispy
Crispy
I am in dire need of feedback because lately it has been the case that my .mod player doesn't seem to work on some systems. I am unable to pinpoint the problem without either having access to these computers or having a larger feedback database. If you have the time, please download Modula, then head over to (for instance) ModArchive dot com, get a few random mod files and try to crash it. The reason why I am not including any .mod files to make everyone's life a little easier is pretty simple: I've tested it on ~50 different files that I have on my system and it seems to work with all of them. However, it'd be far better if I could test it with even more files (which is pretty vexing for one person), so I'd appreciate anyone who has the time downloading a few totally random files and trying those out. Some features which should work: 1) Fade in/out on playback operations 2) Click the time indicator to flip between time elapsed and time remaining 3) If you run a program that steals all audio focus (such as MadTracker), Modula should restore itself when the program loses focus/exits 4) Only works with .mod files (no .it, .s3m or other module formats) - attempting to load random files may crash it 5) Drag a file into the main window to load it If you manage to induce a crash, please let me know of the contents of modula.log and what file you were trying to load. Also, please post your system specs (including what DirectX version you have installed - DX8 is required, OS, sound card and CPU info). Comments, questions and any other possible bug reports are naturally more than welcome (either in this therad, via PM or via email)!
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
Kylotan
Kylotan
Ok...
- The graphics didn't appear to work, and not only would the main window mostly come up in black, but it would end up drawing black boxes all over my desktop randomly, as if you're blitting to the wrong part of video memory. Here's a 'screenshot':


- Although usually I could see a little more info on the window than in the picture above, I couldn't even see an 'open' button or equivalent. Pressing pause crashed it.

- I dragged a MOD file onto it but nothing happened.

- The log file indicated everything was fine, but that wasnt the case.

Sorry but I couldn't really get any further. Now I have to reboot in case my graphics card memory heap is corrupt or something. ;)

Win 98 SE, DX9.0b installed, GeForce 2MX with 64MB video memory, Duron 1.1GHz processor.
SnakeHunta
SnakeHunta
The program crashed on opening with the XP "Sorry for the inconvience" message. I am running:
-Windows XP Home
-1.7ghz P4
-256mb RAM
-GeForce Fx5600 256mb

The program log says everything up to "1.10 1.10: Enumerating devices" is ok.
Crispy
Crispy
Alright - tried to solve the puzzle based on what you guys wrote here and some extra info from a friend of mine. The weird thing is that everything's working just fine for me whereas it seems to be a lot more unstable for everyone else...

What's even funnier is the fact that it doesn't even draw the interface properly on a non-NT system. I'll probably be PM'ing you shortly, Kylotan, since you seem have access to a non-NT system (which I don't) - hope you won't mind. This is particularly odd since I'm not using anything NT-specific...

One possiblity of what is happening is resource conflicts in a multithreaded application. I don't have much expertise in multithreading, but I've done my best to keep one thread the reading and the other the writing side (as in, one is responsible for invoking the other only when needed), trying to avoid using a mutex if at all possible. However, I'm not sure that the following doesn't create a conflict, which might cause the application to sporadically crash with a 0xc0000005 (access denied) exception: thread A modifies variable X while thread B periodically reads variable X (but never modifies it).

Anyways...


Please have a second look at it (I've uploaded the new version) here.

Thanks!
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
Kylotan
Kylotan
It still interferes with the Windows graphics system somehow, it only shows me 3 sliders, a repeat checkbox, a settings button, and a Playing Time static text control (I guess), it still crashes when I click pause, and I never saw any of the other controls (I found pause by accident, clicking randomly). The settings button seemed to show that it enumerated my sound devices correctly but that dialog was screwed up too. Again, the log file reports everything as being fine, finishing with a Yay.
SnakeHunta
SnakeHunta
Works perfectly for me now. The program does crash, however, if you don't have a .mod file loaded and you click pause or stop. Other than that it's great :)

[Edit] hmmmm...it doesn't seem to play all the .mod files I found. It just crashes. One that caused it to crash is "t-struck.mod" and another is "mobfers.mod". I would go through and test more but I gotta go do some stuff...maybe I'll come back later.
Crispy
Crispy
Quote:
Original post by SnakeHunta
Works perfectly for me now. The program does crash, however, if you don't have a .mod file loaded and you click pause or stop. Other than that it's great :)

[Edit] hmmmm...it doesn't seem to play all the .mod files I found. It just crashes. One that caused it to crash is "t-struck.mod" and another is "mobfers.mod". I would go through and test more but I gotta go do some stuff...maybe I'll come back later.


I know there are some mod files from more exotic trackers that it can't play. I'll have a look at the files you referenced tomorrow. If you find any other, please let me know! This is precisly why I started this thread.

EDIT: heh, Protracker isn't really that exotic. Must've missed something again...




Kylotan: did you try playing any files - just drag one into the main window and it should start playing automatically. As for the buttons you can't see - there's four of them, one of which is disabled. All of the buttons have images instead of text so that might explain why you can't see them (no, really, that doesn't explain why you can't see them - it's just a common denominator). Anyways - the playback buttons aren't neccessary to play back files - just let me know what it does when you try to play something (does the equalizer show?).

Cheers
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
SnakeHunta
SnakeHunta
I went through 50 or so more and could only find four that your player couldn't play. Here they are:

bananasp.mod
queen_f.mod
whipcrea.mod
starter.mod

I made sure they weren't corrupt or anything by playing them in winamp just to be sure. I might look some more tomorrow if you still need me to.

PS: Why aren't more songs in this format? They are so compact and they sound pretty much the same as the mp3's.
antareus
antareus
Crispy you may want to look at testing your program in a virtual machine where you install Win98 or ME. I use Virtual PC 2004 and really like it, I'm planning on adding clean installs of Win2000 and perhaps NT4 in the near future.
--God has paid us the intolerable compliment of loving us, in the deepest, most tragic, most inexorable sense.- C.S. Lewis
Crispy
Crispy
Quote:
Original post by antareus
Crispy you may want to look at testing your program in a virtual machine where you install Win98 or ME. I use Virtual PC 2004 and really like it, I'm planning on adding clean installs of Win2000 and perhaps NT4 in the near future.


Hey - I'll try that out if I can get my hands on a legal copy of Win98 - hope one of my friends still has one lying around! I installed the trial version and so far it looks pretty cool.


SnakeHunta: wow, 50 files is a lot of testing. Right now I have to leave to take care of some paperwork, but I'll be having a look at the few you files mentioned this afternoon. Really, cheers for the extensive testing, though! Were there no other problems you encountered? As for crashing when no media is loaded - yeah, I know about that, but that's rather trivial :).

>> PS: Why aren't more songs in this format? They are so compact and they sound pretty much the same as the mp3's.

The .mod format is pretty much depricated due to its limitations. The far superior mod-derived formats (Impulse Tracker's .it, FastTracker 2's Extended Module .xm and to a lesser extent ScreamTracker 3's .s3m) provide far more flexibility and do not impose such restrictions as .mod does. Furthermore, these files actually are used in games every now and then: StarControl 2 made a huge fuss by using somewhat controversial .mod files (which was pretty much HQ back then, not to mention non-standard to your average PC-speaker bleeps). Later releases include Unreal, which uses music in .it and .xm formats. I believe that if you were to view a .umx file (Unreal's music file) contents, you'd notice that there is that some Unreal-specific garbage at the beginning of the file, but at some point you can see the string "Extended Module: song name". This is the header of a FastTracker 2 .xm file. If you can't find this string, look for IMPM, which denotes the .it format.
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
SnakeHunta
SnakeHunta
Hmm I see. The only other problems I could find were the crashing with no media loaded, as you said, and I don't know if it is supposed to work but the play list button doesn't even click. Also, when you go into the settings menu you can only press "OK" to get out of it. You can click the "Cancel" button but nothing happens. That's all I could really find. I checked to see if it was eating much memory but it seemed to release all of its memory on exit and when loading a new song. Everything seems great, it just needs more functionality now :)
Kylotan
Kylotan
Ok... by dragging them on, I managed to get a few mods playing with it, and they seemed to work fine. The equaliser showed, although it was updating very slowly and erratically.

I seem to have found what is going on with the graphics; they seem to be drawing to the window that currently has the focus or is currently the active process, rather than the apps own window. That doesn't explain the overwhelming blackness but it does explain how it appears everywhere else. Here's today's screenshot:

:)
Crispy
Crispy
Ugh - now then...

1) bughunting can be veeeery frustrating - turns out the crash was caused by a 3-line if-block being after another if-block when it should've been before it
2) turns out the mod format is even less standardised than I'd previously expected so now (after a lot of hacks) it should work with all and all mod's. That is, if anyone finds one that doesn't work now, it'd be a nice surprise to me - naturally, I'd be interested in the file :)
3) Kylotan - this release is expressly for you - I removed all GDI calls from just about everywhere. It won't draw the spectrum, nor will it custom-paint the background or the controls. The only exceptions are a few buttons that have images on them - but these are managed by Windows. Anyways - can you give this version another go and see if it still messes up graphics on a non-NT. I can't seem to be able to find a Win98 anywheres myself so I hope you won't mind if I pesky you some more.
4) This version creates some more debug garbage than before - apart from modula.log, these files are mostly irrelevant.

The latest version can be downloaded here: here.
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
Crispy
Crispy
Quote:
Original post by SnakeHunta
Hmm I see. The only other problems I could find were the crashing with no media loaded, as you said, and I don't know if it is supposed to work but the play list button doesn't even click. Also, when you go into the settings menu you can only press "OK" to get out of it. You can click the "Cancel" button but nothing happens. That's all I could really find. I checked to see if it was eating much memory but it seemed to release all of its memory on exit and when loading a new song. Everything seems great, it just needs more functionality now :)


Everything you said, I know so no surprises there. I've been rather occupied with the crashes lately so I haven't been able to actually add new stuff. There's also a couple of effects that are, if not completely, then rather wrong, that I should spend more time on, so some .mods might not sound as they do in other players and some effects (particularly Arpeggio) will sound just dead wrong.

Anyways, once I get the GUI working properly, I'll add a couple of more features to make things more interesting :). Thanks hugely for the feedback, of course. Feel free to use Modula as your default mod player every time you need to play one of them mod's (so as to possibly wander upon a bug or two) :)
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared
Kylotan
Kylotan
Graphics work fine on that version, no corruption or problems. It also played every .mod I threw at it, and indicated no errors in the log or any memory leaks. PS. It required dbghelp.dll to run though. Luckily I had a copy of that already.
Crispy
Crispy
Quote:
Original post by Kylotan
Graphics work fine on that version, no corruption or problems. It also played every .mod I threw at it, and indicated no errors in the log or any memory leaks. PS. It required dbghelp.dll to run though. Luckily I had a copy of that already.


Aha. Good to hear (well, only partly). I'd like you to try out yet another version, which is basically a hybrid between what you tried out an what it should be like (I've included handling of WM_PAINT, but not the WM_CTLCOLORXXX messages). Also, I forgot to remove stuff related to dbghelp.dll from the last version - it should run just fine without it now.

There's a couple of additions on the UI and the functionality, but these you can safely ignore. Basically, I'm just interested if it runs OK (looking morbid as it does right now).
"Literally, it means that Bob is everything you can think of, but not dead; i.e., Bob is a purple-spotted, yellow-striped bumblebee/dragon/pterodactyl hybrid with a voracious addiction to Twix candy bars, but not dead."- kSquared

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.