X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmonitor.cpp;h=d22a90bdbbe08e5c8762498db46e7ef146c5cb47;hb=6d1366a846381c333e8414e3044a78df6d493c2b;hp=5ac13d2a7586d7ae9bc7f5b0bf3149ef8e9713c7;hpb=4ac036be56279b2eb23ea67a6eec64facd79de31;p=kdenlive diff --git a/src/monitor.cpp b/src/monitor.cpp index 5ac13d2a..d22a90bd 100644 --- a/src/monitor.cpp +++ b/src/monitor.cpp @@ -133,20 +133,24 @@ void Monitor::slotSeek(int pos) { m_timePos->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position)); } -void Monitor::slotRewind() { +void Monitor::slotRewind(double speed) { if (!m_isActive) m_monitorManager->activateMonitor(m_name); - double speed = render->playSpeed(); - if (speed >= 0) render->play(-2); - else render->play(speed * 2); + if (speed == 0) { + double currentspeed = render->playSpeed(); + if (currentspeed >= 0) render->play(-2); + else render->play(currentspeed * 2); + } else render->play(speed); m_playAction->setChecked(true); m_playAction->setIcon(m_pauseIcon); } -void Monitor::slotForward() { +void Monitor::slotForward(double speed) { if (!m_isActive) m_monitorManager->activateMonitor(m_name); - double speed = render->playSpeed(); - if (speed <= 1) render->play(2); - else render->play(speed * 2); + if (speed == 0) { + double currentspeed = render->playSpeed(); + if (currentspeed <= 1) render->play(2); + else render->play(currentspeed * 2); + } else render->play(speed); m_playAction->setChecked(true); m_playAction->setIcon(m_pauseIcon); }