diff options
author | David Robillard <d@drobilla.net> | 2007-04-19 16:49:25 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-04-19 16:49:25 +0000 |
commit | 98ea88b5fd404ff4ba43709f731ba074f291eb5b (patch) | |
tree | 1318604ebfedd677ac8f6cbad3f9d58e5922a1c4 /hosts/lv2_jack_host.c | |
parent | 6626f77037747855e7dcec64697d436c4300d7c2 (diff) | |
download | lilv-98ea88b5fd404ff4ba43709f731ba074f291eb5b.tar.gz lilv-98ea88b5fd404ff4ba43709f731ba074f291eb5b.tar.bz2 lilv-98ea88b5fd404ff4ba43709f731ba074f291eb5b.zip |
Added Redland dependency, using in-memory RDF models.
Numerous significant performance improvements.
git-svn-id: http://svn.drobilla.net/lad/slv2@457 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'hosts/lv2_jack_host.c')
-rw-r--r-- | hosts/lv2_jack_host.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/hosts/lv2_jack_host.c b/hosts/lv2_jack_host.c index 39e9c41..2e7a23f 100644 --- a/hosts/lv2_jack_host.c +++ b/hosts/lv2_jack_host.c @@ -30,8 +30,8 @@ #define MIDI_BUFFER_SIZE 1024 struct Port { - SLV2PortID id; SLV2PortClass class; + SLV2Port slv2_port; jack_port_t* jack_port; /**< For audio and MIDI ports, otherwise NULL */ float control; /**< For control ports, otherwise 0.0f */ LV2_MIDI* midi_buffer; /**< For midi ports, otherwise NULL */ @@ -62,11 +62,10 @@ main(int argc, char** argv) host.num_ports = 0; host.ports = NULL; - slv2_init(); - /* Find all installed plugins */ - SLV2Plugins plugins = slv2_plugins_new(); - slv2_plugins_load_all(plugins); + SLV2Model model = slv2_model_new(); + slv2_model_load_all(model); + SLV2Plugins plugins = slv2_model_get_all_plugins(model); /* Find the plugin to run */ const char* plugin_uri = (argc == 2) ? argv[1] : NULL; @@ -141,7 +140,7 @@ main(int argc, char** argv) } jack_client_close(host.jack_client); - slv2_finish(); + slv2_model_free(model); return 0; } @@ -170,8 +169,8 @@ create_port(struct JackHost* host, //struct Port* port = (Port*)malloc(sizeof(Port)); struct Port* const port = &host->ports[port_index]; - port->id = slv2_port_by_index(port_index); port->class = SLV2_UNKNOWN_PORT_CLASS; + port->slv2_port = slv2_plugin_get_port_by_index(host->plugin, port_index); port->jack_port = NULL; port->control = 0.0f; port->midi_buffer = NULL; @@ -179,15 +178,15 @@ create_port(struct JackHost* host, slv2_instance_connect_port(host->instance, port_index, NULL); /* Get the port symbol (label) for console printing */ - char* symbol = slv2_port_get_symbol(host->plugin, port->id); + char* symbol = slv2_port_get_symbol(host->plugin, port->slv2_port); /* Get the 'class' (not data type) of the port (control input, audio output, etc) */ - port->class = slv2_port_get_class(host->plugin, port->id); + port->class = slv2_port_get_class(host->plugin, port->slv2_port); /* Connect the port based on it's 'class' */ switch (port->class) { case SLV2_CONTROL_INPUT: - port->control = slv2_port_get_default_value(host->plugin, port->id); + port->control = slv2_port_get_default_value(host->plugin, port->slv2_port); slv2_instance_connect_port(host->instance, port_index, &port->control); printf("Set %s to %f\n", symbol, host->ports[port_index].control); break; |