[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kmusic/sanetracker
From:       Morten Hustveit <morten () debian ! org>
Date:       2003-02-17 16:04:19
[Download RAW message or body]

CVS commit by morten: 

Fixed loop causing crashes and incorrect playback.
Don't start playback beyond last measure.


  M +7 -2      scheduler.cpp   1.8


--- kmusic/sanetracker/scheduler.cpp  #1.7:1.8
@@ -117,7 +117,9 @@ void Scheduler::run()
         }
 
-        for(uint j = 0; j < doc[_measure].size(); ++j)
+        const SanetrackerDoc::Pattern& pattern = doc[i][doc[i].sequence(_measure)];
+
+        for(uint j = 0; j < pattern.size(); ++j)
         {
-          const SanetrackerDoc::Pattern::Track& track = doc[i][doc[i].sequence(_measure)][j];
+          const SanetrackerDoc::Pattern::Track& track = pattern[j];
 
           if(track[measureTick].isEmpty())
@@ -200,4 +202,7 @@ void Scheduler::stop()
 void Scheduler::play(uint measure, uint measureTick)
 {
+  if(measure >= parent->getDocument()->songLength())
+    return;
+
   this->_measure = measure;
   this->measureTick = measureTick;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic