- if( !strcmp( c, "AUDIO_TRACK" ) )
- {
- vlc_value_t val, list, list2;
- int i_count, i;
- var_Get( p_input, "audio-es", &val );
- var_Change( p_input, "audio-es", VLC_VAR_GETCHOICES,
- &list, &list2 );
- i_count = list.p_list->i_count;
- for( i = 0; i < i_count; i++ )
- {
- if( val.i_int == list.p_list->p_values[i].i_int )
- {
- break;
- }
- }
- /* value of audio-es was not in choices list */
- if( i == i_count )
- {
- msg_Warn( p_input,
- "invalid current audio track, selecting 0" );
- var_Set( p_input, "audio-es",
- list.p_list->p_values[0] );
- i = 0;
- }
- else if( i == i_count - 1 )
- {
- var_Set( p_input, "audio-es",
- list.p_list->p_values[0] );
- i = 0;
- }
- else
- {
- var_Set( p_input, "audio-es",
- list.p_list->p_values[i+1] );
- i++;
- }
- vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
- _("Audio track: %s"),
- list2.p_list->p_values[i].psz_string );
- }
- else if( !strcmp( c, "SUBTITLE_TRACK" ) )
- {
- vlc_value_t val, list, list2;
- int i_count, i;
- var_Get( p_input, "spu-es", &val );
- var_Change( p_input, "spu-es", VLC_VAR_GETCHOICES,
- &list, &list2 );
- i_count = list.p_list->i_count;
- for( i = 0; i < i_count; i++ )
- {
- if( val.i_int == list.p_list->p_values[i].i_int )
- {
- break;
- }
- }
- /* value of audio-es was not in choices list */
- if( i == i_count )
- {
- msg_Warn( p_input, "invalid current subtitle track, selecting 0" );
- var_Set( p_input, "spu-es", list.p_list->p_values[0] );
- i = 0;
- }
- else if( i == i_count - 1 )
- {
- var_Set( p_input, "spu-es", list.p_list->p_values[0] );
- i = 0;
- }
- else
- {
- var_Set( p_input, "spu-es", list.p_list->p_values[i+1] );
- i = i + 1;
- }
- vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
- _("Subtitle track: %s"),
- list2.p_list->p_values[i].psz_string );
- }
- else if( !strcmp( c, "PAUSE" ) )
- {
- vlc_value_t val;
- vout_OSDMessage( p_intf, DEFAULT_CHAN, _( "Pause" ) );
- val.i_int = PAUSE_S;
- var_Set( p_input, "state", val );
- }
- else if( !strcmp( c, "NEXT" ) )
- {
- p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
- FIND_ANYWHERE );
- if( p_playlist )
- {
- playlist_Next( p_playlist );
- vlc_object_release( p_playlist );
- }
- }
- else if( !strcmp( c, "PREV" ) )
- {
- p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
- FIND_ANYWHERE );
- if( p_playlist )
- {
- playlist_Prev( p_playlist );
- vlc_object_release( p_playlist );
- }
- }
- else if( !strcmp( c, "STOP" ) )
- {
- p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
- FIND_ANYWHERE );
- if( p_playlist )
- {
- playlist_Stop( p_playlist );
- vlc_object_release( p_playlist );
- }
- }
- else if( !strcmp( c, "FAST" ) )
- {
- vlc_value_t val; val.b_bool = VLC_TRUE;
- var_Set( p_input, "rate-faster", val );
- }
- else if( !strcmp( c, "SLOW" ) )
- {
- vlc_value_t val; val.b_bool = VLC_TRUE;
- var_Set( p_input, "rate-slower", val );
- }
-/* beginning of modifications by stephane Thu Jun 19 15:29:49 CEST 2003 */
- else if ( !strcmp(c, "CHAPTER_N" ) ||
- !strcmp( c, "CHAPTER_P" ) )
- {
- unsigned int i_chapter = 0;
-
- if( !strcmp( c, "CHAPTER_N" ) )
- {
- var_SetVoid( p_input, "next-chapter" );
- }
- else if( !strcmp( c, "CHAPTER_P" ) )
- {
- var_SetVoid( p_input, "prev-chapter" );
- }
- }
-/* end of modification by stephane Thu Jun 19 15:29:49 CEST 2003 */