Ingen TODO list ** This is horribly out of date. I'll keep it around since some things in ** here are still relevant. - Fix audio hiccups on patch load (hacked around, a little better now) - Fix zipper noise with audio rate MIDI controllers - Implement DSSI MIDI-over-OSC (for GUI test buttons only) - Pitch bend support (seperate node?) - Make saving of patches to use unique port IDs rather than names, for LADSPA correctness - Logarithmic sliders in node control window - Some way of ordering ports on subpatch modules? (metadata?) - "Copy path to clipboard" (etc) options on port menus - Prompt for saving of each subpatch - Optionally add AR ports to control dialogs - Make engine able to deal with Jack exiting/returning (possible?) - "Collapsing" modules (ie making them small w/ no labels, pd-style) - LRDF support for plugin categorization - [ Kinda done hackishly ] LASH support - [ Done? ] Fix problem with controls sometimes not working - [ Pending liblo development ] Support for service discover - [ Done ] More spiffy communication and client startup - connecting dialog, etc. - [ Done ] Rewrite ObjectStore and Patch::port() to eliminate blocking slow events - [ Done ] Make Maid and PostProcessor semaphore driven instead of self-driving (time based) - [ Done ] Move any delete calls from post_process() methods to destructor (for speed up responses) - [ Done ] Convert SlowEventQueue to semapores, to make push() non-blocking (and way faster) - [ Done ] Selecting and moving of multiple nodes at a time (groups?) - [ Done ] Zero-copy from/to Jack ports - [ Done ] Removing of Alsa MIDI ports when no longer needed - [ Done ] DSSI sampler sample does not restore in UI - Om's problem? - [ Done ] Executing plugins not connected to output (ie oscilloscope) - [ Done ] Patches saving to current directory, not where they're loaded from! - [ Done ] Fix pause in patch loading until another event occurs (ie moving module?) (WTF?) - [ Done ] Midi learn doesn't update control dialog, fix - [ Done ] Double click on a subpatch opens patch window if there's no controls - [ Done ] Allow client to attach to already running server. - [ Done ] Fix subpatching (works, but communication is b0rked) - [ Done ] MIDI binding - because I got a new knob box. :) - [ Done ] MIDI binding saving - [ Done ] Minor changes to the patch XML file format, for future-proof-ness - [ Done ] DSSI support - [ Done ] Logarithmic MIDI binding - [ Done ] Patch control-rate input/outputs - [ Done ] Midi learn - [ Done ] Fix the new node placement issue (stupid metadata) - [ Done ] Seperate MIDI inputs for patches - [ Done ] Fix re-attaching client with subpatches (modules don't appear) - [ Done ] Fix automatic node naming when adding multiple nodes in Load Plugin window - [ Done ] Loading with poly != patch file poly (done, needs testing) - [ Done ] Removing of connected nodes - [ Done ] Saving of port ranges - [ Done ] Make building of engine alone possible - [ Done ] Fix issue (?) with plugins not always showing up - [ Done ] Fix removing input/output node of a patch that represents a port that's connected - [ Done ] Fix subpatch saving path stuff - [ Done ] Fix client not starting until second connection attempt (happens with RT jack) - [ Done ] Fix problem with subpatch modules sometimes not showing up on reconnect - [ Done ] Make it possible to bring up a node control window for a subpatch - [ Done ] Fix problem with loading patches with already existing paths - [ Done ] Saving of ranges on subpatch ports - [ Done ] Add "Same as parent" option for polyphony in load/new subpatch dialogs - [ Done ] Make only top level patches show up on patch load in gtk client - [ Done ] Make example patches install on 'make install' - [ Done ] Fixing saving a subpatch every time if there's multiple subpatches from the same file - [ Done ] Only create alsa ports for patches that need them - [ Done ] Fix spinbuttons in node control window (don't work) - [ Done ] Fix plugins possibly showing up twice (?) - [ Done ] Fix DSSI UI path problem (only looks in /usr/local/lib/dssi) - [ Done ] Node control window for top level patches - [ Done ] Patch-specific DSP disable option - [ Done ] Optimization: don't compute process order if patch isn't activated - [ Done ] Fix problem with subpatch node moving parent node of same name - [ Done ] Optional sending client URL explicitly to engine