Articles | Full Index | RSS Feed
Today I returned to working on the new UI for Cantabile 2.0 and realised the skin files used to define the layout were getting a little out of hand.
These skin files are text files which I call "structured profile files" or "structured ini files". They're like a regular simple .ini file in that they are simple name/value pairs, but unlike regular ini files they're structured ie: they have hierarchy. The syntax is something like this:
Also, the parser for these files supports comments, macros and include files similar to a C++ preprocessor, allowing things like:
So that's all well and good, but its fairly verbose, has a lot of repeated strings which all use memory and a little slow to load. So today I wrote a simple compiler (called sinic as in "S"tructured "INI" "C"ompiler) that compiles these text files into a binary stream that can be loaded quickly at run time.
Also the compiled streams are about 10 times smaller than the uncompiled text format. Cantabile's skin files are currently about 350Kb and come down to about 38K when compiled (that's not including the graphic .png resources).
Next up is keyboard navigation within the rack and plugin lists...
Posted on June 18, 2007