Changeset 38b5689a8fb05f78d000fae61a7842a7be024796
- Timestamp:
- 13/08/03 03:45:13 (5 years ago)
- git-parent:
- Files:
-
- NEWS (modified) (2 diffs)
- modules/access/dvdplay/access.c (modified) (11 diffs)
- modules/access/dvdplay/intf.c (modified) (2 diffs)
- modules/access/dvdplay/intf.h (modified) (2 diffs)
- modules/gui/wxwindows/menus.cpp (modified) (5 diffs)
- src/input/input_programs.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
NEWS
rae141f9 r38b5689 1 $Id: NEWS,v 1.6 3 2003/08/10 21:26:07gbazin Exp $1 $Id: NEWS,v 1.64 2003/08/13 01:45:13 gbazin Exp $ 2 2 3 3 Changes between 0.6.1 and 0.6.2: … … 14 14 * Support for DVB-S/C/T cards using v4l2 API for Linux 2.6.x kernels. 15 15 * Few fixes to the VCD navigation. 16 17 Interfaces: 18 * Support for DVD menus navigation added to the wxWindows interface. 16 19 17 20 UNIX ports: modules/access/dvdplay/access.c
r28f793d r38b5689 3 3 ***************************************************************************** 4 4 * Copyright (C) 2001 VideoLAN 5 * $Id: access.c,v 1.1 8 2003/05/08 19:06:44 titerExp $5 * $Id: access.c,v 1.19 2003/08/13 01:45:13 gbazin Exp $ 6 6 * 7 7 * Author: St�ane Borel <stef@via.ecp.fr> … … 66 66 static int dvdNewPGC ( input_thread_t * ); 67 67 68 69 static int MenusCallback( vlc_object_t *, char const *, 70 vlc_value_t, vlc_value_t, void * ); 71 68 72 /***************************************************************************** 69 73 * OpenDVD: open libdvdplay … … 80 84 unsigned int i_angle; 81 85 unsigned int i; 86 vlc_value_t val, text; 82 87 83 88 p_dvd = malloc( sizeof(dvd_data_t) ); … … 191 196 var_Create( p_input, "highlight", VLC_VAR_BOOL ); 192 197 var_Create( p_input, "highlight-mutex", VLC_VAR_MUTEX ); 198 199 /* Create a few object variables used for navigation in the interfaces */ 200 var_Create( p_input, "dvd_menus", 201 VLC_VAR_INTEGER | VLC_VAR_HASCHOICE | VLC_VAR_ISCOMMAND ); 202 text.psz_string = _("DVD menus"); 203 var_Change( p_input, "dvd_menus", VLC_VAR_SETTEXT, &text, NULL ); 204 var_AddCallback( p_input, "dvd_menus", MenusCallback, NULL ); 205 val.i_int = ROOT_MENU; text.psz_string = _("Root"); 206 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 207 val.i_int = TITLE_MENU; text.psz_string = _("Title"); 208 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 209 val.i_int = PART_MENU; text.psz_string = _("Chapter"); 210 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 211 val.i_int = SUBPICTURE_MENU; text.psz_string = _("Subtitle"); 212 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 213 val.i_int = AUDIO_MENU; text.psz_string = _("Audio"); 214 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 215 val.i_int = ANGLE_MENU; text.psz_string = _("Angle"); 216 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 217 val.i_int = 99; text.psz_string = _("Resume"); 218 var_Change( p_input, "dvd_menus", VLC_VAR_ADDCHOICE, &val, &text ); 193 219 194 220 return 0; … … 287 313 dvdNewArea( p_input, p_area ); 288 314 289 /* Reinit ES */290 315 dvdNewPGC( p_input ); 291 316 … … 412 437 413 438 /* new pgc in same title: reinit ES */ 439 dvdplay_ES( p_input ); 414 440 dvdNewPGC( p_input ); 415 441 … … 417 443 418 444 break; 445 case JUMP: 446 dvdplay_ES( p_input ); 447 dvdNewPGC( p_input ); 419 448 case NEW_PG: 420 449 /* update current chapter */ … … 438 467 case END_OF_CELL: 439 468 p_dvd->b_end_of_cell = 1; 440 break;441 case JUMP:442 dvdplay_ES( p_input );443 469 break; 444 470 case STILL_TIME: … … 535 561 p_input->stream.p_selected_program->b_is_ok = 1; 536 562 563 /* Reinit ES */ 564 dvdplay_ES( p_input ); 565 537 566 /* Update the navigation variables without triggering a callback */ 538 567 val.i_int = p_area->i_id; … … 554 583 static int dvdNewPGC( input_thread_t * p_input ) 555 584 { 556 dvd_data_t * p_dvd; 557 // int i_audio_nr = -1; 558 // int i_audio = -1; 559 // int i_subp_nr = -1; 560 // int i_subp = -1; 561 // int i_sec; 562 563 p_dvd = (dvd_data_t*)p_input->p_access_data; 564 565 // dvdplay_audio_info( p_dvd->vmg, &i_audio_nr, &i_audio ); 566 // dvdplay_subp_info( p_dvd->vmg, &i_subp_nr, &i_subp ); 567 568 dvdplay_ES( p_input ); 585 dvd_data_t * p_dvd = (dvd_data_t*)p_input->p_access_data; 586 569 587 p_input->stream.p_selected_area->i_start = 570 588 LB2OFF( dvdplay_title_first( p_dvd->vmg ) ); … … 583 601 } 584 602 585 #if 0586 i_sec = dvdplay_title_time( p_dvd->vmg );587 msg_Dbg( p_input, "title time: %d:%02d:%02d (%d)",588 i_sec/3600, (i_sec%3600)/60, i_sec%60, i_sec );589 #endif590 591 603 return 0; 592 604 } 605 606 static int MenusCallback( vlc_object_t *p_this, char const *psz_name, 607 vlc_value_t oldval, vlc_value_t newval, void *p_arg ) 608 { 609 input_thread_t * p_input; 610 dvd_data_t * p_dvd; 611 612 p_input = (input_thread_t*)p_this; 613 p_dvd = (dvd_data_t*)p_input->p_access_data; 614 615 vlc_mutex_lock( &p_input->stream.stream_lock ); 616 if( newval.i_int < 99 ) 617 dvdplay_menu( p_dvd->vmg, newval.i_int, 0 ); 618 else 619 dvdplay_resume( p_dvd->vmg ); 620 vlc_mutex_unlock( &p_input->stream.stream_lock ); 621 622 if( p_dvd->p_intf ) dvdIntfResetStillTime( p_dvd->p_intf ); 623 624 return VLC_SUCCESS; 625 } modules/access/dvdplay/intf.c
raef7cfe r38b5689 3 3 ***************************************************************************** 4 4 * Copyright (C) 2002 VideoLAN 5 * $Id: intf.c,v 1. 6 2003/01/29 15:55:44 samExp $5 * $Id: intf.c,v 1.7 2003/08/13 01:45:13 gbazin Exp $ 6 6 * 7 7 * Authors: St�ane Borel <stef@via.ecp.fr> … … 425 425 } 426 426 427 /***************************************************************************** 428 * dvdIntfStillTime: function provided to reset still image 429 *****************************************************************************/ 430 int dvdIntfResetStillTime( intf_thread_t *p_intf ) 431 { 432 vlc_mutex_lock( &p_intf->change_lock ); 433 p_intf->p_sys->m_still_time = 0; 434 input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_PLAY ); 435 vlc_mutex_unlock( &p_intf->change_lock ); 436 437 return VLC_SUCCESS; 438 } modules/access/dvdplay/intf.h
r19ea8fe r38b5689 3 3 ***************************************************************************** 4 4 * Copyright (C) 2001 VideoLAN 5 * $Id: intf.h,v 1. 1 2002/08/04 17:23:42 samExp $5 * $Id: intf.h,v 1.2 2003/08/13 01:45:13 gbazin Exp $ 6 6 * 7 7 * Author: St�ane Borel <stef@via.ecp.fr> … … 23 23 24 24 int dvdIntfStillTime( struct intf_thread_t *, int ); 25 int dvdIntfResetStillTime( intf_thread_t *p_intf ); modules/gui/wxwindows/menus.cpp
rae65b15 r38b5689 3 3 ***************************************************************************** 4 4 * Copyright (C) 2000-2001 VideoLAN 5 * $Id: menus.cpp,v 1.1 7 2003/07/20 10:38:49gbazin Exp $5 * $Id: menus.cpp,v 1.18 2003/08/13 01:45:13 gbazin Exp $ 6 6 * 7 7 * Authors: Gildas Bazin <gbazin@netcourrier.com> … … 170 170 ppsz_varnames[i] = "chapter"; 171 171 pi_objects[i++] = p_object->i_object_id; 172 ppsz_varnames[i] = "program"; 173 pi_objects[i++] = p_object->i_object_id; 172 174 ppsz_varnames[i] = "navigation"; 173 175 pi_objects[i++] = p_object->i_object_id; 174 ppsz_varnames[i] = " program";176 ppsz_varnames[i] = "dvd_menus"; 175 177 pi_objects[i++] = p_object->i_object_id; 176 178 … … 295 297 ppsz_varnames[i] = "chapter"; 296 298 pi_objects[i++] = p_object->i_object_id; 299 ppsz_varnames[i] = "program"; 300 pi_objects[i++] = p_object->i_object_id; 297 301 ppsz_varnames[i] = "navigation"; 298 302 pi_objects[i++] = p_object->i_object_id; 299 ppsz_varnames[i] = " program";303 ppsz_varnames[i] = "dvd_menus"; 300 304 pi_objects[i++] = p_object->i_object_id; 301 305 … … 519 523 wxU(text_list.p_list->p_values[i].psz_string ? 520 524 text_list.p_list->p_values[i].psz_string : 521 another_val.psz_string), 522 wxT(""), wxITEM_RADIO, strdup(psz_var), 525 another_val.psz_string), wxT(""), 526 i_type & VLC_VAR_ISCOMMAND ? 527 wxITEM_NORMAL : wxITEM_RADIO, 528 strdup(psz_var), 523 529 p_object->i_object_id, another_val, i_type ); 524 530 … … 537 543 text_list.p_list->p_values[i].psz_string) : 538 544 wxString::Format(wxT("%d"), 539 val_list.p_list->p_values[i].i_int), 540 wxT(""), wxITEM_RADIO, strdup(psz_var), 545 val_list.p_list->p_values[i].i_int), wxT(""), 546 i_type & VLC_VAR_ISCOMMAND ? 547 wxITEM_NORMAL : wxITEM_RADIO, 548 strdup(psz_var), 541 549 p_object->i_object_id, 542 550 val_list.p_list->p_values[i], i_type ); src/input/input_programs.c
rfa06cb3 r38b5689 3 3 ***************************************************************************** 4 4 * Copyright (C) 1999-2002 VideoLAN 5 * $Id: input_programs.c,v 1.11 6 2003/07/30 21:09:06gbazin Exp $5 * $Id: input_programs.c,v 1.117 2003/08/13 01:45:13 gbazin Exp $ 6 6 * 7 7 * Authors: Christophe Massiot <massiot@via.ecp.fr> … … 272 272 } 273 273 274 val.i_int = i_pgrm_index;274 val.i_int = p_input->stream.pp_programs[i_pgrm_index]->i_number; 275 275 var_Change( p_input, "program", VLC_VAR_DELCHOICE, &val, NULL ); 276 276
