Changeset 138

Show
Ignore:
Timestamp:
02/05/08 20:10:40 (1 year ago)
Author:
Stuart Thiel
Message:

-Removed the changes the passing formatted time instead of the long in milliseconds.

Files:

Legend:

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

    r137 r138  
    11package org.mediannotate.app; 
    2 import netscape.javascript.*; 
    3  
    42import java.awt.GridLayout; 
    53import java.io.File; 
    6 import java.net.URLDecoder; 
    7 import java.text.DecimalFormat; 
    8 import java.text.NumberFormat; 
    94import java.util.LinkedList; 
    105import java.util.List; 
     
    138import javax.swing.JApplet; 
    149 
     10import netscape.javascript.JSObject; 
    1511import quicktime.QTException; 
    1612import quicktime.QTSession; 
     
    3430                        QTSession.open(); 
    3531                } catch (QTException e) { 
    36                         // TODO Auto-generated catch block 
    3732                        e.printStackTrace(); 
    3833                } 
     
    4338 
    4439        public static String getTime() { 
    45                 DecimalFormat d = new DecimalFormat("00")
    46                 String start = d.format(myPlayerPanel.getInTime()/1000/60/60) + ":" + 
    47                d.format((myPlayerPanel.getInTime()%(1000*60*60))/1000/60) + ":" + 
    48                d.format((myPlayerPanel.getInTime()%(1000*60))/1000) + "." + 
    49                d.format((myPlayerPanel.getInTime()%1000)/33.3); 
     40                String timeXML = ""
     41                try { 
     42               timeXML = "<mediannotate>" + 
     43                 "  <start>" + myPlayerPanel.getInTime() + "</start>\n" + 
     44                 "  <end>" + myPlayerPanel.getOutTime() + "</end>\n</mediannotate>";            
    5045                 
    51                 String end = d.format(myPlayerPanel.getOutTime()/1000/60/60) + ":" + 
    52                 d.format((myPlayerPanel.getOutTime()%(1000*60*60))/1000/60) + ":" + 
    53                 d.format((myPlayerPanel.getOutTime()%(1000*60))/1000) + "." + 
    54                 d.format((myPlayerPanel.getOutTime()%1000)/33.3);               
    55                String timeXML = "<start>" + start + "</start>\n" + 
    56                  "<end>" + end + "</end>";              
     46                } catch (Exception e){ 
     47                       e.printStackTrace(); 
     48                       timeXML = "<mediannotate>" + 
     49                         "  <start>0</start>\n" + 
     50                         "  <end>0</end>\n</mediannotate>"; 
     51               } 
    5752                return timeXML; 
    5853        } 
    5954         
    6055        public static void setTime(String time) { 
    61                 time = time.replace('\n', ' '); //dirty, but effective. Don't want linebreaks screwing this up 
    62                 String inString = time.replaceAll("^.*<start>(.*)</start>.*$", "$1"); 
    63                 String outString = time.replaceAll("^.*<end>(.*)</end>.*$", "$1"); 
    64                 String[] inStrings = inString.split("[:\\.]"); 
    65                 String[] outStrings = outString.split("[:\\.]"); 
    66                 long in = 0; 
    67                 in += Long.parseLong(inStrings[0])*60*60*1000; 
    68                 in += Long.parseLong(inStrings[1])*60*1000; 
    69                 in += Long.parseLong(inStrings[2])*1000; 
    70                 in += Long.parseLong(inStrings[3])*33.3; 
    71                 long out = 0; 
    72                 out += Long.parseLong(outStrings[0])*60*60*1000; 
    73                 out += Long.parseLong(outStrings[1])*60*1000; 
    74                 out += Long.parseLong(outStrings[2])*1000; 
    75                 out += Long.parseLong(outStrings[3])*33.3;               
    76                 myPlayerPanel.setInTime(in); 
    77                 myPlayerPanel.setOutTime(out); 
    78                 myPlayerPanel.setTime(in); 
    79                 myPlayerPanel.getCurrentMovie().setTime(in); 
     56                try { 
     57                        time = time.replace('\n', ' '); //dirty, but effective. Don't want linebreaks screwing this up 
     58                        long in = Long.parseLong(time.replaceAll("^.*<start>(.*)</start>.*$", "$1"));  
     59                        long out = Long.parseLong(time.replaceAll("^.*<end>(.*)</end>.*$", "$1")); 
     60                        myPlayerPanel.setInTime(in); 
     61                        myPlayerPanel.setOutTime(out); 
     62                        myPlayerPanel.setTime(in); 
     63                        myPlayerPanel.getCurrentMovie().setTime(in); 
     64                } catch (Exception e) { 
     65                        e.printStackTrace(); 
     66                } 
    8067        } 
    8168         
    8269        public static void loadMovie(String url) { 
    83                 myController.loadMovie(url); 
     70                try { 
     71                        myController.loadMovie(url); 
     72                } catch (Exception e) { 
     73                        e.printStackTrace(); 
     74                } 
    8475        } 
    8576         
    8677        public static long getDuration() { 
    87                 return myPlayerPanel.getDurationTime().getAllInMilli(); 
     78                long duration = 0; 
     79                try { 
     80                        duration = myPlayerPanel.getDurationTime().getAllInMilli(); 
     81                } catch (Exception e) { 
     82                        e.printStackTrace(); 
     83                } 
     84                return duration; 
    8885        } 
    8986         
     
    9996                                        System.out.println("QTSession Opened."); 
    10097                                } catch (QTException e) { 
    101                                         // TODO Auto-generated catch block 
    10298                                        e.printStackTrace(); 
    10399                                }