Changeset 209

Show
Ignore:
Timestamp:
03/24/08 07:49:36 (10 months ago)
Author:
Stuart Thiel
Message:

-Fixed #172
-Moved the getDimension into the movies to support the drawing of the waveform, so just called getComponent again and again... but that causes Quicktime to crash as it gives a new one every time (and attaches the current playing to the new one, I guess). Horribly broken and caused additional crashes too. Now getComponent checks if it's internal version has been set yet, if not it calls QuickTime? once and sets it, then uses that evermore afterwards.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • MediAnnotate/trunk/src/org/mediannotate/dom/QTAudio.java

    r203 r209  
    1212import org.mediannotate.ui.audio.SingleWaveformPanel; 
    1313 
    14 import quicktime.QTException; 
    15 import quicktime.app.time.TaskAllMovies; 
    16  
    1714 
    1815public class QTAudio extends QTMovie{ 
     
    2320                super(url); 
    2421                try { 
    25                         TaskAllMovies.addMovieAndStart(); 
    26                         innerMovie.setActive (true); 
    2722                        AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new BufferedInputStream (new FileInputStream (mediaFile))); 
    28                          
    2923                        AudioInfo audioInfo = new AudioInfo(audioInputStream); 
    3024                        waveform = new SingleWaveformPanel(audioInfo, 0); 
    31                                                                  
    32                          
    33                 } catch (QTException e1) { 
    34                         throw new MediaException(e1); 
    3525                } catch (Exception e) { 
    3626                        throw new MediaException(e); 
  • MediAnnotate/trunk/src/org/mediannotate/dom/QTMovie.java

    r203 r209  
    66 
    77import quicktime.QTException; 
     8import quicktime.app.time.TaskAllMovies; 
    89import quicktime.app.view.MoviePlayer; 
    910import quicktime.app.view.QTFactory; 
     
    2223        private boolean startedPlayingAfterOutTime; 
    2324 
     25        private Component innerQTC = null; 
     26         
    2427        public QTMovie(String url) throws MediaException { 
    2528                super(url); 
     29 
    2630                try { 
    2731                        innerMovie = quicktime.std.movies.Movie.fromFile( 
     
    3034                        System.out.println("Playing: " + url); 
    3135                        innerMoviePlayer = new MoviePlayer(innerMovie); 
    32                      
     36                        TaskAllMovies.addMovieAndStart(); 
     37                        innerMovie.setActive (true); 
    3338                } catch (QTException e1) { 
    3439                        throw new MediaException(e1); 
     
    3843        public Component getComponent() { 
    3944                try { 
    40                         QTJComponent qtc = QTFactory.makeQTJComponent(innerMoviePlayer); 
    41                         return qtc.asJComponent(); 
     45                        if(innerQTC == null) { 
     46                                innerQTC = QTFactory.makeQTJComponent(innerMoviePlayer).asJComponent(); 
     47                        } 
     48                        return innerQTC; 
    4249                } catch (QTException e) { 
    4350                        e.printStackTrace();