From 9043bdecf893e90184da75aa3ba02c03e8d42c1a Mon Sep 17 00:00:00 2001 From: Niels Martin Hansen Date: Fri, 6 Jul 2007 01:36:01 +0000 Subject: [PATCH] Fix #450 point 4, playback of drag-retimed karaoke syllables now stops at the right position instead of at the end of line. Originally committed to SVN as r1382. --- aegisub/audio_display.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/aegisub/audio_display.cpp b/aegisub/audio_display.cpp index f8ebbe47c..216cc6759 100644 --- a/aegisub/audio_display.cpp +++ b/aegisub/audio_display.cpp @@ -802,7 +802,7 @@ void AudioDisplay::SetScale(float _scale) { ////////////////// // Load from file void AudioDisplay::SetFile(wxString file) { - wxLogDebug(_T("AudioDisplay::SetFile(file=%s, vproviderLOL=%p)"), file.c_str()); + wxLogDebug(_T("AudioDisplay::SetFile(file=%s)"), file.c_str()); // Unload if (file.IsEmpty()) { wxLogDebug(_T("AudioDisplay::SetFile: file is empty, just closing audio")); @@ -1611,7 +1611,12 @@ void AudioDisplay::OnMouseEvent(wxMouseEvent& event) { // Update stuff if (updated) { if (diagUpdated) NeedCommit = true; - player->SetEndPosition(GetSampleAtX(selEnd)); + if (karaoke->enabled) { + AudioKaraokeSyllable &syl = karaoke->syllables[karaoke->curSyllable]; + player->SetEndPosition(GetSampleAtMS(curStartMS + (syl.start_time+syl.duration)*10)); + } else { + player->SetEndPosition(GetSampleAtX(selEnd)); + } if (hold != 0) { wxCursor cursor(wxCURSOR_SIZEWE); SetCursor(cursor);