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.

115 lines
3.8KB

  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, 80% done)
  5. 7. direct support for csound files (as plugins, inspired by 'cabbage')
  6. Ideas for later:
  7. 10. easier canvas connections by using smart key shortcuts
  8. 11. Mobile version (using Android Patchfield for example)
  9. 12. Mobile OSC Control app
  10. 13. Port good JACK-only apps as internal plugins (zita stuff would be nice)
  11. # ----------------------------------------------------------------------------
  12. # current work
  13. FRONTEND:
  14. - more skins
  15. - testing stuff
  16. BACKEND:
  17. - noexcept wherever possible
  18. OTHER:
  19. - create tests for all utils code
  20. - fix reported bugs
  21. # ----------------------------------------------------------------------------
  22. # more detailed
  23. GENERAL:
  24. - add direct program access on ui-dialogs (needed for standalone bridges), maybe add extra buttons too (reset plugin, fix ui size)
  25. - implement midi-learn (new dialog)
  26. - implement favorite plugins, add in new tab near file-browser
  27. - blender style canvas theme
  28. - make it possible to use backend as fake standalone app (using pipes) instead of a shared library
  29. - artwork about tab
  30. - NSM rework
  31. FRONTEND:
  32. - options for UIs on top of carla (managed)
  33. - make always-on-top depend on it^
  34. - complete zynfx, knob values on top
  35. - synth skin
  36. - samplers skin
  37. ENGINE:
  38. - allow to change position of plugins (up/down)
  39. - allow to add plugins when engine is stopped
  40. - complete RtAudio+RtMidi support (only MIDI out missing)
  41. - complete Juce engine driver support
  42. - implement Haiku Media support (based from JACK?, LATER)
  43. - implement latency in continuous-rack mode
  44. - handle sample-rate changes in JACK (made possible by switch-master)
  45. - add MIDI-bank change type (GM, GS, XG and MMA). See fluidsynth and los docs
  46. - allow to use static OSC ports
  47. - switch engine modes when opening project
  48. - don't pass audio buffers to plugin process, make them request via ports
  49. PLUGINS:
  50. - add control-out rate/freq option in frames (or just a regular block-size option?)
  51. - control/midi-out in singleProcess() calls, use timeoutFrames var
  52. - implement midi-cc automation special rules (invert, half, logarithmic, etc)
  53. - implement LSCP file support (new native plugin?)
  54. - implement Csound file support
  55. Native:
  56. - Cleanup API
  57. - Document API from daz
  58. - update zynaddsubfx
  59. LADSPA:
  60. DSSI:
  61. - custom chunk-data extension, publish on kx website when complete
  62. LV2:
  63. - revisit all extensions
  64. - strict bounds recheck
  65. FluidSynth:
  66. - per-channel volume control
  67. - proper buffer-size/sample-rate change (needs testing)
  68. LinuxSampler:
  69. - per-channel volume pan&control
  70. - proper buffer-size/sample-rate change (needs testing)
  71. # ----------------------------------------------------------------------------
  72. # //tb/150118
  73. misc
  74. -allow to open instruments via file/open menu (same as drag from left-side tree)
  75. -allow drag of sfz/sf2/gig etc. also to patchbay (same effect as dragging to rack)
  76. -action "remove all" in toolbar and plugin menu: add confirm dialog /!\
  77. -action "remove folder": add confirm dialog
  78. -add plugin macro "reset parameters"
  79. -allow re-ordering of rack components
  80. -setting: auto-connect to physical output when new instrument loaded (for quick audition)
  81. -for instruments: highlight keys with assigned samples or unhighlight keys without assigned sample
  82. -allow in-line edit window (i.e. right of rack/canvas) -> shows as soon as plugin/instr. is selected
  83. -indicate engine at work top right
  84. -if engine is jack, show load top right (percent and/or gauge)
  85. -don't show jack transport on start
  86. -allow to re-open jack transport, i.e. settings/show ... and/or via toolbar
  87. -warn on quit if unsaved
  88. patchbay
  89. -allow click a, click b port connections
  90. -allow multiple port selection + connection (i.e. with enter)
  91. -allow to select connections with lasso (to delete)