Thanks guys,
Still a long way to go with this, but it's great to hear your positive feedback!
chackl wrote:Why do you want to marry it with XML? - How about the idea to built up a Databaseprotocol like MySQL?
Very interesting idea - I must admit that this hadn't occured to me at all.
I suppose I'm just showing my bias towards saving VST plugin preferences etc. - and my complete lack of knowhow with SQL (I sort of know what it is, but that's about it!).
I liked the idea of XML for a couple of reasons...
1) Human readable 'text' in a commonly accepted 'standard' format.
2) Unlike the regular preset manager etc. it can easily handle text formatting, most Ruby data types etc.
I think that, in the first instance, XML is the way I'll go - setting up a database just for a few VST parameters would be overkill, and awkward for the end user to set up - but I certainly wouldn't rule out SQL. The possibilities then are mind-boggling - I could see a whole load of application just in telemetry/data-logging alone - and SQL would save us from having to 're-invent the wheel' in so many ways.
RJHollins wrote:wish I was able to comprehend this
Well, hopefully, there shouldn't be too much to comprehend when I'm done! Once finished, I'll put together a little "API document" that defines how each class works and how you talk to it - much like the FS use guide describes the bullt-in classes like GraphicsPaths, Brushes etc.
Whether using classes or not, probably the most significant thing is to note that you don't have to put all of the drawing into one big 'draw' method - so long as you pass on the View object, you can break down the drawing into many smaller methods - writing and testing smaller GUI elements in isolation and then combining them into the overall GUI.
Breaking the problem down that way makes it much easier to manage, gives you some nice cut-and-pastable code snippets, and usually results in more readable (and bug-fixable!) code.
For example, here's a simple one that draws crosses wherever you like...