#include "filexml.h"
#include "floatautos.h"
#include "language.h"
+#include "mainerror.h"
#include "module.h"
#include "patch.h"
#include "plugin.h"
edit_sample_rate = nested_edl->session->sample_rate;
int command = direction == PLAY_REVERSE ?
NORMAL_REWIND : NORMAL_FWD;
- if( !nested_command ) {
+ if( !nested_command )
nested_command = new TransportCommand;
- nested_command->command = command;
- nested_command->get_edl()->copy_all(nested_edl);
- nested_command->change_type = CHANGE_ALL;
- nested_command->realtime = renderengine->command->realtime;
- }
+ nested_command->command = command;
+ nested_command->get_edl()->copy_all(nested_edl);
+ nested_command->change_type = CHANGE_ALL;
+ nested_command->realtime = renderengine->command->realtime;
if( !nested_renderengine ) {
nested_renderengine = new RenderEngine(0, get_preferences(), 0, 1);
nested_renderengine->set_acache(get_cache());
// Clamp to end of transition
int64_t transition_len = 0;
Plugin *transition = get_edl()->tracks->plugin_exists(transition_id);
- if( transition && previous_edit ) {
+ if( transition && transition->on && previous_edit ) {
transition_len = transition->length * sample_rate / edl_rate;
if(direction == PLAY_FORWARD &&
start_position < edit_startproject + transition_len &&
// Read transition into temp and render
- if(transition && previous_edit)
+ if(transition && transition->on && previous_edit)
{
int64_t previous_startproject = previous_edit->startproject *
sample_rate /
{
current_position = start_position - edit_startproject;
}
-
- transition_server->process_transition(
- transition_temp,
- &output,
- current_position,
- transition_fragment_len,
- transition->length);
+ if( transition_server ) {
+ transition_server->process_transition(
+ transition_temp, &output, current_position,
+ transition_fragment_len, transition->length);
+ }
+ else
+ eprintf("missing transition plugin: %s\n", transition->title);
// Reverse output buffer here so transitions always render forward.
if(direction == PLAY_REVERSE)