aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_midiplay.cpp
diff options
context:
space:
mode:
authorVitaly Novichkov <admin@wohlnet.ru>2018-01-02 21:26:52 +0300
committerVitaly Novichkov <admin@wohlnet.ru>2018-01-02 21:26:52 +0300
commita1cbf66f28eaadae721bb65d6337feaa049de297 (patch)
tree79e907a4072872e873f8b7f3cc7538b4dc7b5afe /src/adlmidi_midiplay.cpp
parent835a97108f2808d1d4ab44335ba5324c776663ce (diff)
downloadlibADLMIDI-a1cbf66f28eaadae721bb65d6337feaa049de297.tar.gz
libADLMIDI-a1cbf66f28eaadae721bb65d6337feaa049de297.tar.bz2
libADLMIDI-a1cbf66f28eaadae721bb65d6337feaa049de297.zip
Rewind on attemt to seek out of music length
Diffstat (limited to 'src/adlmidi_midiplay.cpp')
-rw-r--r--src/adlmidi_midiplay.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/adlmidi_midiplay.cpp b/src/adlmidi_midiplay.cpp
index 63d30c4..9fcc0f1 100644
--- a/src/adlmidi_midiplay.cpp
+++ b/src/adlmidi_midiplay.cpp
@@ -834,6 +834,13 @@ void MIDIplay::seek(double seconds)
granualityHalf = granularity * 0.5,
s = seconds;//m_setup.delay < m_setup.maxdelay ? m_setup.delay : m_setup.maxdelay;
+ /* Attempt to go away out of song end must rewind position to begin */
+ if(seconds > fullSongTimeLength)
+ {
+ rewind();
+ return;
+ }
+
bool loopFlagState = m_setup.loopingIsEnabled;
// Turn loop pooints off because it causes wrong position rememberin on a quick seek
m_setup.loopingIsEnabled = false;