I'm sure no one is going to object me making progress posts every so often to vent frustration.
Course it isn't my fault that VB6 is horrible with handling dynamic arrays. Okay, so it's a little much asking to have dynamic arrays with a custom object class, but still.
I should make a list of what I want to be implemented in what I'd consider as a version 0.5. I'm sure I could number it much more conservatively, but my idea of 0.5 is basically functional without being able to open or save files, as well as a few little extra features like selecting notes and moving them as a group or cutting and pasting.
-Piano roll environment
-Being able to drag note lengths
-Playback of all notes & channels(I have yet to get around to playing two WAVs at once, but this should be handled easily by DirectX.)
-8 channels of instruments (drums are a no no right now because I've only got 25 instruments ripped right now anyway, and since getting the drums done is just a copy of the instruments, it ties in with this)
-Editable volume and panning for each note
So far I have it drawing the piano roll and telling me where on the roll I clicked (in terms of beat, not simply X and Y of mouse), as well as playing back single WAVs in different notes.
The problem I'm at right now is drawing and storing notes. Originally I tried using an array of "note" objects, where it would redimension the array to make room for a new note (I'll handle overlapping notes or adding notes to the middle later). VB was having trouble finding info on the notes as well as redimensioning the array. Then I tried to make a custom object that would act as the piano roll and contain the note objects, but that ran into the same problems. I was going to settle with a 2-dimensional array, but it was still whining about dynamic arrays, so I'm going to have to do a little more research on what the hell is going wrong with them.
My goal for today is to be able to draw single-beat notes by clicking. Once I've got that I have some college stuff to work on, and if I finish that and my homework, I'll get back and start working on note stretching.
EDIT: Fear, for I have conquored note drawing on this day. >=D