- if(is_processed &&
- this->start_position == start_position &&
- EQUIV(this->frame_rate, frame_rate))
- {
+ if( !is_processed || this->start_position != start_position ||
+ !EQUIV(this->frame_rate, frame_rate)) {
+ is_processed = 1;
+ this->start_position = start_position;
+ this->frame_rate = frame_rate;
+
+// Allocate buffer vector for subsequent render calls
+ new_buffer_vector(output->get_w(), output->get_h(),
+ output->get_color_model());
+// Process plugin
+//printf("VAttachmentPoint::render 1 %d\n", buffer_number);
+ if(renderengine)
+ plugin_servers.values[0]->set_use_opengl(use_opengl,
+ renderengine->video);
+ plugin_servers.values[0]->process_buffer(buffer_vector,
+ start_position, frame_rate,
+ (int64_t)Units::round(plugin->length * frame_rate /
+ renderengine->get_edl()->session->frame_rate),
+ renderengine->command->get_direction());
+ }
+//printf("VAttachmentPoint::render 3\n");