Slider can moved when recording paused or stoped

This commit is contained in:
Atlante45 2014-09-24 16:19:47 -07:00
parent f536e33d13
commit 75dc26c9ff
3 changed files with 20 additions and 16 deletions

View file

@ -159,9 +159,7 @@ function updateTimer() {
if (MyAvatar.isRecording()) { if (MyAvatar.isRecording()) {
slider.pos = 1.0; slider.pos = 1.0;
} else if (!MyAvatar.isPlaying) { } else if (MyAvatar.playerLength() > 0) {
slider.pos = 0.0;
} else {
slider.pos = MyAvatar.playerElapsed() / MyAvatar.playerLength(); slider.pos = MyAvatar.playerElapsed() / MyAvatar.playerLength();
} }
@ -283,9 +281,9 @@ function mousePressEvent(event) {
toolBar.setAlpha(ALPHA_ON, saveIcon); toolBar.setAlpha(ALPHA_ON, saveIcon);
} }
} }
} else if (MyAvatar.isPlaying() && } else if (MyAvatar.playerLength() > 0 &&
slider.x < event.x < slider.x + slider.w && slider.x < event.x && event.x < slider.x + slider.w &&
slider.y < event.y < slider.y + slider.h) { slider.y < event.y && event.y < slider.y + slider.h) {
isSliding = true; isSliding = true;
slider.pos = (event.x - slider.x) / slider.w; slider.pos = (event.x - slider.x) / slider.w;
MyAvatar.setPlayerTime(slider.pos * MyAvatar.playerLength()); MyAvatar.setPlayerTime(slider.pos * MyAvatar.playerLength());
@ -293,14 +291,12 @@ function mousePressEvent(event) {
} }
var isSliding = false; var isSliding = false;
function mouseMoveEvent(event) { function mouseMoveEvent(event) {
if (isSliding) { if (isSliding) {
slider.pos = (event.x - slider.x) / slider.w; slider.pos = (event.x - slider.x) / slider.w;
if (slider.pos < 0.0) { if (slider.pos < 0.0 || slider.pos > 1.0) {
MyAvatar.stopPlaying();
slider.pos = 0.0; slider.pos = 0.0;
} else if (slider.pos > 1.0) {
slider.pos = 1.0;
} }
MyAvatar.setPlayerTime(slider.pos * MyAvatar.playerLength()); MyAvatar.setPlayerTime(slider.pos * MyAvatar.playerLength());
} }

View file

@ -96,8 +96,6 @@ void AudioInjector::injectAudio() {
timer.start(); timer.start();
int nextFrame = 0; int nextFrame = 0;
_currentSendPosition = 0;
int numPreAudioDataBytes = injectAudioPacket.size(); int numPreAudioDataBytes = injectAudioPacket.size();
bool shouldLoop = _options.getLoop(); bool shouldLoop = _options.getLoop();

View file

@ -257,9 +257,14 @@ void Player::setCurrentFrame(int currentFrame) {
_currentFrame = currentFrame; _currentFrame = currentFrame;
_timerOffset = _recording->getFrameTimestamp(_currentFrame); _timerOffset = _recording->getFrameTimestamp(_currentFrame);
_timer.start();
setAudionInjectorPosition(); if (isPlaying()) {
_timer.start();
setAudionInjectorPosition();
} else {
_isPaused = true;
_pausedFrame = currentFrame;
}
} }
void Player::setCurrentTime(qint64 currentTime) { void Player::setCurrentTime(qint64 currentTime) {
@ -298,9 +303,14 @@ void Player::setCurrentTime(qint64 currentTime) {
_currentFrame = lowestBound; _currentFrame = lowestBound;
_timerOffset = _recording->getFrameTimestamp(lowestBound); _timerOffset = _recording->getFrameTimestamp(lowestBound);
_timer.start();
setAudionInjectorPosition(); if (isPlaying()) {
_timer.start();
setAudionInjectorPosition();
} else {
_isPaused = true;
_pausedFrame = lowestBound;
}
} }
void Player::setAudionInjectorPosition() { void Player::setAudionInjectorPosition() {