I have tried: 1. Actual blobs. 2. XML-like tagged text. 3. True XML. 4. Numbered parameters. 5. Scripting - the state is a script that you run. Believe me, scripting is best, and blobs are next best. Scripts, obviously, are hand-editable. If Python is too much to swallow, Lua probably is not and there is a good C++ template library for automagically script-enabling C++ classes. Note that Lua was designed specifically for the purpose of configuring C and C++ code. The Lua runtime is about a 200 kilobyte library. You can swap Lua interpreters back and forth between DLLs and you can have more than one of them in a process. If the script doesn't work, you usually get an intelligible error message out of the scripting runtime, which gives a stranger a fighting chance to fix the script. That leads - off the topic, I suppose - to a proposal, make Lua scripting a required part of the host and an option for plugins. =========================================== Michael Gogins gogins at pipeline period com Irreducible Productions Silence, a language for programming music and sound Available at http://www.csounds.com =========================================== ----- Original Message ----- From: "Tim Hockin" <thockin@xxxxxxxxxx> To: <gmpi@xxxxxxxxxxxxx> Sent: Friday, August 08, 2003 3:18 PM Subject: [gmpi] Re: Topic 8: Parameters > > > Hrrm, there has to be a better way than just one big state blob. Yuck. > > > > What's so bad about one big state blob? > > It just tastes bad. I like the idea that a preset can be XML, and that I > can go and look at it, I can use standard text tools to get changes in a > preset (diff), and I can hand edit it, if I want. > > I'd like to see projects be XML (or some form of ascii), too. It would be > so nice to be able to properly revision control my music projects. > > ---------------------------------------------------------------------- > Generalized Music Plugin Interface (GMPI) public discussion list > Participation in this list is contingent upon your abiding by the > following rules: Please stay on topic. You are responsible for your own > words. Please respect your fellow subscribers. Please do not > redistribute anyone else's words without their permission. > > Archive: //www.freelists.org/archives/gmpi > Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe > ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe