Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.1KB

  1. # Carla TODO
  2. # ----------------------------------------------------------------------------
  3. # in short
  4. 4. custom "plugin slots" skins, ala Reason (also define set of keys for a new LV2 extension, 40% done)
  5. 5. internal patchbay processing mode
  6. 6. Carla as an LV2 plugin (75% done)
  7. 7. direct support for csound files (as plugins, inspired by 'cabbage')
  8. 8. OSX builds
  9. Ideas for later:
  10. 9a. Carla plugin working as X11 embed
  11. 9b. Carla as VST plugin (needs #9a)
  12. 10. easier canvas connections by using smart key shortcuts
  13. 11. Mobile version (using Android Patchfield for example)
  14. 12. Mobile OSC Control app
  15. 13. Port good JACK-only apps as internal plugins (zita stuff would be nice)
  16. # ----------------------------------------------------------------------------
  17. # more detailed
  18. GENERAL:
  19. - finalize Juce backend move
  20. - finalize PyQt5 move (just a few corrections now)
  21. - add direct program access on ui-dialogs (needed for standalone bridges), maybe add extra buttons too (reset plugin, fix ui size)
  22. - implement midi-learn (new dialog)
  23. - custom skins for plugin slots, design for 8 types + instruments (gig, sf2, sfz)
  24. - custom skins for internal plugins
  25. - implement favorite plugins, add in new tab near file-browser
  26. - blender style canvas theme
  27. - make it possible to use backend as fake standalone app (using pipes) instead of a shared library
  28. - smarter carla-single script (LV2 must only need URI for example, and ignore all other hints)
  29. - alternate, simpler UI for mobile and/or VST version
  30. ENGINE:
  31. - allow to change position of plugins (up/down)
  32. - allow to add plugins when engine is stopped
  33. - complete RtAudio+RtMidi support (only MIDI out missing + save&restore)
  34. - complete Juce engine driver support
  35. - implement Haiku Media support (based from JACK?, LATER)
  36. - implement latency in continuous-rack mode
  37. - implement internal patchbay mode (once Juce move is complete)
  38. - internal patchbay mode, based on Juce graph code
  39. - handle sample-rate changes in JACK (made possible by switch-master)
  40. - add MIDI-bank change type (GM, GS, XG and MMA). See fluidsynth docs
  41. - allow to use static OSC ports
  42. PLUGINS:
  43. - add control-out rate/freq option in frames (or just a regular block-size option?)
  44. - control/midi-out in singleProcess() calls, use timeoutFrames var
  45. - implement midi-cc automation special rules (invert, half, logarithmic, etc)
  46. - implement Juce plugin hosting (provides AU and VST2/3 support; will replace current VST hosting if Juce is used)
  47. - implement LSCP file support (new native plugin)
  48. - implement Csound file support
  49. Native:
  50. - Cleanup API
  51. - Document API
  52. LADSPA:
  53. DSSI:
  54. - custom chunk-data extension, publish on kx website when complete
  55. LV2:
  56. - revisit all extensions
  57. - option to set lv2 preset folder?
  58. FluidSynth:
  59. - per-channel volume control
  60. - proper buffer-size/sample-rate change (needs testing)
  61. LinuxSampler:
  62. - per-channel volume pan&control
  63. - proper buffer-size/sample-rate change (needs testing)
  64. # ----------------------------------------------------------------------------
  65. # current work
  66. FRONTEND:
  67. - fix things to new cleanup API
  68. - more skins
  69. OTHER:
  70. - create tests for all utils code