Would that be any different from just playing a MIDI that has the speed entered already? Or are you referring to having each note as an individual file and playing those files at different speeds?

Basically, what I'm considering doing is adding support for ANSI music. That music is sent as notes, octaves, and durations as well as possibly tempo. It might be something as simple as CDEFGAB (a scale). Or it may contain other information. I can manipulate that to whatever I need it to be. For example, if I need to provide the note's frequency instead of a letter note, I can do so. I receive the notes and additional music information through a socket in ASCII format. Then, I need to find a way to play those notes. For example, if this were BASIC, I'd just use PLAY CDEFGAB. mIRC doesn't offer that option, but I know it's possible to send notes to the default MIDI output (typically your soundcard) using C, VB, Java, etc. There is even a form of SendMessage API for MIDI, but I am not entirely sure how to access that from mIRC.

COM would be ideal because it won't require additional files to make it work. I just can't find a way to send notes to the sound card using it. If you know a way, I'd definitely be interested.

Additionally, the notes are sent one at a time, but in a "line" just like a sentence would be sent. I have the option of waiting for the end of the line before playing anything. That could allow for smoother playback, but it also means a slight delay before starting (waiting for the entire line to arrive). And, in some cases, telnet "lines" are very long because the use the client's ability to wrap long lines instead of providing line breaks. The other option is to play each note as it arrives. This provides the least delay, but may cause a stutter effect between notes. That is especially true if I have to generate a MIDI file and the /splay it. Even just changing a single character in the MIDI file when each note is received would cause enough delay between notes (I assume) to be noticeable.

If I can send notes directly to the sound card, then note by note is the best option. If I have to generate some kind of file, then line by line is the best option. I can test each method, of course.


Invision Support
#Invision on irc.irchighway.net