[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