After finishing some more serious work on the new interface today, I took a moment to appreciate the distance that the program has come over such a short period of time.  In my notes I have a screenshot of the main interface from April.  At the time, it was cutting-edge.  The new treeview made organizing the composition a lot easier, and the cute little banner up to gave the program some personality.

And now I look at what I've designed over the past week.  It's come a long way.  It's come from a shoddy, single-button proof-of-concept, to a complicated but functional panel, to a more organized treeview skeleton, and finally, to a user-friendly and ultra-sleek tile palette.  Visual progress is the easiest to see, which is why it makes me happy to know how much mGen has evolved over time, even if the inner workings aren't leaps and bounds ahead of those that were in place months ago.

If nothing else, I have succeeded in creating a very unique and functional platform for algorithmic composition.  That, in itself, is a success.  Whether or not I will be able to furnish this platform with the functional modules it will require to make amazing music, I do not know.  But I know that I've done something.  I've contributed.  And that's what I set out to do.

On a side note, I had a strange moment today when the new interface gave its first output (yes, the new renderer is already working...it's true, I've come a long way as a programmer - I did indeed make it in about 1/3 the amount of code as the last renderer).  It was a simple test with only Easy Contoured Structure, ProgLib, GGrewve, and ChillZone pianist loaded.  Everything seemed to be going fine.  But then ChillZone freaked out.  It started doing crazy inversions and removing and adding notes somewhat randomly.  Weirdest of all though, was that these notes were all perfectly acceptable.  It was still playing in the key...but it was doing something I've never seen before.  Exceptionally odd.  The code hasn't been modified in over a month, as indicated by the timestamp!  So what on earth is causing this "ghost-in-the-machine?"  It's a pretty cool bug, I admit (if a little creepy).  But I'll get to the bottom of it.