Przeglądaj źródła

Changes on the statefile-MGR

git-svn-id: http://repo.nplusc.de/svn/iZink@176 8b19561d-0d00-6744-8ac1-9afc8f58a8aa
masterX244 11 lat temu
rodzic
commit
1c73d6b2b9
1 zmienionych plików z 40 dodań i 6 usunięć
  1. 40 6
      iZpl/src/de/nplusc/izc/iZpl/Builder.java

+ 40 - 6
iZpl/src/de/nplusc/izc/iZpl/Builder.java

@@ -9,6 +9,7 @@ import de.nplusc.izc.tools.IOtools.LogStream;
 import de.nplusc.izc.tools.baseTools.Messagers;
 import de.nplusc.izc.tools.baseTools.Tools;
 import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
@@ -75,8 +76,10 @@ public class Builder extends javax.swing.JFrame
     
     
     
-    public static void main(final String args[])
+    public static void main(final String args2[])
     {
+        
+       
         /* psOut = new PrintStream(
          new BufferedOutputStream(new FileOutputStream(
          new File("iZpl.log"))), true);
@@ -127,10 +130,13 @@ public class Builder extends javax.swing.JFrame
 
         java.awt.EventQueue.invokeLater(new Runnable()
         {
+            
+            String[] args = args2;
             @SuppressWarnings("ResultOfObjectAllocationIgnored")
             @Override
             public void run()
             {
+                //args = new String[]{"--file",};
                 if (args.length > 0 && (args[0].equals("--file") || args[0].equals("--state")))
                 {
                     if (args.length == 1)
@@ -199,7 +205,7 @@ public class Builder extends javax.swing.JFrame
                                 }));
                                 vlcpath = Preferences.userRoot().get("izpl.vlcpath", "...");
                             }
-                            System.err.println(vlcpath);
+                            System.err.println("vlcpath="+vlcpath);
                             boolean isShittyPlayer = false;
                             boolean isWMShit = false;
                             boolean isOtherShit = false;
@@ -230,7 +236,32 @@ public class Builder extends javax.swing.JFrame
                                 {
                                     if(!(forcePregen||isShittyPlayer))
                                     {
-                                        FileReader plf = new FileReader(args[1]);
+                                        String tpath = args[1];;
+                                        boolean sym=true;
+                                        int redirs=0;
+                                        int max_redirs=10;//Loopstopper!!!
+                                        while(sym)
+                                        {
+                                            sym=false;
+                                            if(redirs>max_redirs)
+                                            {
+                                               Messagers.SingleLineMsg("Zu viele Umleitungen, Datei überprüfen!!", "OKAY!");
+                                               System.exit(0);
+                                            }                   
+                                            FileReader plf = new FileReader(tpath);
+                                            char[] magix = new char[3];
+                                            plf.read(magix);
+                                            if(new String(magix).equalsIgnoreCase("SYM"))
+                                            {
+                                               redirs++;
+                                               BufferedReader br = new BufferedReader(plf);
+                                               br.readLine();//SYM
+                                               tpath = br.readLine();
+                                               sym=true;//näxxter lauf.....
+                                            }
+                                        }
+                                        
+                                        FileReader plf = new FileReader(tpath);
                                         PlProcessor pp = (PlProcessor) y.load(plf);
                                         plf.close();
                                         ps = new PLServer(pp);
@@ -305,7 +336,7 @@ public class Builder extends javax.swing.JFrame
                                     loadedVLC = true;
                                     do
                                     {
-                                        Tools.runSingleCmd(false, true, false, true, new JTextArea(), vlcpath,/*"--extraintf=http:logger","--verbose=2","--file-logging","--logfile=vlc-log.txt",*/ "http://localhost:9263/rcvr/lst.m3u");//http://localhost:9263/lst.m3u");
+                                        Tools.runSingleCmd(false, true, false, true, new JTextArea(), vlcpath,"--extrainf cad:qt4","",/*"--extraintf=http:logger","--verbose=2","--file-logging","--logfile=vlc-log.txt",*/ "http://localhost:9263/rcvr/lst.m3u");//http://localhost:9263/lst.m3u");
                                     }
                                     while (Tools.execCrashed);
                                 }
@@ -327,11 +358,14 @@ public class Builder extends javax.swing.JFrame
                                 System.err.println("<<<");
                                 time = new Date(System.currentTimeMillis()).toString();
                                 System.out.println("IZPL-Core:Checkpoint erstellen:" + time);
-                                //muss nen StateSaver hier reintoasten....
+                                //muss nen StateSaver hier reintoasten....; done...
+                                //statefile immer gleich genannt wie originaldatei; ermöglicht mehrere states...
                                 if(!(forcePregen||isShittyPlayer))
                                 {
                                     String pp = y.dump(ps.ppp);
-                                    FileTK.writeFile(pp, "state.iZcont");
+                                    String fp = ps.ppp.getPath();
+                                    fp = fp.substring(0,fp.length()-FileTK.getFileExt(fp).length()+1)+"iZcont";
+                                    FileTK.writeFile(pp, "fp");
                                 }
                                 quickQuit();
                             }