lv2 tweaks, add set dft transition, zoom fix, fs test_filter fix
[goodguy/history.git] / cinelerra-5.1 / cinelerra / pluginlv2.C
index 4ec32648ae3441d44048cee56fc570852b736473..d5f6c079eaf5ee4500a1a692d71caaa342541718 100644 (file)
@@ -125,7 +125,7 @@ int PluginLV2::load_lv2(const char *path, char *title)
        return 0;
 }
 
-int PluginLV2::init_lv2(PluginLV2ClientConfig &conf, int sample_rate)
+int PluginLV2::init_lv2(PluginLV2ClientConfig &conf, int sample_rate, int bfrsz)
 {
        reset_lv2();
 
@@ -180,7 +180,7 @@ int PluginLV2::init_lv2(PluginLV2ClientConfig &conf, int sample_rate)
        features.append(new Lv2Feature(LV2_BUF_SIZE__boundedBlockLength,  0));
        features.append(new Lv2Feature(LV2_WORKER__schedule, &schedule));
 
-       if( sample_rate < 64 ) sample_rate = 44100;
+       if( sample_rate < 64 ) sample_rate = samplerate;
 
        atom_int   = uri_table.map(LV2_ATOM__Int);
        atom_float = uri_table.map(LV2_ATOM__Float);
@@ -191,6 +191,7 @@ int PluginLV2::init_lv2(PluginLV2ClientConfig &conf, int sample_rate)
        ui_updateRate = uri_table.map(LV2_UI__updateRate);
 
        samplerate = sample_rate;
+       block_length = bfrsz;
        options.add(param_sampleRate, sizeof(float), atom_float, &samplerate);
        options.add(bufsz_minBlockLength, sizeof(int), atom_int, &block_length);
        options.add(bufsz_maxBlockLength, sizeof(int), atom_int, &block_length);