feat: integrate Carla plugin host with rack view, fuzzy search, and volume control
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
14
dispatcher.h
14
dispatcher.h
@@ -6,6 +6,7 @@
|
||||
#include <stdatomic.h>
|
||||
#include <jack/jack.h>
|
||||
#include <pthread.h>
|
||||
#include "carla.h"
|
||||
|
||||
// ============================================================
|
||||
// Application State - contains ALL application state
|
||||
@@ -82,6 +83,9 @@ typedef struct {
|
||||
size_t prev_read_positions[MAX_UNDO_HISTORY];
|
||||
} undo;
|
||||
|
||||
// Carla host
|
||||
CarlaHost carla_host;
|
||||
|
||||
// JACK info (needed by audio thread)
|
||||
jack_nframes_t sample_rate;
|
||||
bool running;
|
||||
@@ -110,6 +114,11 @@ typedef enum {
|
||||
ACTION_LOAD_CLIP,
|
||||
ACTION_MIDI_NOTE_ON,
|
||||
ACTION_MIDI_SCENE_LAUNCH,
|
||||
ACTION_RACK_ADD_PLUGIN,
|
||||
ACTION_RACK_REMOVE_PLUGIN,
|
||||
ACTION_RACK_SET_PARAMETER,
|
||||
ACTION_RACK_SET_VOLUME,
|
||||
ACTION_RACK_BYPASS,
|
||||
ACTION_PROCESS_AUDIO,
|
||||
ACTION_QUIT
|
||||
} ActionType;
|
||||
@@ -128,6 +137,11 @@ typedef struct {
|
||||
struct { int clip_index; char filename[256]; } load_clip;
|
||||
struct { int note; int velocity; int channel; jack_nframes_t time; } midi_note_on;
|
||||
struct { int scene_index; jack_nframes_t time; } midi_scene_launch;
|
||||
struct { int channel; char uri[512]; PluginType type; } rack_add_plugin;
|
||||
struct { int channel; int plugin_index; } rack_remove_plugin;
|
||||
struct { int channel; int plugin_index; int param_index; float value; } rack_set_parameter;
|
||||
struct { int channel; float volume; } rack_set_volume;
|
||||
struct { int channel; bool bypass; } rack_bypass;
|
||||
struct { jack_nframes_t nframes; } process_audio;
|
||||
} data;
|
||||
} Action;
|
||||
|
||||
Reference in New Issue
Block a user