svn path=/trunk/kdenlive/; revision=3535
void KThumb::extractImage(int frame, int frame2)
{
void KThumb::extractImage(int frame, int frame2)
{
- kDebug() << "//extract thumb: " << frame << ", " << frame2;
+ // kDebug() << "//extract thumb: " << frame << ", " << frame2;
if (m_url.isEmpty() || !KdenliveSettings::videothumbnails() || m_producer == NULL) return;
const int twidth = (int)(KdenliveSettings::trackheight() * m_dar);
if (m_url.isEmpty() || !KdenliveSettings::videothumbnails() || m_producer == NULL) return;
const int twidth = (int)(KdenliveSettings::trackheight() * m_dar);
m_name(name),
m_isActive(false),
m_currentClip(NULL),
m_name(name),
m_isActive(false),
m_currentClip(NULL),
+ m_length(0),
+ m_position(-1),
m_dragStarted(false),
m_overlay(NULL)
{
m_dragStarted(false),
m_overlay(NULL)
{
connect(render, SIGNAL(rendererStopped(int)), this, SLOT(rendererStopped(int)));
//render->createVideoXWindow(m_ui.video_frame->winId(), -1);
connect(render, SIGNAL(rendererStopped(int)), this, SLOT(rendererStopped(int)));
//render->createVideoXWindow(m_ui.video_frame->winId(), -1);
if (name != "clip") {
connect(render, SIGNAL(rendererPosition(int)), this, SIGNAL(renderPosition(int)));
if (name != "clip") {
connect(render, SIGNAL(rendererPosition(int)), this, SIGNAL(renderPosition(int)));
activateMonitor();
if (render == NULL) return;
m_position = pos;
activateMonitor();
if (render == NULL) return;
m_position = pos;
render->seekToFrame(pos);
emit renderPosition(m_position);
render->seekToFrame(pos);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::checkOverlay()
}
void Monitor::checkOverlay()
m_position = 0;
render->seekToFrame(m_position);
emit renderPosition(m_position);
m_position = 0;
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::slotEnd()
}
void Monitor::slotEnd()
m_position = render->getLength();
render->seekToFrame(m_position);
emit renderPosition(m_position);
m_position = render->getLength();
render->seekToFrame(m_position);
emit renderPosition(m_position);
- m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
void Monitor::slotZoneStart()
}
void Monitor::slotZoneStart()
m_position = m_ruler->zone().x();
render->seekToFrame(m_position);
emit renderPosition(m_position);
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()
}
void Monitor::slotZoneEnd()
m_position = m_ruler->zone().y();
render->seekToFrame(m_position);
emit renderPosition(m_position);
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)
}
void Monitor::slotRewind(double speed)
int position = m_position - diff;
m_position = qMax(position, 0);
render->seekToFrame(m_position);
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)
}
void Monitor::slotForwardOneFrame(int diff)
m_position = qMin(m_position, m_length);
render->seekToFrame(m_position);
emit renderPosition(m_position);
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)
}
void Monitor::seekCursor(int pos)
//int rulerPos = (int)(pos * m_scale);
m_ruler->slotNewValue(pos);
m_position = pos;
//int rulerPos = (int)(pos * m_scale);
m_ruler->slotNewValue(pos);
m_position = pos;
m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(pos));
m_playAction->setChecked(false);
m_playAction->setIcon(m_playIcon);
m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(pos));
m_playAction->setChecked(false);
m_playAction->setIcon(m_playIcon);
}*/
m_fps = m_mltProducer->get_fps();
}*/
m_fps = m_mltProducer->get_fps();
- kDebug() << "// NEW SCENE LIST DURATION SET TO: " << m_mltProducer->get_playtime();
- connectPlaylist();
- fillSlowMotionProducers();
- //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);
}
m_mltProducer->seek(position);
}
+
+ kDebug() << "// NEW SCENE LIST DURATION SET TO: " << m_mltProducer->get_playtime();
+ connectPlaylist();
+ fillSlowMotionProducers();
+
m_isBlocked = false;
blockSignals(false);
emit refreshDocumentProducers();
m_isBlocked = false;
blockSignals(false);
emit refreshDocumentProducers();