diff --git a/Makefile b/Makefile index 17fc54f..ba5bf86 100644 --- a/Makefile +++ b/Makefile @@ -85,6 +85,10 @@ ifeq ($(shell pkg-config --atleast-version=1.9.0 jack && echo true), true) INCS += -DHAVE_JACK2 endif +ifeq ($(shell pkg-config --atleast-version=1.9.23 jack && echo true), true) +INCS += -DHAVE_JACK2_1_9_23 +endif + ifeq ($(HAVE_NE10),true) LIBS += -lNE10 INCS += -DHAVE_NE10 diff --git a/README.md b/README.md index 42b7f2a..6729642 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ Options -i, --interactive interactive shell mode - -n, --nofork + -n, --nofork run in non-forking mode -V, --version @@ -107,15 +107,26 @@ Commands (or Protocol) The commands supported by mod-host are: add - * add an LV2 plugin encapsulated as a jack client + * add an LV2 plugin encapsulated as a jack client, in activated state e.g.: add "http://lv2plug.in/plugins/eg-amp" 0 instance_number must be any value between 0 ~ 9990, inclusively remove - * remove an LV2 plugin instance (and also the jack client) + * remove an LV2 plugin instance, and also the jack client e.g.: remove 0 when instance_number is -1 all plugins will be removed + activate + * toggle effect activated state + e.g.: activate 0 1 + if activate_value = 1 activate effect + if activate_value = 0 deactivate effect + + preload + * add an LV2 plugin encapsulated as a jack client, in deactivated state + e.g.: preload "http://lv2plug.in/plugins/eg-amp" 0 + instance_number must be any value between 0 ~ 9990, inclusively + preset_load * load a preset state of an effect instance e.g.: preset_load 0 "http://drobilla.net/plugins/mda/presets#JX10-moogcury-lite" @@ -132,10 +143,26 @@ The commands supported by mod-host are: * connect two jack ports e.g.: connect "system:capture_1" "effect_0:in" + connect_matching + * connect the same connected ports of a port to another, so they match. + e.g.: connect "effect_0:in" "effect_1:in" + + connect_safe + * safely connect two jack ports, verifying that they exist beforehand + e.g.: connect_safe "system:capture_1" "effect_0:in" + disconnect * disconnect two jack ports e.g.: disconnect "system:capture_1" "effect_0:in" + disconnect_all + * disconnect all connections of a jack port + e.g.: disconnect_all "effect_0:in" + + disconnect_safe + * safely disconnect two jack ports, verifying that they exist and have connections beforehand + e.g.: disconnect_safe "system:capture_1" "effect_0:in" + bypass * toggle effect processing e.g.: bypass 0 1 @@ -154,6 +181,17 @@ The commands supported by mod-host are: * monitor a control port according to a condition e.g: param_monitor 0 "gain" ">" 2.5 + params_flush + * flush several param values at once and trigger reset if available + * reset value must be according to reset property spec + e.g.: params_flush 0 1 2 "gain" 0.0 "distortion" 0.5 + + pre_run + * pre-run and flush several param values at once and trigger reset if available + * reset value must be according to reset property spec + * instance must be in deactivated state or global processing disabled (and plugin does not have isLive flag) + e.g.: pre_run 0 1 2 "gain" 0.0 "distortion" 0.5 + patch_set * set the value of a control port e.g.: patch_set 0 "gain" 2.5 @@ -176,6 +214,10 @@ The commands supported by mod-host are: * request monitoring of an output control port (on the feedback port) e.g.: monitor_output 0 "meter" + monitor_output_off + * turn off monitoring of an output control port (on the feedback port) + e.g.: monitor_output_off 0 "meter" + midi_learn * start MIDI learn for a control port e.g.: midi_learn 0 "gain" 0.0 1.0 @@ -189,21 +231,25 @@ The commands supported by mod-host are: * unmap the MIDI controller from a control port e.g.: midi_unmap 0 "gain" + monitor_audio_levels + * monitor audio levels for a specific jack port (on the feedback port) + e.g.: monitor_audio_levels "system:capture_1" 1 + + monitor_cpu_load + * monitor cpu load for specific instances + e.g.: monitor_cpu_load 1 2 0 1 + + monitor_midi_control + * listen to MIDI control change messages (on the feedback port) + e.g.: monitor_midi_control 7 1 + monitor_midi_program * listen to MIDI program change messages (on the feedback port) e.g.: monitor_midi_program 0 1 - set_midi_program_change_pedalboard_bank_channel - * set the MIDI channel which changes pedalboard banks on MIDI program change. is in the range of [0,15]. - e.g.: set_midi_program_change_pedalboard_bank_channel 1 5 to enable listening for bank changes on channel 6 - - set_midi_program_change_pedalboard_snapshot_channel - * set the MIDI channel which changes pedalboard snapshots on MIDI program change. is in the range of [0,15]. - e.g.: set_midi_program_change_pedalboard_snapshot_channel 1 4 to enable listening for preset changes on channel 5 - - cc_map