- Timestamp:
- 05/10/18 16:04:51 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/apollo/audio/util/MultiTrackPlaybackController.java
r367 r1102 9 9 10 10 import javax.sound.sampled.LineUnavailableException; 11 import javax.swing.SwingUtilities;12 11 13 12 import org.apollo.audio.ApolloPlaybackMixer; … … 31 30 import org.apollo.util.TrackModelHandler; 32 31 import org.apollo.util.TrackModelLoadManager; 33 import org.expeditee.gui.DisplayIO; 34 import org.expeditee.gui.DisplayIOObserver; 35 32 import org.expeditee.core.BlockingRunnable; 33 import org.expeditee.gio.EcosystemManager; 34 import org.expeditee.gui.DisplayController; 35 import org.expeditee.gui.DisplayObserver; 36 36 37 37 public class MultiTrackPlaybackController 38 38 extends AbstractSubject 39 implements TrackModelHandler, Observer, Display IOObserver {39 implements TrackModelHandler, Observer, DisplayObserver { 40 40 41 41 /** Can be a framename or virtual filename (e.g. from a linked track) */ … … 91 91 // After a certain amount of frame changes since the last multi playback has occured 92 92 // the cached track models are freed to stop consuming all the memory. 93 Display IO.addDisplayIOObserver(this);93 DisplayController.addDisplayObserver(this); 94 94 95 95 // For whenever a track sequence is created - must observe the created track sequences... … … 295 295 */ 296 296 public void frameChanged() { 297 if (hasTrackCacheExpired() || isPlaying() || isLoading() || Display IO.getCurrentFrame() == null) return; // already expired - or is playing - so don't expire!298 299 String currentFrameName = Display IO.getCurrentFrame().getName();297 if (hasTrackCacheExpired() || isPlaying() || isLoading() || DisplayController.getCurrentFrame() == null) return; // already expired - or is playing - so don't expire! 298 299 String currentFrameName = DisplayController.getCurrentFrame().getName(); 300 300 301 301 // Free track group every so often.. … … 785 785 final int id1 = id; 786 786 final Object state1 = state; 787 SwingUtilities.invokeLater(new Runnable() {787 EcosystemManager.getMiscManager().runOnGIOThread(new Runnable() { 788 788 public void run() { 789 789 synchronized(listeners1) { … … 919 919 920 920 try { 921 SwingUtilities.invokeAndWait(absTrackGraphRetreiver);921 EcosystemManager.getMiscManager().runOnGIOThread(absTrackGraphRetreiver); 922 922 } catch (Exception e) { 923 923 notifyListeners(loadListeners, MultitrackLoadListener.LOAD_FAILED_GENERIC, e, true); … … 1095 1095 1096 1096 // Must commence on the swing thread 1097 SwingUtilities.invokeLater(new MultiTrackPlaybackCommencer());1097 EcosystemManager.getMiscManager().runOnGIOThread(new MultiTrackPlaybackCommencer()); 1098 1098 } 1099 1099 … … 1154 1154 * @author Brook Novak 1155 1155 */ 1156 private class ABSTrackGraphRetreiver implementsRunnable {1156 private class ABSTrackGraphRetreiver extends BlockingRunnable { 1157 1157 1158 1158 private String masterMixID; … … 1165 1165 } 1166 1166 1167 public void run() {1167 public void execute() { 1168 1168 assert(rootODFrame != null); 1169 1169 assert(masterMixID != null);
Note:
See TracChangeset
for help on using the changeset viewer.