X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginlv2.h;h=ac99d2535dfc3015ba23ba910db6b28f8016ba53;hb=HEAD;hp=913caed068b44e2fcf35616a2b0234a5575877c4;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/pluginlv2.h b/cinelerra-5.1/cinelerra/pluginlv2.h index 913caed0..69a2297b 100644 --- a/cinelerra-5.1/cinelerra/pluginlv2.h +++ b/cinelerra-5.1/cinelerra/pluginlv2.h @@ -1,3 +1,23 @@ +/* + * CINELERRA + * Copyright (C) 2008 Adam Williams + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + #ifndef __PLUGINLV2_H__ #define __PLUGINLV2_H__ @@ -64,11 +84,10 @@ public: 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); @@ -80,7 +99,6 @@ public: const LilvPlugin *lilv; LilvUIs *lilv_uis; - LV2_URI_Map_Feature uri_map; PluginLV2UriTable uri_table; LV2_URID_Map map; LV2_Feature map_feature; @@ -92,7 +110,8 @@ public: 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; @@ -138,7 +157,7 @@ public: 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; }; @@ -148,6 +167,7 @@ typedef struct { int sample_rate, bfrsz; char path[1]; } open_bfr_t; enum { NO_COMMAND, LV2_OPEN, LV2_LOAD, + LV2_CONFIG, LV2_UPDATE, LV2_SHOW, LV2_HIDE,