m_name(name),
m_isActive(false),
m_currentClip(NULL),
+ m_length(0),
+ m_position(-1),
m_dragStarted(false),
m_overlay(NULL)
{
connect(render, SIGNAL(rendererStopped(int)), this, SLOT(rendererStopped(int)));
//render->createVideoXWindow(m_ui.video_frame->winId(), -1);
- m_length = 0;
if (name != "clip") {
connect(render, SIGNAL(rendererPosition(int)), this, SIGNAL(renderPosition(int)));
activateMonitor();
if (render == NULL) return;
m_position = pos;
- checkOverlay();
render->seekToFrame(pos);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::checkOverlay()
m_position = 0;
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::slotEnd()
m_position = render->getLength();
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::slotZoneStart()
m_position = m_ruler->zone().x();
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::slotZoneEnd()
m_position = m_ruler->zone().y();
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::slotRewind(double speed)
int position = m_position - diff;
m_position = qMax(position, 0);
render->seekToFrame(m_position);
- emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
- checkOverlay();
+ emit renderPosition(m_position)
}
void Monitor::slotForwardOneFrame(int diff)
m_position = qMin(m_position, m_length);
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
- checkOverlay();
}
void Monitor::seekCursor(int pos)
//int rulerPos = (int)(pos * m_scale);
m_ruler->slotNewValue(pos);
m_position = pos;
- //checkOverlay();
+ checkOverlay();
m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(pos));
m_playAction->setChecked(false);
m_playAction->setIcon(m_playIcon);
}*/
m_fps = m_mltProducer->get_fps();
- kDebug() << "// NEW SCENE LIST DURATION SET TO: " << m_mltProducer->get_playtime();
- connectPlaylist();
- fillSlowMotionProducers();
if (position != 0) {
- //TODO: seek to correct place after opening project.
- // Needs to be done from another place since it crashes here.
+ // Seek to correct place after opening project.
m_mltProducer->seek(position);
}
+
+ kDebug() << "// NEW SCENE LIST DURATION SET TO: " << m_mltProducer->get_playtime();
+ connectPlaylist();
+ fillSlowMotionProducers();
+
m_isBlocked = false;
blockSignals(false);
emit refreshDocumentProducers();