Browse Source

Update TODO file

tags/1.9.4
falkTX 11 years ago
parent
commit
09c7167c0d
1 changed files with 63 additions and 11 deletions
  1. +63
    -11
      doc/Carla-TODO

+ 63
- 11
doc/Carla-TODO View File

@@ -1,20 +1,66 @@
# Carla TODO

# ----------------------------------------------------------------------------
# in short

1. move backend from Qt to Juce (80% done)
2. move frontend from PyQt4 to PyQt5, rewrite to share widget code (60% done)
3. allow to use old Qt code (except graphics) for non-Juce-supported OSes (BSD, Haiku, Solaris, etc)
4. custom "plugin slots" skins, ala Reaper (also define set of keys for a new LV2 extension)
5. internal patchbay processing mode (needs #1)
6. Carla as an LV2 plugin (needs #5)
7. direct support for csound files (as plugins, inspired by 'cabbage')
8. OSX builds (needs #1 and #2)

Ideas for later:

9. Carla as VST plugin (will have to be a custom UI)
10. easier canvas connections by using smart key shortcuts
11. Mobile version (using Android Patchfield for example)
12. Mobile OSC Control app
13. Port good JACK-only apps as internal plugins (zita stuff would be nice)

# ----------------------------------------------------------------------------
# more detailed

GENERAL:
- finalize Juce backend move
- finalize PyQt5 move
- add back old Qt code for when Juce is not available (or disabled by user)
- add direct program access on ui-dialogs (needed for standalone bridges), maybe add extra buttons too (reset plugin, fix ui size)
- implement midi-learn (new dialog)
- implement midi-cc automation special rules (invert, half, logarithmic, etc)
- allow to change position of plugins (up/down)
- add control-out rate/freq option in frames (or just a regular block-size option?)
- control/midi-out in singleProcess() calls, use timeoutFrames var
- custom skins for plugin slots, design for 8 types + instruments (gig, sf2, sfz)
- custom skins for internal plugins
- implement favorite plugins, add in new tab near file-browser
- blender style canvas theme
- make it possible to run forced (and only) rack or patchbay mode
- make it possible to use backend as fake standalone app (using pipes) instead of a shared library
- create startup scripts for carla-rack, carla-patchbay, carla-settings, etc
- smarter carla-single script (LV2 must only need URI for example, and ignore all other hints)
- alternate, simpler UI for mobile and/or VST version

ENGINE:
- allow to change position of plugins (up/down)
- allow to add plugins when engine is stopped
- save&restore canvas connections (optional, must not be used under SM)
- complete RtAudio+RtMidi support (only MIDI out missing + save&restore)
- implement Haiku Media support (based from JACK?)
- complete Juce engine driver support
- implement Haiku Media support (based from JACK?, LATER)
- implement latency in continuous-rack mode
- DSSI/LV2/VST version (needs add-new support on control side)
- Handle sample-rate changes in JACK (made possible by switch-master)
- Add MIDI-bank change type (GM, GS, XG and MMA). See fluidsynth docs
- implement internal patchbay mode (once Juce move is complete)
- engine as internal plugin
- internal patchbay mode, based on Juce graph code
- handle sample-rate changes in JACK (made possible by switch-master)
- add MIDI-bank change type (GM, GS, XG and MMA). See fluidsynth docs
- allow to use static OSC ports

PLUGINS:
- add control-out rate/freq option in frames (or just a regular block-size option?)
- control/midi-out in singleProcess() calls, use timeoutFrames var
- implement midi-cc automation special rules (invert, half, logarithmic, etc)
- implement Juce plugin hosting (provides AU and VST2/3 support; will replace current VST hosting if Juce is used)
- implement LSCP file support (new native plugin)
- implement Csound file support

Native:
- Cleanup API
@@ -23,13 +69,19 @@ Native:
LADSPA:

DSSI:
- custom chunk-data extension, publish on kx website when complete

LV2:
- complete lv2-worker support
- handle in-process graphics via Juce
- no in-process UI support if juce disabled
- revisit all extensions
- option to set lv2 preset folder
- only load LV2 bundles on request, never load full LV2 world

VST:
- add support for old X11 UIs
- implement cockos extensions
VST: (non-Juce build)
- no UI support
- simplify code (because of no Juce)

FluidSynth:
- per-channel volume control


Loading…
Cancel
Save