(!attachment && use_plugin)) return 1;
// Plugin not the same
- if(plugin &&
- attachment &&
- attachment->plugin &&
- !plugin->identical(attachment->plugin)) return 1;
+ if( plugin && attachment && attachment->plugin && (
+ plugin->gui_id != attachment->plugin->gui_id ||
+ !plugin->identical(attachment->plugin) ) ) return 1;
}
return 0;
}
}
plugin_gui_lock->unlock();
+// update show/gui_id
+ sync_parameters(CHANGE_PARAMS);
//printf("MWindow::show_plugin %d\n", __LINE__);
SET_TRACE
//sleep(1);
}
}
if(lock) plugin_gui_lock->unlock();
+// update show/gui_id
+ sync_parameters(CHANGE_PARAMS);
}
void MWindow::delete_plugin(PluginServer *plugin)
this->out = plugin->out;
this->show = plugin->show;
this->on = plugin->on;
- this->gui_id = plugin->gui_id;
+// dont copy gui_id, it will be a duplicate ref
// Should reconfigure this based on where the first track is now.
this->shared_location = plugin->shared_location;
strcpy(this->title, plugin->title);
this->in = plugin->in;
this->out = plugin->out;
this->show = plugin->show;
+ this->gui_id = plugin->gui_id;
this->on = plugin->on;
strcpy(this->title, plugin->title);
copy_keyframes(plugin);
}
-PluginSet& PluginSet::operator=(PluginSet& plugins)
-{
-printf("PluginSet::operator= 1\n");
- copy_from(&plugins);
- return *this;
-}
-
void PluginSet::copy_from(PluginSet *src)
{
while(last) delete last;
Plugin *new_plugin;
append(new_plugin = (Plugin*)create_edit());
new_plugin->copy_from(current);
+// update gui_id when copying edl
+ new_plugin->gui_id = current->gui_id;
}
this->record = src->record;
}
virtual ~PluginSet();
virtual void synchronize_params(PluginSet *plugin_set);
- virtual PluginSet& operator=(PluginSet& plugins);
virtual Plugin* create_plugin() { return 0; };
// Returns the point to restart background rendering at.
// -1 means nothing changed.
--- /dev/null
+mov pcm_s24le
+++ /dev/null
-mov prores_ks
-profile=4444
+++ /dev/null
-mov prores
-preset medium
-pix_fmt yuv422p10le
--- /dev/null
+mov prores
+# ProRes, encoder prores_aw. Container Apple QuickTime movie (.mov).
+profile=2
+# The possible video profile values for the ProRes codec are:
+# 5 = 4444xq
+# 4 = 4444
+# 3 = HQ (high quality)
+# 2 = Standard
+# 1 = LT (light)
+# 0 = Proxy
--- /dev/null
+mov prores_ks
+# ProRes, encoder prores_ks. Container Apple QuickTime movie (.mov).
+# The encoder delivers a higher quality but is very slow in comparison.
+profile=4444
+# The possible video profile values for the ProRes codec are:
+# 5 = 4444xq
+# 4 = 4444
+# 3 = HQ (high quality)
+# 2 = Standard
+# 1 = LT (light)
+# 0 = Proxy
--- /dev/null
+matroska prores
+#ProRes: For fast creation of proxies. Container Matroska (.mkv).
+# Do not render audio as it will fail with current opts
+profile=0
deinterlace_swap(frame, frame, 0);
break;
}
- send_render_gui(&changed_rows);
+// send_render_gui(&changed_rows);
return 0;
}
frame_rate,
use_opengl);
- if(use_opengl)
- {
+ int plot = config.plot;
+ if( config.automatic ) {
+ calculate_max(frame);
+ plot = 1; // Always plot to set the slider
+ }
+ if( plot ) {
+ send_render_gui(this);
+ }
+
+ if(use_opengl) {
// Aggregate
if(next_effect_is(_("Histogram")))
return 0;
if(next_effect_is(_("Color Balance")))
return 0;
-
-
return run_opengl();
}
- else
- if(config.automatic)
- {
- calculate_max(frame);
-// Always plot to set the slider
- send_render_gui(this);
- }
- else
- if(config.plot)
- {
- send_render_gui(this);
- }
if(!engine) engine = new GammaEngine(this);
engine->process_packages(GammaEngine::APPLY, frame);
frame_rate,
use_opengl);
-// Apply histogram in hardware
- if(use_opengl) return run_opengl();
-
this->input = frame;
this->output = frame;
if( !engine )
// config.gamma[HISTOGRAM_BLUE],
// config.high_input[HISTOGRAM_BLUE]);
-
+// Apply histogram in hardware
+ if(use_opengl) return run_opengl();
// Apply histogram
engine->process_packages(HistogramEngine::APPLY, input, 0);
-
-
return 0;
}
get_framerate(),
use_opengl);
- if(use_opengl) return run_opengl();
-
send_render_gui(frame);
+ if(use_opengl) return run_opengl();
+
if(!threshold_engine)
threshold_engine = new ThresholdEngine(this);
threshold_engine->process_packages(frame);