mirror of
https://github.com/mpv-player/mpv
synced 2025-01-01 20:32:13 +00:00
fixed dvd chapter and title switching
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22505 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
217deee877
commit
ccb97f1098
@ -143,6 +143,7 @@ int display_openfilewindow(gui_t *gui, int add)
|
||||
{
|
||||
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 TitleChapterWndProc(HWND hwnd, UINT iMsg, WPARAM wParam,
|
||||
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 TitleChapterWndProc(HWND hwnd, UINT iMsg, WPARAM wParam,
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -451,6 +451,7 @@ static LRESULT CALLBACK SubProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l
|
||||
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 hWnd, UINT message, WPARAM wParam, LPARAM
|
||||
{
|
||||
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 hWnd, UINT message, WPARAM wParam, LPARAM
|
||||
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);
|
||||
}
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user