aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;