X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginlv2client.C;h=20c8ed3635728c720950a7014f6754618c77006c;hb=255afe5bf50d8e2d10075c0b8ab0f88efbe91570;hp=6163f2dfd9867e1c7e16550d465acc15e51c785a;hpb=02595181cff2bce97eb19634bc3855778cb8c3b6;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/pluginlv2client.C b/cinelerra-5.1/cinelerra/pluginlv2client.C index 6163f2df..20c8ed36 100644 --- a/cinelerra-5.1/cinelerra/pluginlv2client.C +++ b/cinelerra-5.1/cinelerra/pluginlv2client.C @@ -23,7 +23,10 @@ #include "bchash.h" #include "clip.h" #include "cstrdup.h" +#include "edl.h" +#include "edlsession.h" #include "file.h" +#include "filesystem.h" #include "filexml.h" #include "language.h" #include "mainerror.h" @@ -164,8 +167,15 @@ NEW_WINDOW_MACRO(PluginLV2Client, PluginLV2ClientWindow) int PluginLV2Client::init_lv2() { + int bfrsz = block_length; + EDL *edl = server->edl; + if( edl ) { + PlaybackConfig *playback_config = edl->session->playback_config; + bfrsz = playback_config->aconfig->fragment_size; + } int sample_rate = get_project_samplerate(); - return PluginLV2::init_lv2(config, sample_rate); + if( sample_rate < 64 ) sample_rate = samplerate; + return PluginLV2::init_lv2(config, sample_rate, bfrsz); } int PluginLV2Client::load_configuration() @@ -332,8 +342,9 @@ PluginLV2BlackList::~PluginLV2BlackList() int PluginLV2BlackList::is_badboy(const char *uri) { + FileSystem fs; for( int i=size(); --i>=0; ) - if( !strcmp(uri, get(i)) ) return 1; + if( !fs.test_filter(uri, get(i)) ) return 1; return 0; } @@ -390,7 +401,7 @@ PluginLV2ParentUI::PluginLV2ParentUI(Plugin *plugin) output_bfr = new Condition(0, "PluginLV2ParentUI::output_bfr", 1); client = 0; gui = 0; - hidden = 1; + hidden = -1; } PluginLV2ParentUI::~PluginLV2ParentUI() @@ -407,6 +418,8 @@ void PluginLV2ParentUI::start_parent(PluginLV2Client *client) char bfr[len]; memset(bfr, 0, len); open_bfr_t *open_bfr = (open_bfr_t *)bfr; open_bfr->sample_rate = client->get_project_samplerate(); + PlaybackConfig *playback_config = client->server->edl->session->playback_config; + open_bfr->bfrsz = playback_config->aconfig->fragment_size; strcpy(open_bfr->path, path); send_child(LV2_OPEN, open_bfr, len); PluginLV2ClientConfig &conf = client->config; @@ -426,6 +439,8 @@ int PluginLV2ParentUI::handle_parent() hidden = 1; break; } case LV2_SHOW: { + if( hidden < 0 ) + gui->lv2_ui_enable(); hidden = 0; break; } case LV2_SHMID: {