Changeset 150

Show
Ignore:
Timestamp:
02/12/08 15:24:19 (1 year ago)
Author:
Stuart Thiel
Message:

-Fixed rest of #133
--The in and out times of a Clip are now stored in the movie itself. Previously, it was reconstituting this from the timeline panel... which was weird.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • MediAnnotate/trunk/src/org/mediannotate/app/PlayerPanel.java

    r146 r150  
    200200        public long getInTime() { 
    201201                if(!getTimeLinePanel().isInActive()) return 0; 
    202                 return (long)(getTimeLinePanel().getCurrentIn()*((float)durationTime.getAllInMilli())); 
     202                return currentMovie.getIn(); 
    203203        } 
    204204         
    205205        public long getOutTime() { 
    206206                if(!getTimeLinePanel().isOutActive()) return durationTime.getAllInMilli(); 
    207                 return (long)(getTimeLinePanel().getCurrentOut()*durationTime.getAllInMilli()); 
     207                return currentMovie.getOut(); 
    208208        } 
    209209         
    210210        public void setInTime(long time) { 
    211                 System.out.println("In Player Panel"); 
    212                 System.out.println(getTimeLinePanel()); 
    213                 System.out.println(durationTime); 
    214211                getTimeLinePanel().setIn(time/(float)durationTime.getAllInMilli()); 
     212                currentMovie.setIn(time); 
    215213        } 
    216214         
    217215        public void setOutTime(long time) { 
    218216                getTimeLinePanel().setOut(time/(float)durationTime.getAllInMilli()); 
     217                currentMovie.setOut(time); 
    219218        } 
    220219         
     
    225224 
    226225        public void keyReleased(KeyEvent e) { 
    227                 System.out.println(e.getKeyCode() + " " + e.toString()); 
    228226                if(e.getKeyCode() == KeyEvent.VK_I && e.getModifiers() == ActionEvent.CTRL_MASK) { 
    229227                        getTimeLinePanel().setIn(getTime()/(float)durationTime.getAllInMilli()); 
  • MediAnnotate/trunk/src/org/mediannotate/dom/Movie.java

    r116 r150  
    1313        public long getTime(); 
    1414        public void setTime(long time); 
     15        public void setIn(long time); 
     16        public void setOut(long time); 
     17        public long getIn(); 
     18        public long getOut(); 
     19        public boolean shouldStopPlaying(); 
    1520        public long getDuration(); 
    1621        public void start(); 
  • MediAnnotate/trunk/src/org/mediannotate/dom/QTMovie.java

    r123 r150  
    2626        private quicktime.std.movies.Movie innerMovie; 
    2727        private MoviePlayer innerMoviePlayer; 
    28  
     28        private long inTime; 
     29        private long outTime; 
     30        private boolean startedPlayingAfterOutTime; 
     31         
    2932        public QTMovie(String url) { 
    3033 
     
    115118 
    116119        public void setTime(long time) { 
     120                if(time >= outTime) startedPlayingAfterOutTime = true; 
     121                else startedPlayingAfterOutTime = false; 
    117122                try { 
    118123                        (new MoviePlayer(innerMovie)).setTime((int)time*innerMovie.getTRTime().getScale()/1000); 
     
    137142                         
    138143                } catch (QTException e) { 
     144                        e.printStackTrace(); 
     145                } 
     146 
     147                innerMovie = null; 
     148                } 
     149        } 
     150 
     151        public void start() { 
     152                if(getTime() >= outTime) startedPlayingAfterOutTime = true; 
     153                else startedPlayingAfterOutTime = false; 
     154                try { 
     155                        innerMovie.start(); 
     156                } catch (StdQTException e) { 
    139157                        // TODO Auto-generated catch block 
    140158                        e.printStackTrace(); 
    141159                } 
    142  
    143                 innerMovie = null; 
    144                 } 
    145         } 
    146  
    147         public void start() { 
    148                 try { 
    149                         innerMovie.start(); 
    150                 } catch (StdQTException e) { 
    151                         // TODO Auto-generated catch block 
    152                         e.printStackTrace(); 
    153                 } 
    154160        } 
    155161 
     
    158164                        innerMovie.stop(); 
    159165                } catch (StdQTException e) { 
    160                         // TODO Auto-generated catch block 
    161166                        e.printStackTrace(); 
    162167                } 
     
    165170        public boolean isPlaying() { 
    166171                try { 
    167                         return innerMovie.getRate() == 0; 
    168                 } catch (StdQTException e) { 
    169                         // TODO Auto-generated catch block 
     172                        return innerMovie.getRate() != 0; 
     173                } catch (StdQTException e) { 
    170174                        e.printStackTrace(); 
    171175                } 
     
    177181        } 
    178182 
     183        public long getIn() { 
     184                return inTime; 
     185        } 
     186 
     187        public long getOut() { 
     188                return outTime; 
     189        } 
     190 
     191        public void setIn(long time) { 
     192                this.inTime = time; 
     193        } 
     194 
     195        public void setOut(long time) { 
     196                this.outTime = time; 
     197        } 
     198 
     199        @Override 
     200        public boolean shouldStopPlaying() { 
     201                return (!startedPlayingAfterOutTime) && (getTime() >= outTime); 
     202        } 
     203 
    179204} 
  • MediAnnotate/trunk/src/org/mediannotate/ui/listener/TimeLineListener.java

    r116 r150  
    6565                public void actionPerformed(ActionEvent e) { 
    6666                        myTimeLine.setIn(innerMovie.getTime()/(float)innerMovie.getDuration()); 
     67                        innerMovie.setIn(innerMovie.getTime()); 
    6768                        myTimeLine.repaint(); 
    6869                } 
     
    7475                public void actionPerformed(ActionEvent e) { 
    7576                        myTimeLine.setOut(innerMovie.getTime()/(float)innerMovie.getDuration()); 
     77                        innerMovie.setOut(innerMovie.getTime()); 
    7678                        myTimeLine.repaint(); 
    7779                }