Dear all, this week has been a very important one for the organization of this project… at least more than it was coding-wise. Given the latest developments of the Turtle parser, that is now showing great performance after having implemented and used AVL trees, we have done a bit of conceptual design and roadmap planning. /* TODO: ... */ Here is a list of things to do for each piece of the NASPRO architecture: NASPRO core: node/edge matching on graphs, graph merging and duplication, AVL tree duplication, environment variable retrieving, directory scanning, dynamic loading, maybe PATH-like variable handling; NASPRO RDF: data matching (depends node/edge matching in NASPRO core); NASPRO Turtle: serialization; NASPRO LV2, NASPRO LV2 tools, libpmf, pmfc: almost everything; NASPRO bridges (LADSPA 1.1 + LRDF, DSSI 1.1.0), NASPRO bridge-it, NASPRO RDF/XML, NASPRO N3: not even started. Then, add to all of the above: API review (where applicable), testing, documentation and release/packaging/distribution stuff. A nice amount of work, isn't it? And… ah, I was forgetting, new stuff has been mentioned: NASPRO bridge-it will be a tiny library to help in developing bridges, NASPRO RDF/XML will be the equivalent of NASPRO Turtle for RDF/XML (it will be based on either Libxml2 or Expat, yet to be decided) and the same goes for NASPRO N3 (the last two are needed to bridge LRDF and N3 data from the LADSPA world). On the road to 0.3.0 In order to deliver as soon as possible, the next release won't just happen when everything is completed, but we will proceed in incremental steps. It will go like this: NASPRO 0.2.90: Expected release date: 2011-01-01; It will contain: NASPRO core, NASPRO RDF, NASPRO Turtle, NASPRO bridge-it, NASPRO bridges (LADSPA 1.1 without LRDF, DSSI 1.1.0 without GUI and MIDI programs). Supported LV2 extensions: LV2 Dynamic Manifest, LV2 URI Map, LV2 URI Unmap, LV2 Events and LV2 MIDI Events; Rationale: since NASPRO 0.2.0 has been already packaged and distributed by some Linux distros and since we have conflicting headers between the old and what will be the new version, this is the bare minimum working set of stuff that we can release without creating problems. NASPRO 0.2.93: Expected release date: 2011-03-01; It will contain: all of the above + NASPRO LV2 and NASPRO LV2 tools; Supported LV2 extensions: as before; Rationale: this release will enable LV2 host developers to start using an alternative to SLV2 (Traverso, Audacity, I'm looking at you). NASPRO 0.2.96: Expected release date: 2011-06-01; It will contain: all of the above + libpmf and pmfc (revamped and basic yet stable Permafrost syntax with serious metadata handling, possibly including loops and conditions and a basic optimizer, LV2 and MATLAB/GNU Octave output); Supported LV2 extensions: as before; Rationale: we feel that Permafrost will be a very important piece of technology in the sound processing arena and highly strategic for this project; we are already sorry to delay the development of the next version that much. NASPRO 0.3.0: Expected release date: 2011-08-01; It will contain: NASPRO RDF/XML, NASPRO N3, NASPRO bridge-it improvements and LRDF support for the LADSPA bridges; Supported LV2 extensions: all of the above + LV2 Presets, LV2 Units, maybe others; Rationale: in the end, this release will be a drop-in replacement for NASPRO 0.2.0 without regressions. And beyond After this admittedly long process, we should have something that works practically anywhere and that we can start build upon without fears. In particular, the work will probably be directed towards GUIs, defining and implementing other LV2 extensions, supporting more APIs (VST and AU being the most wanted), improving Permafrost, developing new things (no spoiler :-) ) and writing handcrafted documentation. In the meanwhile… Alessio Treglia just notified me that all NASPRO components have been packaged and are now available in Debian sid; giodum will start developing test suites for various components of NASPRO soon; I am having a difficult time choosing the proper documentation generator for our APIs - I've been using Doxygen in the past, but now I would prefer ROBODoc to it… any other ideas? the website needs some love, but nobody has got time here; a little present if you managed to get to this point: this video is part of my MSc thesis discussion (i.e., oral defense) where I demonstrate the guitar amplifier simulator plugin developed using the current version of Permafrost and whose source code can be found in my thesis (see the