int load_lv2(const char *path,char *title=0);
int init_lv2(PluginLV2ClientConfig &conf, int sample_rate, int bfrsz);
virtual int is_forked() { return 0; }
-
- static LV2_URID uri_table_map(LV2_URID_Map_Handle handle, const char *uri);
- static const char *uri_table_unmap(LV2_URID_Map_Handle handle, LV2_URID urid);
- static uint32_t uri_to_id(LV2_URI_Map_Callback_Data callback_data,
- const char *map, const char *uri);
+ static uint32_t map_uri(LV2_URID_Map_Handle handle, const char *uri);
+ static const char *unmap_uri(LV2_URID_Unmap_Handle handle, LV2_URID urid);
+ LV2_URID_Map uri_map;
+ LV2_URID_Unmap uri_unmap;
void connect_ports(PluginLV2ClientConfig &conf, int ports);
void del_buffer();
void new_buffer(int64_t sz);
const LilvPlugin *lilv;
LilvUIs *lilv_uis;
- LV2_URI_Map_Feature uri_map;
PluginLV2UriTable uri_table;
LV2_URID_Map map;
LV2_Feature map_feature;
LV2_Atom_Sequence seq_in[2];
LV2_Atom_Sequence *seq_out;
float samplerate, refreshrate;
- int block_length, midi_buf_size;
+ int min_block_length, block_length;
+ int midi_buf_size;
LilvInstance *inst;
SuilInstance *sinst;
LV2_Worker_Schedule schedule;
PluginLV2Work *work_avail, *work_input;
PluginLV2Work *work_output, **work_tail;
- pthread_mutex_t worker_lock;
+ pthread_mutex_t startup_lock, worker_lock;
pthread_cond_t worker_ready;
int worker_done;
};
enum { NO_COMMAND,
LV2_OPEN,
LV2_LOAD,
+ LV2_CONFIG,
LV2_UPDATE,
LV2_SHOW,
LV2_HIDE,