diff options
-rw-r--r-- | pluginhost~/README | 27 | ||||
-rw-r--r-- | pluginhost~/doc/pluginhost~-help.pd (renamed from pluginhost~/doc/dssi-help.pd) | 12 | ||||
-rwxr-xr-x | pluginhost~/makefile | 20 | ||||
-rw-r--r-- | pluginhost~/src/pluginhost~.c (renamed from pluginhost~/src/dssi~.c) | 350 | ||||
-rw-r--r-- | pluginhost~/src/pluginhost~.h (renamed from pluginhost~/src/dssi~.h) | 29 |
5 files changed, 210 insertions, 228 deletions
diff --git a/pluginhost~/README b/pluginhost~/README index ab164e8..aab7983 100644 --- a/pluginhost~/README +++ b/pluginhost~/README @@ -1,29 +1,24 @@ -dssi~ - a DSSI host for Pure Data -================================= +pluginhost~ - a plugin host for Pure Data +========================================== -This directory (dssi) contains sourcecode and possibly binaries for a DSSI host for Pure Data. To find out more about DSSI visit http://dssi.sourceforge.net. - -The functionality of the external is demonstrated in in the help patch (dssi/doc/help-dssi.pd). +This directory (pluginhost) contains sourcecode and possibly binaries for a plugin host for Pure Data. It currently supports the following plugin types: + LADSPA: http://www.ladspa.org/ + DSSI: http://dssi.sourceforge.net/ +The functionality of the external is demonstrated in in the help patch (pluginhost/doc/pluginhost~-help.pd). Requirements ------------ -To compile dssi~ the following are required; +To compile pluginhost~ the following are required; -DSSI >= 0.9 -LADSPA SDK >= 1.x -liblo >= 0.12 -alsa/seq_event.h - included -pd headers >= 0.37 +pd header (m_pd.h) >= 0.37 The help patch requires: PD >= 0.39 - - Installation ------------ @@ -34,12 +29,10 @@ make install (as root) Once compiled the binary file and help file should be placed in directories that are included in Pure Data's search path. - - License ------- -All files included in the dssi/src/ directory, and all binary files (if included) are licensed under the GNU GPL Version 2 (see gpl.txt for details). +All files included in the pluginhost/src/ directory, and all binary files (if included) are licensed under the GNU GPL Version 2 (see gpl.txt for details). -All files included in the dssi/include/ directory are licensed under the GNU Lesser General Public License (see lesser.txt for details). +All files included in the pluginhost/include/ directory are licensed under the GNU Lesser General Public License (see lesser.txt for details). diff --git a/pluginhost~/doc/dssi-help.pd b/pluginhost~/doc/pluginhost~-help.pd index b4e5ba3..3b6cd1f 100644 --- a/pluginhost~/doc/dssi-help.pd +++ b/pluginhost~/doc/pluginhost~-help.pd @@ -1,8 +1,8 @@ #N canvas 186 66 1411 654 10; #X obj 1268 524 catch~ mix; -#X text 602 15 dssi~ - a DSSI host for Pure Data --------------------------------- +#X text 602 15 pluginhost~ - a DSSI host for Pure Data --------------------------------- ; -#X obj 7 63 cnv 15 1400 300 empty empty dssi~_instance_1 20 12 0 14 +#X obj 7 63 cnv 15 1400 300 empty empty pluginhost~_instance_1 20 12 0 14 -257472 -66577 0; #X obj 443 203 line; #X msg 443 182 \$1 10; @@ -44,7 +44,7 @@ #X text 585 97 --program change--; #X text 105 96 -----notes-----; #X text 718 97 --sysex patch/bank load--; -#X obj 5 371 cnv 15 600 300 empty empty dssi~_instance_2 20 12 0 14 +#X obj 5 371 cnv 15 600 300 empty empty pluginhost~_instance_2 20 12 0 14 -225280 -66577 0; #X obj 435 620 throw~ mix; #X obj 474 122 loadbang; @@ -74,13 +74,13 @@ program and control data:; #X text 806 212 LAST ARGUMENT GIVES PLUGIN INSTANCE TO BE CONFIGURED \, NO LAST ARGUMENT=(ALL INSTANCES); #X obj 388 620 print; -#X text 738 458 Usage: [dssi~ <[path to libary:plugin name] or [plugin +#X text 738 458 Usage: [pluginhost~ <[path to libary:plugin name] or [plugin name]> <number of plugin instances>]; -#X obj 229 291 dssi~ /usr/local/lib/dssi/hexter.so:hexter 2; +#X obj 229 291 pluginhost~ hexter.so:hexter 2; #X msg 193 342 control #1 445; #X obj 451 394 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 -1 7900 1; -#X obj 378 582 dssi~ sine_faaa 6 -------------; +#X obj 378 582 pluginhost~ sine_faaa 6 -------------; #X obj 284 438 expr $f1 \; $f1*2 \; $f1*3 \; $f1*4 \; $f1*5 \; $f1*6 ; #X obj 285 397 loadbang; diff --git a/pluginhost~/makefile b/pluginhost~/makefile index 6a87da9..b95b51d 100755 --- a/pluginhost~/makefile +++ b/pluginhost~/makefile @@ -1,5 +1,5 @@ -NAME=dssi~ -CSYM=dssi~ +NAME=pluginhost~ +CSYM=pluginhost~ LIBDIR=/usr/local/lib PDDIR=$(LIBDIR)/pd @@ -30,8 +30,8 @@ LINUXINCLUDE = -I/usr/include -I./include .c.pd_linux: $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/jsearch.c $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/jload.c - $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/dssi~.c - gcc --export-dynamic -shared -o $(NAME).pd_linux dssi~.o jload.o jsearch.o -lc -lm -llo + $(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -c src/pluginhost~.c + gcc --export-dynamic -shared -o $(NAME).pd_linux pluginhost~.o jload.o jsearch.o -lc -lm -llo # strip --strip-unneeded $(NAME).pd_linux cp $(NAME).pd_linux ~/pd-externals/ rm -f *.o @@ -45,13 +45,13 @@ pd_darwin: src/$(NAME).pd_darwin DARWINCFLAGS = -DPD -arch $(ARCHITECTURE) -O3 -Wall -W -Wshadow -Wstrict-prototypes \ -Wno-unused -Wno-parentheses -Wno-switch -L/usr/local/lib/ -DDEBUG=$(DEBUG) -DARWININCLUDE = -I ./ -I ../src -I/usr/local/include/ -I ./include -I/usr/local/include/dssi/ +DARWININCLUDE = -I ./ -I ../src -I/usr/local/include/ -I ./include -I/usr/local/include/pluginhost/ .c.pd_darwin: $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/jsearch.c $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/jload.c - $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/dssi~.c - $(CC) -arch $(ARCHITECTURE) -bundle -undefined suppress -flat_namespace -llo -o $(NAME).pd_darwin dssi~.o jload.o jsearch.o + $(CC) $(DARWINCFLAGS) $(DARWININCLUDE) -c src/pluginhost~.c + $(CC) -arch $(ARCHITECTURE) -bundle -undefined suppress -flat_namespace -llo -o $(NAME).pd_darwin pluginhost~.o jload.o jsearch.o rm -f *.o # ----------------------- Generic ----------------------- @@ -60,7 +60,7 @@ clean: rm -f *.o *.pd_* so_locations install: - cp dssi~.pd_* $(INSTALLPATH) - install -d $(PDDIR)/doc/5.reference/dssi/ + cp pluginhost~.pd_* $(INSTALLPATH) + install -d $(PDDIR)/doc/5.reference/pluginhost/ install -m 644 doc/*-help* $(PDDIR)/doc/5.reference/ - install -m 644 doc/output~.pd $(PDDIR)/doc/5.reference/dssi/ + install -m 644 doc/output~.pd $(PDDIR)/doc/5.reference/pluginhost/ diff --git a/pluginhost~/src/dssi~.c b/pluginhost~/src/pluginhost~.c index f195637..b18ef23 100644 --- a/pluginhost~/src/dssi~.c +++ b/pluginhost~/src/pluginhost~.c @@ -28,10 +28,10 @@ #include <assert.h> -#include "dssi~.h" +#include "pluginhost~.h" #include "jutils.h" -static t_class *dssi_tilde_class; +static t_class *ph_tilde_class; /*From dx7_voice_data.c by Sean Bolton */ @@ -114,7 +114,7 @@ static DSSI_Descriptor * ladspa_to_dssi( return (DSSI_Descriptor *)dssiDesc; } /* - static void dssi_tilde_load_plugin(const char *dll_path, void **dll_handle){ + static void ph_tilde_load_plugin(const char *dll_path, void **dll_handle){ *dll_handle = dlopen(dll_path, RTLD_NOW | RTLD_LOCAL); if (*dll_handle){ @@ -125,7 +125,7 @@ static DSSI_Descriptor * ladspa_to_dssi( } */ -static void dssi_tilde_port_info(t_dssi_tilde *x){ +static void ph_tilde_port_info(t_ph_tilde *x){ t_int i; for (i = 0; i < (t_int)x->descriptor->LADSPA_Plugin->PortCount; i++) { @@ -198,7 +198,7 @@ static void dssi_tilde_port_info(t_dssi_tilde *x){ #endif } -static void dssi_tilde_assign_ports(t_dssi_tilde *x){ +static void ph_tilde_assign_ports(t_ph_tilde *x){ int i; #if DEBUG @@ -254,7 +254,7 @@ static void dssi_tilde_assign_ports(t_dssi_tilde *x){ } -static void dssi_tilde_init_instance(t_dssi_tilde *x, t_int instance){ +static void ph_tilde_init_instance(t_ph_tilde *x, t_int instance){ x->instances[instance].pluginPrograms = NULL; x->instances[instance].currentBank = 0; @@ -280,7 +280,7 @@ static void dssi_tilde_init_instance(t_dssi_tilde *x, t_int instance){ } -static void dssi_tilde_connect_ports(t_dssi_tilde *x, t_int instance){ +static void ph_tilde_connect_ports(t_ph_tilde *x, t_int instance){ t_int i; @@ -343,7 +343,7 @@ static void dssi_tilde_connect_ports(t_dssi_tilde *x, t_int instance){ } -static void dssi_tilde_activate_plugin(t_dssi_tilde *x, t_int instance){ +static void ph_tilde_activate_plugin(t_ph_tilde *x, t_int instance){ if(x->descriptor->LADSPA_Plugin->activate){ #if DEBUG @@ -356,7 +356,7 @@ static void dssi_tilde_activate_plugin(t_dssi_tilde *x, t_int instance){ #endif } -static void dssi_tilde_deactivate_plugin(t_dssi_tilde *x, t_float instance_f){ +static void ph_tilde_deactivate_plugin(t_ph_tilde *x, t_float instance_f){ t_int instance = (t_int)instance_f; if(x->descriptor->LADSPA_Plugin->deactivate) @@ -368,10 +368,10 @@ static void dssi_tilde_deactivate_plugin(t_dssi_tilde *x, t_float instance_f){ static void osc_error(int num, const char *msg, const char *where) { - post("dssi~: osc error %d in path %s: %s\n",num, where, msg); + post("pluginhost~: osc error %d in path %s: %s\n",num, where, msg); } -static void query_programs(t_dssi_tilde *x, t_int instance) { +static void query_programs(t_ph_tilde *x, t_int instance) { int i; #if DEBUG post("querying programs"); @@ -420,13 +420,13 @@ static void query_programs(t_dssi_tilde *x, t_int instance) { #endif } } - /* No - it should be 0 anyway - dssi_init */ + /* No - it should be 0 anyway - ph_init */ /* else x->instances[instance].plugin_ProgramCount = 0; */ } } -static LADSPA_Data get_port_default(t_dssi_tilde *x, int port) +static LADSPA_Data get_port_default(t_ph_tilde *x, int port) { LADSPA_Descriptor *plugin = (LADSPA_Descriptor *)x->descriptor->LADSPA_Plugin; LADSPA_PortRangeHint hint = plugin->PortRangeHints[port]; @@ -489,7 +489,7 @@ static LADSPA_Data get_port_default(t_dssi_tilde *x, int port) return 0.0f; } -static unsigned dssi_tilde_get_parm_number (t_dssi_tilde *x, +static unsigned ph_tilde_get_parm_number (t_ph_tilde *x, const char *str) /* find out if str points to a parameter number or not and return the number or zero. The number string has to begin with a '#' character */ @@ -518,7 +518,7 @@ static unsigned dssi_tilde_get_parm_number (t_dssi_tilde *x, } } -static void dssi_tilde_set_control_input_by_index (t_dssi_tilde *x, +static void ph_tilde_set_control_input_by_index (t_ph_tilde *x, signed ctrl_input_index, float value, t_int instance) @@ -526,7 +526,7 @@ static void dssi_tilde_set_control_input_by_index (t_dssi_tilde *x, long port, portno; if (ctrl_input_index >= x->plugin_controlIns) { - post("dssi~: control port number %d is out of range [1, %d]", + post("pluginhost~: control port number %d is out of range [1, %d]", ctrl_input_index + 1, x->plugin_controlIns); return; } @@ -561,13 +561,13 @@ static void dssi_tilde_set_control_input_by_index (t_dssi_tilde *x, if(x->is_DSSI){ if(x->instances[instance].uiTarget == NULL){ #if DEBUG - post("dssi~: unable to send to NULL target"); + post("pluginhost~: unable to send to NULL target"); #endif return; } if(x->instances[instance].ui_osc_control_path == NULL){ #if DEBUG - post("dssi~: unable to send to NULL control path"); + post("pluginhost~: unable to send to NULL control path"); #endif return; } @@ -578,7 +578,7 @@ static void dssi_tilde_set_control_input_by_index (t_dssi_tilde *x, } -static void dssi_tilde_set_control_input_by_name (t_dssi_tilde *x, +static void ph_tilde_set_control_input_by_name (t_ph_tilde *x, const char* name, float value, t_int instance) @@ -588,7 +588,7 @@ static void dssi_tilde_set_control_input_by_name (t_dssi_tilde *x, int found_port = 0; /* boolean */ if (name == NULL || strlen (name) == 0) { - post("dssi~: no control port name specified"); + post("pluginhost~: no control port name specified"); return; } @@ -620,15 +620,15 @@ static void dssi_tilde_set_control_input_by_name (t_dssi_tilde *x, if (!found_port) { - post("dssi~: plugin doesn't have a control input port named \"%s\"", + post("pluginhost~: plugin doesn't have a control input port named \"%s\"", name); return; } - dssi_tilde_set_control_input_by_index (x, ctrl_input_index, value, instance); + ph_tilde_set_control_input_by_index (x, ctrl_input_index, value, instance); } -static void dssi_tilde_control (t_dssi_tilde *x, +static void ph_tilde_control (t_ph_tilde *x, t_symbol* ctrl_name, t_float ctrl_value, t_float instance_f) @@ -639,7 +639,7 @@ static void dssi_tilde_control (t_dssi_tilde *x, int n_instances = x->n_instances; if (instance > x->n_instances || instance < -1){ - post("dssi~: control: invalid instance number %d", instance); + post("pluginhost~: control: invalid instance number %d", instance); return; } @@ -648,33 +648,33 @@ static void dssi_tilde_control (t_dssi_tilde *x, #endif if (ctrl_name->s_name == NULL || strlen (ctrl_name->s_name) == 0) { - post("dssi~: control messages must have a name and a value"); + post("pluginhost~: control messages must have a name and a value"); return; } - parm_num = dssi_tilde_get_parm_number (x, ctrl_name->s_name); + parm_num = ph_tilde_get_parm_number (x, ctrl_name->s_name); if (parm_num) { if(instance >= 0) - dssi_tilde_set_control_input_by_index (x, parm_num - 1, + ph_tilde_set_control_input_by_index (x, parm_num - 1, ctrl_value, instance); else if (instance == -1){ while(n_instances--) - dssi_tilde_set_control_input_by_index (x, parm_num - 1, + ph_tilde_set_control_input_by_index (x, parm_num - 1, ctrl_value, n_instances); } } else { if(instance >= 0) - dssi_tilde_set_control_input_by_name (x, ctrl_name->s_name, + ph_tilde_set_control_input_by_name (x, ctrl_name->s_name, ctrl_value, instance); else if (instance == -1){ while(n_instances--) - dssi_tilde_set_control_input_by_name (x, + ph_tilde_set_control_input_by_name (x, ctrl_name->s_name, ctrl_value, n_instances); } } } -static void dssi_tilde_info (t_dssi_tilde *x){ +static void ph_tilde_info (t_ph_tilde *x){ unsigned int i, ctrl_portno, audio_portno; @@ -709,7 +709,7 @@ static void dssi_tilde_info (t_dssi_tilde *x){ } } -static void dssi_tilde_ladspa_description(t_dssi_tilde *x, t_atom *at, +static void ph_tilde_ladspa_description(t_ph_tilde *x, t_atom *at, DSSI_Descriptor *psDescriptor){ at[0].a_w.w_symbol = gensym ((char*)psDescriptor->LADSPA_Plugin->Name); @@ -726,13 +726,13 @@ static void dssi_tilde_ladspa_description(t_dssi_tilde *x, t_atom *at, outlet_anything (x->control_outlet, gensym ("maker"), 1, at); } -static void dssi_tilde_ladspa_describe(const char * pcFullFilename, +static void ph_tilde_ladspa_describe(const char * pcFullFilename, void * pvPluginHandle, DSSI_Descriptor_Function fDescriptorFunction, void* user_data, int is_DSSI) { - t_dssi_tilde *x = (((void**)user_data)[0]); + t_ph_tilde *x = (((void**)user_data)[0]); t_atom at[1]; DSSI_Descriptor *psDescriptor; long lIndex; @@ -748,7 +748,7 @@ static void dssi_tilde_ladspa_describe(const char * pcFullFilename, for (lIndex = 0; (psDescriptor = (DSSI_Descriptor *) fDescriptorFunction(lIndex)) != NULL; lIndex++) - dssi_tilde_ladspa_description(x, &at[0], psDescriptor); + ph_tilde_ladspa_description(x, &at[0], psDescriptor); } else if(!is_DSSI) @@ -763,7 +763,7 @@ static void dssi_tilde_ladspa_describe(const char * pcFullFilename, fDescriptorFunction(lIndex++); */ if(psDescriptor->LADSPA_Plugin != NULL){ - dssi_tilde_ladspa_description(x, &at[0], psDescriptor); + ph_tilde_ladspa_description(x, &at[0], psDescriptor); free((DSSI_Descriptor *)psDescriptor); } else @@ -774,14 +774,14 @@ static void dssi_tilde_ladspa_describe(const char * pcFullFilename, */ } -static void dssi_tilde_list_plugins (t_dssi_tilde *x) { +static void ph_tilde_list_plugins (t_ph_tilde *x) { void* user_data[1]; user_data[0] = x; - LADSPAPluginSearch(dssi_tilde_ladspa_describe,(void*)user_data); + LADSPAPluginSearch(ph_tilde_ladspa_describe,(void*)user_data); } static int osc_debug_handler(const char *path, const char *types, lo_arg **argv, - int argc, void *data, t_dssi_tilde *x) + int argc, void *data, t_ph_tilde *x) { int i; printf("got unhandled OSC message:\npath: <%s>\n", path); @@ -793,7 +793,7 @@ static int osc_debug_handler(const char *path, const char *types, lo_arg **argv, return 1; } -static void dssi_tilde_get_current_program(t_dssi_tilde *x, int instance){ +static void ph_tilde_get_current_program(t_ph_tilde *x, int instance){ int i; t_atom argv[3]; @@ -810,7 +810,7 @@ static void dssi_tilde_get_current_program(t_dssi_tilde *x, int instance){ } -static void dssi_tilde_program_change(t_dssi_tilde *x, int instance){ +static void ph_tilde_program_change(t_ph_tilde *x, int instance){ /* jack-dssi-host queues program changes by using pending program change variables. In the audio callback, if a program change is received via MIDI it over writes the pending value (if any) set by the GUI. If unset, or processed the value will default back to -1. The following call to select_program is then made. I don't think it eventually needs to be done this way - i.e. do we need 'pending'? */ #if DEBUG post("executing program change"); @@ -852,10 +852,10 @@ static void dssi_tilde_program_change(t_dssi_tilde *x, int instance){ x->instances[instance].pendingBankMSB = -1; x->instances[instance].pendingBankLSB = -1; } - dssi_tilde_get_current_program(x, instance); + ph_tilde_get_current_program(x, instance); } -static int osc_program_handler(t_dssi_tilde *x, lo_arg **argv, int instance) +static int osc_program_handler(t_ph_tilde *x, lo_arg **argv, int instance) { unsigned long bank = argv[0]->i; unsigned long program = argv[1]->i; @@ -871,7 +871,7 @@ static int osc_program_handler(t_dssi_tilde *x, lo_arg **argv, int instance) for (i = 0; i < x->instances[instance].plugin_ProgramCount; ++i) { if (x->instances[instance].pluginPrograms[i].Bank == bank && x->instances[instance].pluginPrograms[i].Program == program) { - post("dssi~: OSC: setting bank %u, program %u, name %s\n", + post("pluginhost~: OSC: setting bank %u, program %u, name %s\n", bank, program, x->instances[instance].pluginPrograms[i].Name); found = 1; @@ -889,12 +889,12 @@ static int osc_program_handler(t_dssi_tilde *x, lo_arg **argv, int instance) #if DEBUG post("bank = %d, program = %d, BankMSB = %d BankLSB = %d", bank, program, x->instances[instance].pendingBankMSB, x->instances[instance].pendingBankLSB); #endif - dssi_tilde_program_change(x, instance); + ph_tilde_program_change(x, instance); return 0; } -static int osc_control_handler(t_dssi_tilde *x, lo_arg **argv, int instance) +static int osc_control_handler(t_ph_tilde *x, lo_arg **argv, int instance) { int port = argv[0]->i; LADSPA_Data value = argv[1]->f; @@ -907,7 +907,7 @@ static int osc_control_handler(t_dssi_tilde *x, lo_arg **argv, int instance) return 0; } -static int osc_midi_handler(t_dssi_tilde *x, lo_arg **argv, t_int instance) +static int osc_midi_handler(t_ph_tilde *x, lo_arg **argv, t_int instance) { int ev_type = 0, chan = 0; @@ -943,7 +943,7 @@ static int osc_midi_handler(t_dssi_tilde *x, lo_arg **argv, t_int instance) return 0; } -static int osc_configure_handler(t_dssi_tilde *x, lo_arg **argv, int instance) +static int osc_configure_handler(t_ph_tilde *x, lo_arg **argv, int instance) { const char *key = (const char *)&argv[0]->s; const char *value = (const char *)&argv[1]->s; @@ -975,7 +975,7 @@ static int osc_configure_handler(t_dssi_tilde *x, lo_arg **argv, int instance) return 0; } -static int osc_exiting_handler(t_dssi_tilde *x, lo_arg **argv, int instance){ +static int osc_exiting_handler(t_ph_tilde *x, lo_arg **argv, int instance){ #if DEBUG post("exiting handler called: Freeing ui_osc"); @@ -1003,13 +1003,13 @@ static int osc_exiting_handler(t_dssi_tilde *x, lo_arg **argv, int instance){ return 0; } -static int osc_update_handler(t_dssi_tilde *x, lo_arg **argv, int instance) +static int osc_update_handler(t_ph_tilde *x, lo_arg **argv, int instance) { const char *url = (char *)&argv[0]->s; const char *path; t_int i; char *host, *port; - t_dssi_configure_pair *p; + t_ph_configure_pair *p; p = x->configure_buffer_head; @@ -1064,14 +1064,14 @@ static int osc_update_handler(t_dssi_tilde *x, lo_arg **argv, int instance) while(p){ if(p->instance == instance) - dssi_tilde_send_configure(x, p->key, + ph_tilde_send_configure(x, p->key, p->value, instance); p = p->next; } /* Send current bank/program (-FIX- another race...) */ if (x->instances[instance].pendingProgramChange >= 0) - dssi_tilde_program_change(x, instance); + ph_tilde_program_change(x, instance); #if DEBUG post("pendingProgramChange = %d", x->instances[instance].pendingProgramChange); #endif @@ -1105,7 +1105,7 @@ static int osc_update_handler(t_dssi_tilde *x, lo_arg **argv, int instance) return 0; } -static void dssi_tilde_osc_setup(t_dssi_tilde *x, int instance){ +static void ph_tilde_osc_setup(t_ph_tilde *x, int instance){ if(instance == 0){ x->osc_thread = lo_server_thread_new(NULL, osc_error); @@ -1132,7 +1132,7 @@ static void dssi_tilde_osc_setup(t_dssi_tilde *x, int instance){ #endif } -static void dssi_tilde_init_programs(t_dssi_tilde *x, int instance){ +static void ph_tilde_init_programs(t_ph_tilde *x, int instance){ #if DEBUG post("Setting up program data"); @@ -1152,7 +1152,7 @@ static void dssi_tilde_init_programs(t_dssi_tilde *x, int instance){ } } -static void dssi_tilde_load_gui(t_dssi_tilde *x, int instance){ +static void ph_tilde_load_gui(t_ph_tilde *x, int instance){ t_int err = 0; char *osc_url; char *gui_path; @@ -1181,7 +1181,7 @@ static void dssi_tilde_load_gui(t_dssi_tilde *x, int instance){ #endif if(!(dp = opendir(gui_base))){ - post("dssi~: unable to find GUI in %s, continuing without...", gui_base); + post("pluginhost~: unable to find GUI in %s, continuing without...", gui_base); return; } else { @@ -1216,7 +1216,7 @@ static void dssi_tilde_load_gui(t_dssi_tilde *x, int instance){ /* char osc_url[1024];*/ sprintf(osc_url, "%s/%s", x->osc_url_base, x->instances[instance].osc_url_path); - post("dssi~: instance %d URL: %s",instance, osc_url); + post("pluginhost~: instance %d URL: %s",instance, osc_url); #if DEBUG post("Trying to open GUI!"); #endif @@ -1245,10 +1245,10 @@ static void dssi_tilde_load_gui(t_dssi_tilde *x, int instance){ } } -static void MIDIbuf(int type, int chan, int param, int val, t_dssi_tilde *x){ +static void MIDIbuf(int type, int chan, int param, int val, t_ph_tilde *x){ if(chan > x->n_instances - 1 || chan < 0){ - post("dssi~: note discarded: MIDI data is destined for a channel that doesn't exist"); + post("pluginhost~: note discarded: MIDI data is destined for a channel that doesn't exist"); return; } @@ -1307,7 +1307,7 @@ static void MIDIbuf(int type, int chan, int param, int val, t_dssi_tilde *x){ post("pgm chabge received in buffer: MSB: %d, LSB %d, prog: %d", x->instances[mapped].pendingBankMSB, x->instances[mapped].pendingBankLSB, val); #endif - dssi_tilde_program_change(x, mapped); + ph_tilde_program_change(x, mapped); break; } } @@ -1326,7 +1326,7 @@ static void MIDIbuf(int type, int chan, int param, int val, t_dssi_tilde *x){ pthread_mutex_unlock(&x->midiEventBufferMutex); /**release mutex*/ } -static void dssi_tilde_list(t_dssi_tilde *x, t_symbol *s, int argc, t_atom *argv) { +static void ph_tilde_list(t_ph_tilde *x, t_symbol *s, int argc, t_atom *argv) { char *msg_type; int ev_type = 0; msg_type = (char *)malloc(TYPE_STRING_SIZE); @@ -1364,7 +1364,7 @@ static void dssi_tilde_list(t_dssi_tilde *x, t_symbol *s, int argc, t_atom *argv free(msg_type); } -static char *dssi_tilde_send_configure(t_dssi_tilde *x, char *key, +static char *ph_tilde_send_configure(t_ph_tilde *x, char *key, char *value, t_int instance){ char *debug; @@ -1381,7 +1381,7 @@ static char *dssi_tilde_send_configure(t_dssi_tilde *x, char *key, return debug; } -static void dssi_show(t_dssi_tilde *x, t_int instance, t_int toggle){ +static void ph_show(t_ph_tilde *x, t_int instance, t_int toggle){ if(x->instances[instance].uiTarget){ if (x->instances[instance].ui_hidden && toggle) { @@ -1397,16 +1397,16 @@ static void dssi_show(t_dssi_tilde *x, t_int instance, t_int toggle){ } else if(toggle){ x->instances[instance].ui_show = 1; - dssi_tilde_load_gui(x, instance); + ph_tilde_load_gui(x, instance); } } -static t_int dssi_tilde_configure_buffer(t_dssi_tilde *x, char *key, +static t_int ph_tilde_configure_buffer(t_ph_tilde *x, char *key, char *value, t_int instance){ /*#ifdef BLAH*/ - t_dssi_configure_pair *current, *p; + t_ph_configure_pair *current, *p; t_int add_node; add_node = 0; current = x->configure_buffer_head; @@ -1420,8 +1420,8 @@ static t_int dssi_tilde_configure_buffer(t_dssi_tilde *x, char *key, if(current) free(current->value); else { - current = (t_dssi_configure_pair *)malloc(sizeof - (t_dssi_configure_pair)); + current = (t_ph_configure_pair *)malloc(sizeof + (t_ph_configure_pair)); current->next = x->configure_buffer_head; x->configure_buffer_head = current; current->key = strdup(key); @@ -1443,8 +1443,8 @@ static t_int dssi_tilde_configure_buffer(t_dssi_tilde *x, char *key, return 0; } -static t_int dssi_tilde_configure_buffer_free(t_dssi_tilde *x){ - t_dssi_configure_pair *curr, *prev; +static t_int ph_tilde_configure_buffer_free(t_ph_tilde *x){ + t_ph_configure_pair *curr, *prev; prev = curr = NULL; for(curr = x->configure_buffer_head; curr != NULL; curr = curr->next){ @@ -1459,19 +1459,7 @@ static t_int dssi_tilde_configure_buffer_free(t_dssi_tilde *x){ return 0; } -/* - static void dssi_tilde_plug (t_dssi_tilde *x, t_symbol* plug_name) { - plugin_tilde_ladspa_close_plugin(x); - x->plugin_library_filename = NULL; - x->plugin_library_filename = plugin_tilde_search_plugin_by_label (x, plug_name->s_name); - if (x->plugin_library_filename == NULL) - post("plugin~: plugin not found in any library"); - if (plugin_tilde_open_plugin (x, plug_name->s_name, x->plugin_library_filename,(unsigned long)sys_getsr ())) - post("plugin~: Unable to open plugin"); - } - */ - -static t_int dssi_tilde_reset(t_dssi_tilde *x, t_float instance_f){ +static t_int ph_tilde_reset(t_ph_tilde *x, t_float instance_f){ t_int instance = (t_int)instance_f - 1; if (instance == -1){ @@ -1495,7 +1483,7 @@ static t_int dssi_tilde_reset(t_dssi_tilde *x, t_float instance_f){ return 0; } -static void dssi_tilde_search_plugin_callback ( +static void ph_tilde_search_plugin_callback ( const char* full_filename, void* plugin_handle, DSSI_Descriptor_Function descriptor_function, @@ -1512,7 +1500,7 @@ static void dssi_tilde_search_plugin_callback ( if (*out_lib_name == NULL) { #if DEBUG - post("plugin~: searching plugin \"%s\"...", full_filename); + post("pluginhost~: searching plugin \"%s\"...", full_filename); #endif for(plug_index = 0;(is_DSSI ? (descriptor = @@ -1522,14 +1510,14 @@ static void dssi_tilde_search_plugin_callback ( descriptor_function(plug_index)))->LADSPA_Plugin)) != NULL; plug_index++){ #if DEBUG - post("plugin~: label \"%s\"", descriptor->LADSPA_Plugin->Label); + post("pluginhost~: label \"%s\"", descriptor->LADSPA_Plugin->Label); #endif if (strcasecmp (name, descriptor->LADSPA_Plugin->Label) == 0) { *out_lib_name = strdup (full_filename); #if DEBUG - post("plugin~: found plugin \"%s\" in library \"%s\"", + post("pluginhost~: found plugin \"%s\" in library \"%s\"", name, full_filename); #endif /* if(!is_DSSI){ @@ -1546,7 +1534,7 @@ static void dssi_tilde_search_plugin_callback ( } } -static const char* plugin_tilde_search_plugin_by_label (t_dssi_tilde *x, +static const char* plugin_tilde_search_plugin_by_label (t_ph_tilde *x, const char *name) { char* lib_name = NULL; @@ -1559,7 +1547,7 @@ static const char* plugin_tilde_search_plugin_by_label (t_dssi_tilde *x, #endif lib_name = NULL; - LADSPAPluginSearch (dssi_tilde_search_plugin_callback, + LADSPAPluginSearch (ph_tilde_search_plugin_callback, (void*)user_data); /* The callback (allocates and) writes lib_name, if it finds the plugin */ @@ -1567,10 +1555,10 @@ static const char* plugin_tilde_search_plugin_by_label (t_dssi_tilde *x, } -static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_atom *argv) +static t_int ph_tilde_ph_methods(t_ph_tilde *x, t_symbol *s, int argc, t_atom *argv) { if (!x->is_DSSI) { - post("dssi~: plugin is not a DSSI plugin, operation not supported"); + post("pluginhost~: plugin is not a DSSI plugin, operation not supported"); return 0; } char *msg_type, @@ -1612,7 +1600,7 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a if(!strcmp(msg_type, "load") && x->descriptor->configure){ filename = argv[1].a_w.w_symbol->s_name; - post("dssi~: loading patch: %s for instance %d", filename, instance); + post("pluginhost~: loading patch: %s for instance %d", filename, instance); if(!strcmp(x->descriptor->LADSPA_Plugin->Label, "hexter") || !strcmp(x->descriptor->LADSPA_Plugin->Label, "hexter6")) { @@ -1632,41 +1620,41 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a fp = fopen(filepath, "rb"); } else{ - post("dssi~: unable to get file descriptor"); + post("pluginhost~: unable to get file descriptor"); } /*From dx7_voice_data by Sean Bolton */ if(fp == NULL){ - post("dssi~: unable to open patch file: %s", filename); + post("pluginhost~: unable to open patch file: %s", filename); return 0; } if (fseek(fp, 0, SEEK_END) || (filelength = ftell(fp)) == -1 || fseek(fp, 0, SEEK_SET)) { - post("dssi~: couldn't get length of patch file: %s", + post("pluginhost~: couldn't get length of patch file: %s", filename); fclose(fp); return 0; } if (filelength == 0) { - post("dssi~: patch file has zero length"); + post("pluginhost~: patch file has zero length"); fclose(fp); return 0; } else if (filelength > 16384) { - post("dssi~: patch file is too large"); + post("pluginhost~: patch file is too large"); fclose(fp); return 0; } if (!(raw_patch_data = (unsigned char *) malloc(filelength))) { post( - "dssi~: couldn't allocate memory for raw patch file"); + "pluginhost~: couldn't allocate memory for raw patch file"); fclose(fp); return 0; } if (fread(raw_patch_data, 1, filelength, fp) != (size_t)filelength) { - post("dssi~: short read on patch file: %s", filename); + post("pluginhost~: short read on patch file: %s", filename); free(raw_patch_data); fclose(fp); return 0; @@ -1711,7 +1699,7 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a if (filelength != DX7_DUMP_SIZE_BULK || raw_patch_data[DX7_DUMP_SIZE_BULK - 1] != 0xf7) { - post("dssi~: badly formatted DX7 32 voice dump!"); + post("pluginhost~: badly formatted DX7 32 voice dump!"); count = 0; #ifdef CHECKSUM_PATCH_FILES_ON_LOAD @@ -1719,7 +1707,7 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a DX7_VOICE_SIZE_PACKED * 32) != raw_patch_data[DX7_DUMP_SIZE_BULK - 2]) { - post("dssi~: DX7 32 voice dump with bad checksum!"); + post("pluginhost~: DX7 32 voice dump with bad checksum!"); count = 0; #endif @@ -1734,7 +1722,7 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a } else { /* unsuccessful load */ - post("dssi~: unknown patch bank file format!"); + post("pluginhost~: unknown patch bank file format!"); count = 0; } @@ -1753,7 +1741,7 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a value = filename; } else{ - post("dssi~: %s patches are not supported", + post("pluginhost~: %s patches are not supported", x->descriptor->LADSPA_Plugin->Label); } @@ -1763,13 +1751,13 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a pathlen = strlen(argv[1].a_w.w_symbol->s_name) + 2; x->project_dir = malloc((pathlen) * sizeof(char)); atom_string(&argv[1], x->project_dir, pathlen); - post("dssi~: project directory for instance %d has been set to: %s", instance, x->project_dir); + post("pluginhost~: project directory for instance %d has been set to: %s", instance, x->project_dir); key = DSSI_PROJECT_DIRECTORY_KEY; value = x->project_dir; } else if(!strcmp(msg_type, "dir")) - post("dssi~: %s %s: operation not supported", msg_type, + post("pluginhost~: %s %s: operation not supported", msg_type, argv[1].a_w.w_symbol->s_name); if(!strcmp(msg_type, "show") || !strcmp(msg_type, "hide")){ @@ -1781,17 +1769,17 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a if(instance == -1){ while(n_instances--) - dssi_show(x, n_instances, toggle); + ph_show(x, n_instances, toggle); } else - dssi_show(x, instance, toggle); + ph_show(x, instance, toggle); } if(!strcmp(msg_type, "remap")) { /* remap channel to instance */ for(i = 0; i < x->n_instances && i < 128; i++){ chan = (int)atom_getfloatarg(1 + i, argc, argv); - post("dssi~: remapped MIDI channel %d to %d", 1+i, chan); + post("pluginhost~: remapped MIDI channel %d to %d", 1+i, chan); x->channelMap[i+1] = chan; } } @@ -1829,16 +1817,16 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a if(key != NULL && value != NULL){ if(instance == -1){ while(n_instances--){ - debug = dssi_tilde_send_configure( + debug = ph_tilde_send_configure( x, key, value, n_instances); - dssi_tilde_configure_buffer(x, key, value, n_instances); + ph_tilde_configure_buffer(x, key, value, n_instances); } } /*FIX: Put some error checking in here to make sure instance is valid*/ else{ - debug = dssi_tilde_send_configure(x, key, value, instance); - dssi_tilde_configure_buffer(x, key, value, instance); + debug = ph_tilde_send_configure(x, key, value, instance); + ph_tilde_configure_buffer(x, key, value, instance); } } #if DEBUG @@ -1850,7 +1838,7 @@ static t_int dssi_tilde_dssi_methods(t_dssi_tilde *x, t_symbol *s, int argc, t_a return 0; } -static void dssi_tilde_bang(t_dssi_tilde *x) +static void ph_tilde_bang(t_ph_tilde *x) { t_atom at[3]; @@ -1870,14 +1858,14 @@ static void dssi_tilde_bang(t_dssi_tilde *x) outlet_anything (x->control_outlet, gensym ("running"), 3, at); } -static t_int *dssi_tilde_perform(t_int *w) +static t_int *ph_tilde_perform(t_int *w) { int N = (t_int)(w[2]); - t_dssi_tilde *x = (t_dssi_tilde *)(w[1]); + t_ph_tilde *x = (t_ph_tilde *)(w[1]); t_float **inputs = (t_float **)(&w[3]); t_float **outputs = (t_float **)(&w[3] + x->plugin_ins); int i, n, timediff, framediff, instance = 0; - /*See comment for dssi_tilde_plug_plugin */ + /*See comment for ph_tilde_plug_plugin */ if(x->dsp){ x->dsp_loop = 1; @@ -1896,7 +1884,7 @@ static t_int *dssi_tilde_perform(t_int *w) /*This should never happen, but check anyway*/ if(instance > x->n_instances || instance < 0){ post( - "dssi~: %s: discarding spurious MIDI data, for instance %d", + "pluginhost~: %s: discarding spurious MIDI data, for instance %d", x->descriptor->LADSPA_Plugin->Label, instance); #if DEBUG @@ -1906,7 +1894,7 @@ static t_int *dssi_tilde_perform(t_int *w) } if (x->instanceEventCounts[instance] == EVENT_BUFSIZE){ - post("dssi~: MIDI overflow on channel %d", instance); + post("pluginhost~: MIDI overflow on channel %d", instance); continue; } @@ -1977,7 +1965,7 @@ static t_int *dssi_tilde_perform(t_int *w) return w + (x->plugin_ins + x->plugin_outs + 3); } -static void dssi_tilde_dsp(t_dssi_tilde *x, t_signal **sp) +static void ph_tilde_dsp(t_ph_tilde *x, t_signal **sp) { if(x->n_instances){ @@ -1994,7 +1982,7 @@ static void dssi_tilde_dsp(t_dssi_tilde *x, t_signal **sp) for(i = 2; i < M; i++) dsp_vector[i] = (t_int)sp[i - 1]->s_vec; - dsp_addv(dssi_tilde_perform, M, dsp_vector); + dsp_addv(ph_tilde_perform, M, dsp_vector); /* int n, m; @@ -2019,11 +2007,11 @@ static void dssi_tilde_dsp(t_dssi_tilde *x, t_signal **sp) for(n = 0; n < x->plugin_outs; n++) *outlets++ = sp[m++]->s_vec; */ } - /* dsp_add(dssi_tilde_perform, 2, sp[0]->s_n, x); */ + /* dsp_add(ph_tilde_perform, 2, sp[0]->s_n, x); */ } -static void dssi_tilde_quit_plugin(t_dssi_tilde *x){ +static void ph_tilde_quit_plugin(t_ph_tilde *x){ t_int i, instance; for(instance = 0; instance < x->n_instances; instance++) { @@ -2039,7 +2027,7 @@ static void dssi_tilde_quit_plugin(t_dssi_tilde *x){ x->descriptor->LADSPA_Plugin->deactivate (x->instanceHandles[instance]); }*/ - dssi_tilde_deactivate_plugin(x, (t_float)instance); + ph_tilde_deactivate_plugin(x, (t_float)instance); /* } */ if (x->descriptor->LADSPA_Plugin && x->descriptor->LADSPA_Plugin->cleanup) { @@ -2049,7 +2037,7 @@ static void dssi_tilde_quit_plugin(t_dssi_tilde *x){ } } -static void dssi_tilde_free_plugin(t_dssi_tilde *x){ +static void ph_tilde_free_plugin(t_ph_tilde *x){ t_int i, instance; if(x->plugin_label != NULL) @@ -2098,7 +2086,7 @@ static void dssi_tilde_free_plugin(t_dssi_tilde *x){ if(x->project_dir != NULL) free(x->project_dir); free(x->osc_url_base); - dssi_tilde_configure_buffer_free(x); + ph_tilde_configure_buffer_free(x); } free((snd_seq_event_t *)x->instanceEventBuffers); free(x->instances); @@ -2125,7 +2113,7 @@ static void dssi_tilde_free_plugin(t_dssi_tilde *x){ } } -static void dssi_tilde_init_plugin(t_dssi_tilde *x){ +static void ph_tilde_init_plugin(t_ph_tilde *x){ x->project_dir = NULL; x->configure_buffer_head = NULL; @@ -2156,7 +2144,7 @@ static void dssi_tilde_init_plugin(t_dssi_tilde *x){ } -static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ +static void *ph_tilde_load_plugin(t_ph_tilde *x, t_int argc, t_atom *argv){ char *plugin_basename = NULL, *plugin_full_path = NULL, *tmpstr, @@ -2227,7 +2215,7 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ } if (x->plugin_handle == NULL) - error("dssi~: can't find plugin in Pd paths, " + error("pluginhost~: can't find plugin in Pd paths, " "try using [declare] to specify the path."); } @@ -2247,12 +2235,12 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ #endif } else{ - post("dssi~: invalid plugin path, must end in .so"); + post("pluginhost~: invalid plugin path, must end in .so"); return (void *) x; } } free(tmpstr); - if(x->desc_func = (DSSI_Descriptor_Function)dlsym(x->plugin_handle, "dssi_descriptor")){ + if(x->desc_func = (DSSI_Descriptor_Function)dlsym(x->plugin_handle, "ph_descriptor")){ x->is_DSSI = 1; x->descriptor = (DSSI_Descriptor *)x->desc_func(0); } @@ -2274,7 +2262,7 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ #if DEBUG post("n_instances = %d", x->n_instances); #endif - x->instances = (t_dssi_instance *)malloc(sizeof(t_dssi_instance) * + x->instances = (t_ph_instance *)malloc(sizeof(t_ph_instance) * x->n_instances); if(x->descriptor){ @@ -2289,35 +2277,35 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ (x->descriptor->LADSPA_Plugin->PortCount * sizeof(t_port_info)); - dssi_tilde_port_info(x); - dssi_tilde_assign_ports(x); + ph_tilde_port_info(x); + ph_tilde_assign_ports(x); for(i = 0; i < x->n_instances; i++){ x->instanceHandles[i] = x->descriptor->LADSPA_Plugin-> instantiate(x->descriptor->LADSPA_Plugin, x->sr); if (!x->instanceHandles[i]){ - post("dssi~: instantiation of instance %d failed", i); + post("pluginhost~: instantiation of instance %d failed", i); stop = 1; break; } } if(!stop){ for(i = 0;i < x->n_instances; i++) - dssi_tilde_init_instance(x, i); + ph_tilde_init_instance(x, i); for(i = 0;i < x->n_instances; i++) - dssi_tilde_connect_ports(x, i); + ph_tilde_connect_ports(x, i); for(i = 0;i < x->n_instances; i++) - dssi_tilde_activate_plugin(x, i); + ph_tilde_activate_plugin(x, i); if(x->is_DSSI){ for(i = 0;i < x->n_instances; i++) - dssi_tilde_osc_setup(x, i); + ph_tilde_osc_setup(x, i); #if LOADGUI for(i = 0;i < x->n_instances; i++) - dssi_tilde_load_gui(x, i); + ph_tilde_load_gui(x, i); #endif for(i = 0;i < x->n_instances; i++) - dssi_tilde_init_programs(x, i); + ph_tilde_init_programs(x, i); for(i = 0; i < x->n_instances && i < 128; i++){ x->channelMap[i] = i; @@ -2327,10 +2315,10 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ } } else - post("dssi~: error: plugin not loaded"); + post("pluginhost~: error: plugin not loaded"); } else - post("dssi~: no arguments given, please supply a path"); + post("pluginhost~: no arguments given, please supply a path"); x->control_outlet = outlet_new (&x->x_obj, gensym("control")); @@ -2346,7 +2334,7 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ */ } else - post("dssi~: error: plugin has no outputs"); + post("pluginhost~: error: plugin has no outputs"); if(x->plugin_ins){ x->inlets = (t_inlet **)getbytes(x->plugin_ins * sizeof(t_inlet *)); for(i = 0;i < x->plugin_ins; i++) @@ -2357,40 +2345,40 @@ static void *dssi_tilde_load_plugin(t_dssi_tilde *x, t_int argc, t_atom *argv){ */ } else - post("dssi~: error: plugin has no inputs"); + post("pluginhost~: error: plugin has no inputs"); x->dsp = 1; - post("dssi~: %d instances of %s, ready.", x->n_instances, + post("pluginhost~: %d instances of %s, ready.", x->n_instances, x->plugin_label); } else - post("dssi~: error: no plugin handle"); + post("pluginhost~: error: no plugin handle"); return (void *)x; } /* This method is currently buggy. PD's inlet/outlet handling seems buggy if you try to create ins/outs on the fly. Needs further investigation ...*/ -static void dssi_tilde_plug_plugin(t_dssi_tilde *x, t_symbol *s, int argc, t_atom *argv){ +static void ph_tilde_plug_plugin(t_ph_tilde *x, t_symbol *s, int argc, t_atom *argv){ x->dsp = 0; - dssi_tilde_quit_plugin(x); + ph_tilde_quit_plugin(x); while(1){ if(!x->dsp_loop){ - dssi_tilde_free_plugin(x); + ph_tilde_free_plugin(x); break; } } - dssi_tilde_init_plugin(x); - dssi_tilde_load_plugin(x, argc, argv); + ph_tilde_init_plugin(x); + ph_tilde_load_plugin(x, argc, argv); } -static void *dssi_tilde_new(t_symbol *s, t_int argc, t_atom *argv){ +static void *ph_tilde_new(t_symbol *s, t_int argc, t_atom *argv){ - t_dssi_tilde *x = (t_dssi_tilde *)pd_new(dssi_tilde_class); - post("\n========================================\ndssi~: DSSI/LADSPA host - version %.2f\n========================================\n", VERSION); + t_ph_tilde *x = (t_ph_tilde *)pd_new(ph_tilde_class); + post("\n========================================\npluginhost~: DSSI/LADSPA host - version %.2f\n========================================\n", VERSION); - dssi_tilde_init_plugin(x); + ph_tilde_init_plugin(x); x->sr = (t_int)sys_getsr(); x->sr_inv = 1 / (t_float)x->sr; @@ -2400,52 +2388,52 @@ static void *dssi_tilde_new(t_symbol *s, t_int argc, t_atom *argv){ x->x_canvas = canvas_getcurrent(); pthread_mutex_init(&x->midiEventBufferMutex, NULL); - return dssi_tilde_load_plugin(x, argc, argv); + return ph_tilde_load_plugin(x, argc, argv); } -static void dssi_tilde_free(t_dssi_tilde *x){ +static void ph_tilde_free(t_ph_tilde *x){ #if DEBUG - post("Calling dssi_tilde_free"); + post("Calling ph_tilde_free"); #endif - dssi_tilde_quit_plugin(x); - dssi_tilde_free_plugin(x); + ph_tilde_quit_plugin(x); + ph_tilde_free_plugin(x); } -static void dssi_tilde_sigchld_handler(int sig) { +static void ph_tilde_sigchld_handler(int sig) { wait(NULL); } -void dssi_tilde_setup(void) { +void pluginhost_tilde_setup(void) { - dssi_tilde_class = class_new(gensym("dssi~"), (t_newmethod)dssi_tilde_new, - (t_method)dssi_tilde_free, sizeof(t_dssi_tilde), 0, A_GIMME, 0); - class_addlist(dssi_tilde_class, dssi_tilde_list); - class_addbang(dssi_tilde_class, dssi_tilde_bang); - class_addmethod(dssi_tilde_class, - (t_method)dssi_tilde_dsp, gensym("dsp"), 0); - class_addmethod(dssi_tilde_class, (t_method)dssi_tilde_dssi_methods, + ph_tilde_class = class_new(gensym("pluginhost~"), (t_newmethod)ph_tilde_new, + (t_method)ph_tilde_free, sizeof(t_ph_tilde), 0, A_GIMME, 0); + class_addlist(ph_tilde_class, ph_tilde_list); + class_addbang(ph_tilde_class, ph_tilde_bang); + class_addmethod(ph_tilde_class, + (t_method)ph_tilde_dsp, gensym("dsp"), 0); + class_addmethod(ph_tilde_class, (t_method)ph_tilde_ph_methods, gensym("dssi"), A_GIMME, 0); - class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_control, + class_addmethod (ph_tilde_class,(t_method)ph_tilde_control, gensym ("control"),A_DEFSYM, A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_info, + class_addmethod (ph_tilde_class,(t_method)ph_tilde_info, gensym ("info"),0); - class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_list_plugins, + class_addmethod (ph_tilde_class,(t_method)ph_tilde_list_plugins, gensym ("listplugins"),0); - class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_reset, + class_addmethod (ph_tilde_class,(t_method)ph_tilde_reset, gensym ("reset"), A_DEFFLOAT, 0); - class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_plug_plugin, + class_addmethod (ph_tilde_class,(t_method)ph_tilde_plug_plugin, gensym ("plug"),A_GIMME,0); - /* class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_activate_plugin, + /* class_addmethod (ph_tilde_class,(t_method)ph_tilde_activate_plugin, gensym ("activate"),A_DEFFLOAT - 1,0); - class_addmethod (dssi_tilde_class,(t_method)dssi_tilde_deactivate_plugin, + class_addmethod (ph_tilde_class,(t_method)ph_tilde_deactivate_plugin, gensym ("deactivate"),A_DEFFLOAT - 1,0);*/ - class_sethelpsymbol(dssi_tilde_class, gensym("dssi-help")); - CLASS_MAINSIGNALIN(dssi_tilde_class, t_dssi_tilde, f); - signal(SIGCHLD, dssi_tilde_sigchld_handler); + class_sethelpsymbol(ph_tilde_class, gensym("pluginhost~-help")); + CLASS_MAINSIGNALIN(ph_tilde_class, t_ph_tilde, f); + signal(SIGCHLD, ph_tilde_sigchld_handler); } static int osc_message_handler(const char *path, const char *types, @@ -2457,7 +2445,7 @@ static int osc_message_handler(const char *path, const char *types, int i, instance = 0; const char *method; char chantemp[2]; - t_dssi_tilde *x = (t_dssi_tilde *)(user_data); + t_ph_tilde *x = (t_ph_tilde *)(user_data); if (strncmp(path, "/dssi/", 6)){ #if DEBUG diff --git a/pluginhost~/src/dssi~.h b/pluginhost~/src/pluginhost~.h index 6aadb85..e154e90 100644 --- a/pluginhost~/src/dssi~.h +++ b/pluginhost~/src/pluginhost~.h @@ -24,8 +24,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include "m_pd.h" -#include "dssi.h" #include <dlfcn.h> #include <lo/lo.h> #include <unistd.h> @@ -37,6 +35,9 @@ #include <sys/wait.h> /* for wait() */ #include <dirent.h> /* for readdir() */ +#include "m_pd.h" +#include "dssi.h" + #define DX7_VOICE_SIZE_PACKED 128 /*From hexter_types.h by Sean Bolton */ #define DX7_DUMP_SIZE_BULK 4096+8 @@ -69,7 +70,7 @@ typedef struct _dx7_patch_t { uint8_t data[128]; } dx7_patch_t; -typedef struct _dssi_instance { +typedef struct _ph_instance { long currentBank; long currentProgram; @@ -96,16 +97,16 @@ typedef struct _dssi_instance { char *osc_url_path; pid_t gui_pid; -} t_dssi_instance; +} t_ph_instance; -struct dssi_configure_pair { +struct ph_configure_pair { t_int instance; char *key, *value; - struct dssi_configure_pair *next; + struct ph_configure_pair *next; }; -typedef struct dssi_configure_pair t_dssi_configure_pair; +typedef struct ph_configure_pair t_ph_configure_pair; typedef struct _port_info { t_atom type, @@ -116,7 +117,7 @@ typedef struct _port_info { p_default; } t_port_info; -typedef struct _dssi_tilde { +typedef struct _ph_tilde { t_object x_obj; t_int is_DSSI; char *plugin_label; @@ -125,7 +126,7 @@ typedef struct _dssi_tilde { void *plugin_handle; char *project_dir; /* project dircetory */ LADSPA_Handle *instanceHandles; /*was handle*/ - t_dssi_instance *instances; + t_ph_instance *instances; int n_instances; unsigned long *instanceEventCounts; unsigned char channelMap[128]; @@ -166,18 +167,18 @@ typedef struct _dssi_tilde { t_inlet **inlets; t_outlet *control_outlet; - t_dssi_configure_pair *configure_buffer_head; + t_ph_configure_pair *configure_buffer_head; t_int dsp; /* boolean dsp setting */ t_int dsp_loop; -} t_dssi_tilde; +} t_ph_tilde; -static char *dssi_tilde_send_configure(t_dssi_tilde *x, char *key, +static char *ph_tilde_send_configure(t_ph_tilde *x, char *key, char *value, t_int instance); static int osc_message_handler(const char *path, const char *types, lo_arg **argv, int argc, void *data, void *user_data); -static LADSPA_Data get_port_default(t_dssi_tilde *x, int port); -static void MIDIbuf(int type, int chan, int param, int val, t_dssi_tilde *x); +static LADSPA_Data get_port_default(t_ph_tilde *x, int port); +static void MIDIbuf(int type, int chan, int param, int val, t_ph_tilde *x); |