MAIDENS comprises a stable, solid core foundation, and a plethora of stock or user-made generator modules to add on top of it.
The modules are, themselves, expandable and inter-connectable, which is just a fancy way of saying: “fasten your seat belt, because with MAIDENS, we go over the rainbow, and further”.
First Things First
To start with, merely laying down the sentence: “MAIDENS is a flexible software” would be semantically incorrect. Flexibility refers to an exceptional property of a medium, which is, otherwise, intrinsically adamant, monolithic. It would be far more appropriate to state that “MAIDENS is also a rock-solid contraption”. This is because MAIDENS builds upon an inverted paradigm. The core application has been designed and built around modules that needed a housing, and not viceversa. I’ll say it again, in different words: MAIDENS is a wrapper to its modules, rather than the modules being an expansion of MAIDENS.
And when we talk modules, we talk modularization, and that’s just a fancy way of saying that you’re free to bend it into a plane or a boat, given you have the proper modules and a bit of imagination.
MAIDENS is a multi-targeted platform. The two most obvious of its typical users are the composer — the professional music creative that uses a computer to enhance his musical productions — and the music savvy developer (or viceversa) who runs a business on top of MAIDENS by creating generator modules for interested parties. Both will benefit from the high degree of flexibility MAIDENS has to offer.
The composer will hook generators to the score, or, even better, will hook one generator to another. By means of generator modules, composers are effectively provided with a modular music inference engine: a structure they can assemble as they see fit. If you’re a composer, and you want to create one thousand one totally different works, well then, MAIDENS can behave in one thousand one different ways just to help you.
If you’re a developer, and you get seriously worried about the (limiting?) API the base application has to offer, then don’t: modules can share APIs as well. Modules written by you or other contributors, so that you can build on top of the work of others. And you can choose to share reusable functionality too if you feel openhearted.
What all this really boils down to is that the software can really grow into being exactly what you need, and that, if there’s a will, there will be tons of ways of doing it using MAIDENS.
Note: this is a concept article, covering all MAIDENS planned features. Consult the roadmap to know exactly whether a specific feature is currently available or not.