#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"
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()
void PluginLV2Client::save_data(KeyFrame *keyframe)
{
FileXML output;
- output.set_shared_output(keyframe->get_data(), MESSAGESIZE);
+ output.set_shared_output(keyframe->xbuf);
char name[BCTEXTLEN]; to_string(name, plugin_title());
output.tag.set_title(name);
for( int i=0; i<config.size(); ++i ) {
void PluginLV2Client::read_data(KeyFrame *keyframe)
{
FileXML input;
- input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data()));
+ input.set_shared_input(keyframe->xbuf);
char name[BCTEXTLEN]; to_string(name, plugin_title());
while( !input.read_tag() ) {
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;
}
output_bfr = new Condition(0, "PluginLV2ParentUI::output_bfr", 1);
client = 0;
gui = 0;
- hidden = 1;
+ hidden = -1;
}
PluginLV2ParentUI::~PluginLV2ParentUI()
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;
hidden = 1;
break; }
case LV2_SHOW: {
+ if( hidden < 0 )
+ gui->lv2_ui_enable();
hidden = 0;
break; }
case LV2_SHMID: {