[MPlayer-cvslog] r22505 - in trunk/Gui/win32: dialogs.c gui.c interface.c

vayne subversion at mplayerhq.hu
Sat Mar 10 15:33:28 CET 2007


Author: vayne
Date: Sat Mar 10 15:33:28 2007
New Revision: 22505

Modified:
   trunk/Gui/win32/dialogs.c
   trunk/Gui/win32/gui.c
   trunk/Gui/win32/interface.c

Log:
fixed dvd chapter and title switching

Modified: trunk/Gui/win32/dialogs.c
==============================================================================
--- trunk/Gui/win32/dialogs.c	(original)
+++ trunk/Gui/win32/dialogs.c	Sat Mar 10 15:33:28 2007
@@ -143,6 +143,7 @@ int display_openfilewindow(gui_t *gui, i
             {
                 if (GetFullPathName(filename, MAX_PATH, filename, &filepart))
                 {
+                    mplSetFileName(NULL, filename, STREAMTYPE_FILE);
                     if(!parse_filename(filename, playtree, mconfig, 0))
                         gui->playlist->add_track(gui->playlist, filename, NULL, filepart, 0);
                     mp_msg(MSGT_GPLAYER, MSGL_V, "[GUI] Adding file: %s - path %s\n", filespec, filename);
@@ -791,6 +792,7 @@ static LRESULT CALLBACK TitleChapterWndP
     int i=0, j=0;
     char titles[MAX_PATH] = "";
     char chapters[MAX_PATH] = "";
+    gui_t *gui = (gui_t *) GetWindowLongPtr(hwnd, GWLP_USERDATA);
     switch (iMsg)
     {
         case WM_CREATE:
@@ -859,9 +861,7 @@ static LRESULT CALLBACK TitleChapterWndP
 
                     if((guiIntfStruct.DVD.current_title != 0 || guiIntfStruct.DVD.current_chapter != 0))
                     {
-                        mplGotoTheNext = 0;
-                        guiGetEvent(guiCEvent, (void *) guiSetStop);
-                        guiGetEvent(guiCEvent, (void *) guiSetPlay);
+                        gui->startplay(gui);
                         DestroyWindow(hwnd);
                     }
                 }

Modified: trunk/Gui/win32/gui.c
==============================================================================
--- trunk/Gui/win32/gui.c	(original)
+++ trunk/Gui/win32/gui.c	Sat Mar 10 15:33:28 2007
@@ -451,6 +451,7 @@ static LRESULT CALLBACK SubProc(HWND hWn
                 for(i=0; i<filecount; i++)
                 {
                     DragQueryFile((HDROP) wParam, i, file, MAX_PATH);
+                    mplSetFileName(NULL, file, STREAMTYPE_FILE);
                     if(!parse_filename(file, playtree, mconfig, 1))
                         gui->playlist->add_track(gui->playlist, file, NULL, NULL, 0);
                 }
@@ -722,6 +723,7 @@ static LRESULT CALLBACK EventProc(HWND h
             {
                 PCOPYDATASTRUCT cdData;
                 cdData = (PCOPYDATASTRUCT) lParam;
+                mplSetFileName(NULL, cdData->lpData, STREAMTYPE_FILE);
                 if(!parse_filename(cdData->lpData, playtree, mconfig, 1))
                     gui->playlist->add_track(gui->playlist, cdData->lpData, NULL, NULL, 0);
                 gui->startplay(gui);
@@ -738,6 +740,7 @@ static LRESULT CALLBACK EventProc(HWND h
                 for(i=0; i<filecount; i++)
                 {
                     DragQueryFile((HDROP) wParam, i, file, MAX_PATH);
+                    mplSetFileName(NULL, file, STREAMTYPE_FILE);
                     if(!parse_filename(file, playtree, mconfig, 1))
                         gui->playlist->add_track(gui->playlist, file, NULL, NULL, 0);
                 }

Modified: trunk/Gui/win32/interface.c
==============================================================================
--- trunk/Gui/win32/interface.c	(original)
+++ trunk/Gui/win32/interface.c	Sat Mar 10 15:33:28 2007
@@ -167,10 +167,6 @@ static void guiSetEvent(int event)
             guiIntfStruct.DiskChanged = 1;
 
             mplSetFileName(NULL, dvd_device, STREAMTYPE_DVD);
-            guiIntfStruct.Title = guiIntfStruct.DVD.current_title;
-            guiIntfStruct.Chapter = guiIntfStruct.DVD.current_chapter;
-            guiIntfStruct.Angle = guiIntfStruct.DVD.current_angle;
-
             dvdname[0] = 0;
             strcat(dvdname, "DVD Movie");
             GetVolumeInformation(dvd_device, dvdname, MAX_PATH, NULL, NULL, NULL, NULL, 0);
@@ -281,13 +277,28 @@ static void guiSetEvent(int event)
         case evDropFile:
         case evLoadPlay:
         {
-            mplSetFileName(NULL, filename, STREAMTYPE_FILE);
-            guiIntfStruct.FilenameChanged = guiIntfStruct.NewPlay = 1;
-            update_playlistwindow();
-            mplGotoTheNext = guiIntfStruct.Playing? 0 : 1;
-            guiGetEvent(guiCEvent, (void *) guiSetStop);
-            guiGetEvent(guiCEvent, (void *) guiSetPlay);
-            break;
+            switch(guiIntfStruct.StreamType)
+            {
+                case STREAMTYPE_DVD:
+                {
+                    guiIntfStruct.Title = guiIntfStruct.DVD.current_title;
+                    guiIntfStruct.Chapter = guiIntfStruct.DVD.current_chapter;
+                    guiIntfStruct.Angle = guiIntfStruct.DVD.current_angle;
+                    guiIntfStruct.DiskChanged = 1;
+                    guiGetEvent(guiCEvent, (void *) guiSetPlay);
+                    break;
+                }
+                default:
+                {
+                    guiIntfStruct.FilenameChanged = guiIntfStruct.NewPlay = 1;
+                    update_playlistwindow();
+                    mplGotoTheNext = guiIntfStruct.Playing? 0 : 1;
+                    guiGetEvent(guiCEvent, (void *) guiSetStop);
+                    guiGetEvent(guiCEvent, (void *) guiSetPlay);
+                    break;
+               }
+           }
+           break;
         }
         case evNext:
             mplNext();



More information about the MPlayer-cvslog mailing list