-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Continues #64.
Carla informations
Possuo uma dúvida sobre o seu projeto Carla. Observei na página do projeto que possui suporte à diversas APIs de plugins de áudio, fato muito interessante. Gostaria de saber se Carla possui alguma forma de uso similar ao mod-host, de modo que seja possível enviar comandos para carregar plugins, adicionar conexões e alterar parâmetros sem a necessidade de exibir uma interface gráfica.
mod-host oferece uma abertura para seu controle através de socket, como você bem sabe. Pensei que Carla tivesse uma API em python para este fim, entretanto não consegui localizar no código fonte (o mais próximo que encontrei aparenta ser o suporte à OSC (https://github.com/falkTX/Carla/blob/e07f144bdcd11d95c8d3fa125d9c4f7e55022c77/source/carla_control.py#L140)).
Se possível, você poderia comentar sobre?
Response:
Ola.
O carla tem acesso à backend via ctypes.
Ta aqui https://github.com/falkTX/Carla/blob/master/source/carla_backend.pyO que implementa a parte em C do carla que esta definida em
https://github.com/falkTX/Carla/blob/master/source/backend/CarlaBackend.h
e
https://github.com/falkTX/Carla/blob/master/source/backend/CarlaHost.hUm exemplo que carrega um plugin via python esta aqui:
https://github.com/falkTX/Carla/blob/master/source/tests/carla-uhe-test.py
Installation
https://github.com/falkTX/Carla/blob/master/INSTALL.md
(make features to find out which dependencies are missing)
Example scripts
- Carla example: https://github.com/falkTX/Carla/blob/master/source/tests/carla-uhe-test.py
- Mod-devices example: https://github.com/moddevices/mod-ui/blob/d71ef9cce208979bb8674eef9fc4506d1ca017f7/mod/host_carla.py
- Zynthian example: https://github.com/zynthian/zynthian-ui/blob/8929cbf16164646039d47d972ce8bc69f2fb3458/zyngine/zynthian_engine_carla.py
- My test case: https://gist.github.com/SrMouraSilva/ca944c89e577df26ae0f813fa886f475
Tasks
Add Effect: https://gist.github.com/SrMouraSilva/ca944c89e577df26ae0f813fa886f475#file-carla-host-py-L41
See Rest: https://github.com/falkTX/Carla/blob/2e368e0acaa98d592b0e223eb5283039357d335c/source/rest/rest-server.cpp
-
Carla(Host)
- LV2 Add effect URI
- LV2 Add effect filename? (Fixed in code... 😞)
- Remove Effect
- Add connection:
- Discover how is defined the global effect id (group id) -> Listing callback
- Discover how is defined the global port id (group id) -> Listing callback
- Discover how is defined the global param id (group id) -> Order defined by plugin definition
- https://github.com/moddevices/mod-ui/blob/master/mod/host_carla.py#L184-L198
- https://gist.github.com/SrMouraSilva/ca944c89e577df26ae0f813fa886f475#file-carla-host-py-L64-L74
- Remove connection
- Set parameter https://gist.github.com/SrMouraSilva/ca944c89e577df26ae0f813fa886f475#file-carla-host-py-L48
- Active-deactive (effect status) https://github.com/moddevices/mod-ui/blob/master/mod/host_carla.py#L153
-
Fix
SystemEffect -
Fix
carla.connect() -
Docs
-
Tests
-
Plugins
[ ] Way for obtain other VST plugins data (like[Carla] Add other plugins support #102lilvlib,lv2lsandLv2EffectBuilder)[ ] Use compiled plugins: https://github.com/zynthian/zynthian-pluginsother project[ ] Install carla in RPi: https://github.com/zynthian/zynthian-sys/blob/1a214176b86cd02b818a9fecbcd806e0a6ad7413/scripts/setup_system_desktop_jessie.sh#L292-L312See [Carla] Add carla support #91 (comment)