m_toolbar->addWidget(spacer);
m_timePos = new TimecodeDisplay(m_monitorManager->timecode(), this);
m_toolbar->addWidget(m_timePos);
- connect(m_timePos, SIGNAL(editingFinished()), this, SLOT(slotSeek()));
+ connect(m_timePos, SIGNAL(timeCodeEditingFinished()), this, SLOT(slotSeek()));
m_toolbar->setMaximumHeight(s * 1.5);
layout->addWidget(m_toolbar);
}
bool Monitor::createOpenGlWidget(QWidget *parent, const QString profile)
{
render = new Render(id(), 0, profile, this);
+ kDebug()<<"+++++++++++++\nCREATED OPENGL WIDG\n++++++++++++++";
m_glWidget = new VideoGLWidget(parent);
if (m_glWidget == NULL) {
// Creation failed, we are in trouble...
QAction *go = m_markerMenu->addAction(position);
go->setData(pos);
}
- m_ruler->setMarkers(marks);
- } else m_ruler->setMarkers(QList <int>());
+ }
+ m_ruler->setMarkers(markers);
m_markerMenu->setEnabled(!m_markerMenu->isEmpty());
}
}
slotActivateMonitor();
if (speed == 0) {
double currentspeed = render->playSpeed();
- if (currentspeed >= 0) render->play(-2);
- else render->play(currentspeed * 2);
+ if (currentspeed >= 0) render->play(-1);
+ else switch((int) currentspeed) {
+ case -1:
+ render->play(-2);
+ break;
+ case -2:
+ render->play(-3);
+ break;
+ case -3:
+ render->play(-5);
+ break;
+ default:
+ render->play(-8);
+ }
} else render->play(speed);
//m_playAction->setChecked(true);
m_playAction->setIcon(m_pauseIcon);
slotActivateMonitor();
if (speed == 0) {
double currentspeed = render->playSpeed();
- if (currentspeed <= 1) render->play(2);
- else render->play(currentspeed * 2);
+ if (currentspeed <= 0) render->play(1);
+ else switch((int) currentspeed) {
+ case 1:
+ render->play(2);
+ break;
+ case 2:
+ render->play(3);
+ break;
+ case 3:
+ render->play(5);
+ break;
+ default:
+ render->play(8);
+ }
} else render->play(speed);
//m_playAction->setChecked(true);
m_playAction->setIcon(m_pauseIcon);
void Monitor::start()
{
if (!isVisible() || !isActive()) return;
- if (render) render->doRefresh();// start();
+ if (render) render->startConsumer();
}
void Monitor::refreshMonitor(bool visible)
{
if (render == NULL) return;
if (clip == NULL && m_currentClip != NULL) {
+ m_currentClip->lastSeekPosition = render->seekFramePosition();
kDebug()<<"// SETTING NULL CLIP MONITOR";
m_currentClip = NULL;
m_length = -1;
}
if (clip != m_currentClip || forceUpdate) {
+ if (m_currentClip) m_currentClip->lastSeekPosition = render->seekFramePosition();
m_currentClip = clip;
- if (m_currentClip) slotActivateMonitor();
+ if (position == -1) position = clip->lastSeekPosition;
updateMarkers(clip);
Mlt::Producer *prod = NULL;
if (clip) prod = clip->getCloneProducer();