+ free( val.psz_string );
+ }
+ else if( ( i_action == ACTIONID_ZOOM || i_action == ACTIONID_UNZOOM ) && p_vout )
+ {
+ vlc_value_t val={0}, val_list, text_list;
+ var_Get( p_vout, "zoom", &val );
+ if( var_Change( p_vout, "zoom", VLC_VAR_GETLIST,
+ &val_list, &text_list ) >= 0 )
+ {
+ int i;
+ for( i = 0; i < val_list.p_list->i_count; i++ )
+ {
+ if( val_list.p_list->p_values[i].f_float
+ == val.f_float )
+ {
+ if( i_action == ACTIONID_ZOOM )
+ i++;
+ else /* ACTIONID_UNZOOM */
+ i--;
+ break;
+ }
+ }
+ if( i == val_list.p_list->i_count ) i = 0;
+ if( i == -1 ) i = val_list.p_list->i_count-1;
+ var_SetFloat( p_vout, "zoom",
+ val_list.p_list->p_values[i].f_float );
+ vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
+ _("Zoom mode: %s"),
+ text_list.p_list->p_values[i].var.psz_name );
+ }
+ }
+ else if( i_action == ACTIONID_CROP_TOP && p_vout )
+ var_IncInteger( p_vout, "crop-top" );
+ else if( i_action == ACTIONID_UNCROP_TOP && p_vout )
+ var_DecInteger( p_vout, "crop-top" );
+ else if( i_action == ACTIONID_CROP_BOTTOM && p_vout )
+ var_IncInteger( p_vout, "crop-bottom" );
+ else if( i_action == ACTIONID_UNCROP_BOTTOM && p_vout )
+ var_DecInteger( p_vout, "crop-bottom" );
+ else if( i_action == ACTIONID_CROP_LEFT && p_vout )
+ var_IncInteger( p_vout, "crop-left" );
+ else if( i_action == ACTIONID_UNCROP_LEFT && p_vout )
+ var_DecInteger( p_vout, "crop-left" );
+ else if( i_action == ACTIONID_CROP_RIGHT && p_vout )
+ var_IncInteger( p_vout, "crop-right" );
+ else if( i_action == ACTIONID_UNCROP_RIGHT && p_vout )
+ var_DecInteger( p_vout, "crop-right" );
+
+ else if( i_action == ACTIONID_NEXT )
+ {
+ vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN, _("Next") );
+ playlist_Next( p_playlist );
+ }
+ else if( i_action == ACTIONID_PREV )
+ {
+ vout_OSDMessage( VLC_OBJECT(p_input), DEFAULT_CHAN,
+ _("Previous") );
+ playlist_Prev( p_playlist );
+ }
+ else if( i_action == ACTIONID_STOP )
+ {
+ playlist_Stop( p_playlist );