#include <vlc_interface.h>
#include <vlc_input.h>
#include <vlc_vout.h>
-#include <vlc_aout.h>
+#include <vlc_aout_intf.h>
#include <vlc_osd.h>
#include <vlc_playlist.h>
#include <vlc_keys.h>
static float AdjustRateFine( input_thread_t *, const int );
static void ClearChannels ( intf_thread_t *, vout_thread_t * );
-#define DisplayMessage(vout, fmt, ...) \
- do { if(vout) vout_OSDMessage(vout, fmt, __VA_ARGS__); } while(0)
+#define DisplayMessage(vout, ch, fmt, ...) \
+ do { if(vout) vout_OSDMessage(vout, ch, fmt, __VA_ARGS__); } while(0)
#define DisplayIcon(vout, icon) \
do { if(vout) vout_OSDIcon(vout, SPU_DEFAULT_CHANNEL, icon); } while(0)
set_category( CAT_INTERFACE )
set_subcategory( SUBCAT_INTERFACE_HOTKEYS )
- add_integer( "hotkeys-mousewheel-mode", MOUSEWHEEL_VOLUME, NULL,
+ add_integer( "hotkeys-mousewheel-mode", MOUSEWHEEL_VOLUME,
N_("MouseWheel x-axis Control"),
N_("MouseWheel x-axis can control volume, position or "
"mousewheel event can be ignored"), false )
- change_integer_list( i_mode_list, psz_mode_list_text, NULL )
+ change_integer_list( i_mode_list, psz_mode_list_text )
vlc_module_end ()
vout_thread_t *p_vout = p_input ? input_GetVout( p_input ) : NULL;
/* Update the aout */
- aout_instance_t *p_aout = p_input ? input_GetAout( p_input ) : NULL;
+ vlc_object_t *p_aout = p_input ? (vlc_object_t *)input_GetAout( p_input ) : NULL;
/* Register OSD channels */
/* FIXME: this check can fail if the new vout is reallocated at the same
var_SetBool( p_intf->p_libvlc, "intf-show", false );
break;
+ case ACTIONID_INTF_BOSS:
+ var_TriggerCallback( p_intf->p_libvlc, "intf-boss" );
+ break;
+
/* Video Output actions */
case ACTIONID_SNAPSHOT:
if( p_vout )
}
else if( i_action == ACTIONID_RATE_NORMAL )
{
- var_SetFloat( p_input, "rate", 1. );
- DisplayMessage( p_vout, SPU_DEFAULT_CHANNEL,
- "%s", _("1.00x") );
+ var_SetFloat( p_playlist, "rate", 1. );
+ DisplayRate( p_vout, var_GetFloat( p_input, "rate" ) );
}
else if( i_action == ACTIONID_FASTER )
{
- var_TriggerCallback( p_input, "rate-faster" );
+ var_TriggerCallback( p_playlist, "rate-faster" );
DisplayRate( p_vout, var_GetFloat( p_input, "rate" ) );
}
else if( i_action == ACTIONID_SLOWER )
{
- var_TriggerCallback( p_input, "rate-slower" );
+ var_TriggerCallback( p_playlist, "rate-slower" );
DisplayRate( p_vout, var_GetFloat( p_input, "rate" ) );
}
else if( i_action == ACTIONID_RATE_FASTER_FINE ||
const int i_dir = i_action == ACTIONID_RATE_FASTER_FINE ? 1 : -1;
float f_newrate = AdjustRateFine( p_input, i_dir );
- var_SetFloat( p_input, "rate", f_newrate );
+ var_SetFloat( p_playlist, "rate", f_newrate );
DisplayRate( p_vout, f_newrate );
}
else if( i_action == ACTIONID_POSITION )
static void SetBookmark( intf_thread_t *p_intf, int i_num )
{
char *psz_bookmark_name;
+ char *psz_uri = NULL;
if( asprintf( &psz_bookmark_name, "bookmark%i", i_num ) == -1 )
return;
playlist_t *p_playlist = pl_Get( p_intf );
var_Create( p_intf, psz_bookmark_name,
VLC_VAR_STRING|VLC_VAR_DOINHERIT );
+
+ PL_LOCK;
playlist_item_t * p_item = playlist_CurrentPlayingItem( p_playlist );
+ if( p_item ) psz_uri = input_item_GetURI( p_item->p_input );
+ PL_UNLOCK;
+
if( p_item )
{
- char *psz_uri = input_item_GetURI( 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" );
}
+ free( psz_uri );
free( psz_bookmark_name );
}
vout_OSDSlider( p_vout, VOLUME_WIDGET_CHAN,
i_vol*100/AOUT_VOLUME_MAX, OSD_VERT_SLIDER );
}
- else
- {
- DisplayMessage( p_vout, VOLUME_TEXT_CHAN, _( "Volume %d%%" ),
- i_vol*400/AOUT_VOLUME_MAX );
- }
+ DisplayMessage( p_vout, VOLUME_TEXT_CHAN, _( "Volume %d%%" ),
+ i_vol*100/AOUT_VOLUME_DEFAULT );
}
static void DisplayRate( vout_thread_t *p_vout, float f_rate )