Author: jerome
Date: 2009-03-12 12:39:44 +0100 (Thu, 12 Mar 2009)
New Revision: 3988

Modified:
   
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/Configuration.java
   
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/MediaPlayerThread.java
   
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/WMPlayer.java
Log:
* Fixed a bug starting WMP thread.

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/Configuration.java
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/Configuration.java
  2009-03-12 11:16:51 UTC (rev 3987)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/Configuration.java
  2009-03-12 11:39:44 UTC (rev 3988)
@@ -115,7 +115,7 @@
      * Return true if user wants to quit media player when quitting the gadget.
      * @return
      */
-    public boolean stopWMPWhenQuitGadget()
+    public boolean getStopWMPToo()
     {
        return this.stopWMPToo;
     }
@@ -125,9 +125,9 @@
      * Set the stop value.
      * @param stop
      */
-    public void setStopWMPToo(boolean stop)
+    public void setStopWMPToo(boolean stopWMPToo)
     {
-       this.stopWMPToo = stop;
+       this.stopWMPToo = stopWMPToo;
     }
     
 }

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/MediaPlayerThread.java
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/MediaPlayerThread.java
      2009-03-12 11:16:51 UTC (rev 3987)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/MediaPlayerThread.java
      2009-03-12 11:39:44 UTC (rev 3988)
@@ -38,6 +38,7 @@
        private boolean startPlaylist;
        private static Object mutex = new Object();
        private final Collection<WMPThreadListener> WMPThreadListeners = new 
ArrayList<WMPThreadListener>();
+       private String[] command;
        
        /**
         * This object starts the media player and waits the end of the thread.
@@ -77,6 +78,8 @@
        {
                
                Vector<String> args = new Vector<String>();
+               args.add("rundll32");
+               args.add("SHELL32.DLL,ShellExec_RunDLL");
                args.add(getWMPpath());
                if(args.get(0) == null)
                {
@@ -93,31 +96,36 @@
                        }
                }
      
-               String[] command = new String[args.size()];
+               command = new String[args.size()];
                for(int i=0; i < args.size(); i++)
                {
                        command[i] = args.get(i);
                }
+                               
+               com.tuxisalive.api.SThread thread = new 
com.tuxisalive.api.SThread(this, "startWMP");
+               thread.start();
                
+    }
+       
+       
+       /**
+        * Start windows media player.
+        */
+       public void startWMP()
+       {
                try
-               {                       
+               {
                        Runtime.getRuntime().exec(command);
-
-                       //checking if wmp is started by checking for his 
process name.
                        if(isWMPStarted())
                        {
                                this.triggerStarted();
                        }
-                       else
-                       {
-                               this.triggerStartError("Error: Can't found 
windows media player path");
-                       }
-               } 
+               }
                catch (IOException e) 
                {
                        this.triggerStartError("Error: IOException while 
connecting to windows media player");
                }
-    }
+       }
          
          
          /**
@@ -186,6 +194,7 @@
                        try 
                        {
                                wmpRunning = Runtime.getRuntime().exec(cmd);
+                               
                                StreamReader reader = new 
StreamReader(wmpRunning.getInputStream());
                                reader.start();
                                wmpRunning.waitFor();
@@ -280,23 +289,4 @@
                          return sw.toString();
            }
 }    
-
-
-static class WMPChecker extends Thread{
-       
-       public void run()
-       {
-               while(MediaPlayerThread.isWMPStarted())
-               {
-                       try 
-                       {
-                               Thread.sleep(1000);
-                       }
-                       catch (InterruptedException e) {
-                               System.exit(0);
-                       }
-               }
-               System.exit(0);
-       }
 }
-}

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/WMPlayer.java
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/WMPlayer.java
       2009-03-12 11:16:51 UTC (rev 3987)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-WMP/trunk/tuxdroid-gadget-WMP/src/com/kysoh/tuxdroid/WMPlayer.java
       2009-03-12 11:39:44 UTC (rev 3988)
@@ -39,11 +39,12 @@
 
 public class WMPlayer extends SimpleGadget<Configuration>{
        
-       private TuxAPI tux;
+       private static TuxAPI tux;
        private int handle;
        
        private final int WM_COMMAND = 0x111;
        private final int lParam = 0;
+       private WMPChecker checker;
        
        @Override
        public void start() throws Exception 
@@ -73,7 +74,8 @@
                                        //Go to "now playing" tab.
                                        WMPCurrentPlaylist();
                            connectToServer();
-                           new MediaPlayerThread.WMPChecker().start();
+                           checker = new WMPChecker();
+                           checker.start();
                                }
                                catch(Exception e)
                                {
@@ -325,9 +327,10 @@
                {
                        if (value.equals("K_STANDBY"))
                        {
-                               if(this.configuration().stopWMPWhenQuitGadget())
+                               if(this.configuration().getStopWMPToo())
                                {
                                        WindowsAPI.postMessage(handle, 
WM_COMMAND, 0xE141, lParam);
+                                       throwMessage("here");
                                }
                                tux.destroy();
                                System.exit(0);
@@ -370,4 +373,26 @@
                        }
                }
        }
+
+       
+       static class WMPChecker extends Thread{
+               
+               public void run()
+               {
+                       while(MediaPlayerThread.isWMPStarted())
+                       {
+                               try 
+                               {
+                                       Thread.sleep(1000);
+                               }
+                               catch (InterruptedException e) 
+                               {
+                                       tux.destroy();
+                                       System.exit(0);
+                               }
+                       }
+                       tux.destroy();
+                       System.exit(0);
+               }
+       }
 }


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to