/*****************************************************************************
* Preamble
*****************************************************************************/
-#include <stdlib.h> /* malloc(), free() */
#include <vlc/vlc.h>
#include <vlc_interface.h>
if( i_action == ACTIONID_QUIT )
{
- p_intf->p_libvlc->b_die = VLC_TRUE;
+ vlc_object_kill( p_intf->p_libvlc );
ClearChannels( p_intf, p_vout );
vout_OSDMessage( p_intf, DEFAULT_CHAN, _( "Quit" ) );
if( p_vout )
{
if( p_vout ) vout_Control( p_vout, VOUT_SNAPSHOT );
}
- else if( i_action == ACTIONID_FULLSCREEN )
+ else if( i_action == ACTIONID_TOGGLE_FULLSCREEN )
{
if( p_vout )
{
var_Set( p_playlist, "fullscreen", val );
}
}
+ else if( i_action == ACTIONID_LEAVE_FULLSCREEN )
+ {
+ if( p_vout && var_GetBool( p_vout, "fullscreen" ) )
+ {
+ var_SetBool( p_vout, "fullscreen", VLC_FALSE );
+ }
+ }
+ else if( i_action == ACTIONID_WALLPAPER )
+ {
+ if( p_vout )
+ {
+ var_Get( p_vout, "directx-wallpaper", &val );
+ val.b_bool = !val.b_bool;
+ var_Set( p_vout, "directx-wallpaper", val );
+ }
+ else
+ {
+ var_Get( p_playlist, "directx-wallpaper", &val );
+ val.b_bool = !val.b_bool;
+ var_Set( p_playlist, "directx-wallpaper", val );
+ }
+ }
else if( i_action == ACTIONID_LOOP )
{
/* Toggle Normal -> Loop -> Repeat -> Normal ... */
playlist_Play( p_playlist );
}
}
+ else if( i_action == ACTIONID_MENU_ON )
+ {
+ osd_MenuShow( VLC_OBJECT(p_intf) );
+ }
+ else if( i_action == ACTIONID_MENU_OFF )
+ {
+ osd_MenuHide( VLC_OBJECT(p_intf) );
+ }
+ else if( i_action == ACTIONID_MENU_LEFT )
+ {
+ osd_MenuPrev( VLC_OBJECT(p_intf) );
+ }
+ else if( i_action == ACTIONID_MENU_RIGHT )
+ {
+ osd_MenuNext( VLC_OBJECT(p_intf) );
+ }
+ else if( i_action == ACTIONID_MENU_UP )
+ {
+ osd_MenuUp( VLC_OBJECT(p_intf) );
+ }
+ else if( i_action == ACTIONID_MENU_DOWN )
+ {
+ osd_MenuDown( VLC_OBJECT(p_intf) );
+ }
+ else if( i_action == ACTIONID_MENU_SELECT )
+ {
+ osd_MenuActivate( VLC_OBJECT(p_intf) );
+ }
}
if( p_vout )
vlc_object_release( p_vout );
char *psz_bookmark = strdup( val.psz_string );
PL_LOCK;
FOREACH_ARRAY( playlist_item_t *p_item, p_playlist->items )
- if( !strcmp( psz_bookmark, p_item->p_input->psz_uri ) )
+ char *psz_uri = input_item_GetURI( p_item->p_input );
+ if( !strcmp( psz_bookmark, psz_uri ) )
{
+ free( psz_uri );
playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, VLC_TRUE,
NULL, p_item );
break;
}
+ else
+ free( psz_uri );
FOREACH_END();
PL_UNLOCK;
vlc_object_release( p_playlist );
VLC_VAR_STRING|VLC_VAR_DOINHERIT );
if( p_playlist->status.p_item )
{
- config_PutPsz( p_intf, psz_bookmark_name,
- p_playlist->status.p_item->p_input->psz_uri);
- msg_Info( p_intf, "setting playlist bookmark %i to %s", i_num,
- p_playlist->status.p_item->p_input->psz_uri);
+ char *psz_uri = input_item_GetURI( p_playlist->status.p_item->p_input );
+ config_PutPsz( p_intf, psz_bookmark_name, psz_uri);
+ msg_Info( p_intf, "setting playlist bookmark %i to %s", i_num, psz_uri);
+ free( psz_uri );
config_SaveConfigFile( p_intf, "hotkeys" );
}
pl_Release( p_intf );