ladish/ingen/TODO

78 lines
4.3 KiB
Plaintext

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