MIDI Master Progress

Posted by HeroofTime55 on Nov. 16, 2006, 7:42 p.m.

OMG, I've actually done some work on MIDI Master!

Well, most of it was graphics, and preperation code for the interface. I still need to take my scroll bar code from my BrainFuck executor and convert it into this program. Unfortunately, this time it's going to be just a <i>little</i> more complicated than drawing a block of text at a different location. And because I was stupid and decided to do much of the interface in scripts… Well, I can fix that.

I did alot of graphics as well, and some other minor little things. Once I get the editing region up and working properly, I'll be able to test exporting files.

I still need to do a little research on General MIDI, and MCI commands. I intend to have the data play directly from the sequencer, so I need to learn how to use MCI string commands. It would be alot easier if I could have just sent the binary messages (The MCI system takes both binary and string commands), but Mark Overmars decided he would only send string commands. Well, I'm still going to test this for myself, I think I could pull it off if I send the ASCII characters representing the binary values… Again, I'll have to do research.

I cannot simply use GM's internal player, because the actual MIDI file won't exist yet when the user plays the song.

But, playing in the client will be later. First I want to get a basic editor interface done so I can let Polyestrewhatever_Man get into the early testing.

I don't know what I'm going to do about things like selecting banks other than General MIDI… I might be forced into making a DLL. Which isn't good because I don't have a C++ compiler at home.

<hr>

Comments

Amarin 18 years, 2 months ago

Can I test? And as for DLLs, use Dev-Cpp. How do you expect to make MIDIs without a DLL? =P

melee-master 18 years, 2 months ago

That's why he said MCI commands. You can do a whole ton of stuff with them.

Polystyrene Man 18 years, 2 months ago

Quote:
But, playing in the client will be later. First I want to get a basic editor interface done so I can let Polyestrewhatever_Man get into the early testing.
Excellent.

Worst spelling of my name ever. [>>]

HeroofTime55 18 years, 2 months ago

mageknight, I put hours and hours into staring at MIDI file format documentation until I learned how it all works. I copied a comprehensive HTML guide off the 'net, and I always keep it open for refrence. At this point, I think most of the exporting scripts are figured out.

As for exporting the file, MIDI files are binary. So I use the binary file writing procedures. Which is really nothing more than writing out one ASCII character at a time. I just had to read up on everything really well so I know what those characters are.

And melee: the MCI is only for playing within the sequencer. I'm doing that so you can pause, go to another spot, mute tracks, and all sorts of other stuff. There are two methods for sending windows commands via MCI: string commands and numerical commands. The GM function uses string commands. MIDI Master will be easier to do with numerical commands. Which is why I might need to make a DLL. But I want to avoid that.

Well, this will be interesting. The scrollbars won't be fun, but after that, it will be fun.

HeroofTime55 18 years, 2 months ago

Oh, and if I need another tester, sure mageknight.

Amarin 18 years, 2 months ago

Wow. Um, MCI commands?

And can you make an easy GUI? I can't figure out most MIDI sequencers. I've only managed to find out Anvil Studio, which is the best one so far.

HeroofTime55 18 years, 2 months ago

The whole goal is to make an incredibly easy to use interface. Of course, as I add more features, it will no doubt become more complicated. But I have a great idea on how to keep the whole thing simple while also covering a wide range of features

Amarin 18 years, 2 months ago

Yay. Easier than Anvil! =D