* Preamble
*****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <vlc/vlc.h>
#include <vlc_interface.h>
#include <vlc_input.h>
var_Set( p_intf->p_libvlc, p_hotkeys[i].psz_action, val );
}
- while( !intf_ShouldDie( p_intf ) )
+ for( vlc_bool_t b_quit = VLC_FALSE ; !b_quit; )
{
int i_key, i_action;
int i_times = 0;
if( !i_action )
{
- vlc_mutex_lock( &p_intf->object_lock );
- vlc_cond_wait( &p_intf->object_wait, &p_intf->object_lock );
- vlc_mutex_unlock( &p_intf->object_lock );
+ b_quit = vlc_object_lock_and_wait( p_intf );
/* No key pressed, sleep a bit more */
-// msleep( INTF_IDLE_SLEEP );
continue;
}
val.b_bool = !val.b_bool;
var_Set( p_playlist, "random", val );
}
+ else if( i_action == ACTIONID_ZOOM_QUARTER ||
+ i_action == ACTIONID_ZOOM_HALF ||
+ i_action == ACTIONID_ZOOM_ORIGINAL ||
+ i_action == ACTIONID_ZOOM_DOUBLE )
+ {
+ if( p_vout )
+ {
+ if( i_action == ACTIONID_ZOOM_QUARTER )
+ val.f_float = 0.25;
+ if( i_action == ACTIONID_ZOOM_HALF )
+ val.f_float = 0.5;
+ if( i_action == ACTIONID_ZOOM_ORIGINAL )
+ val.f_float = 1;
+ if( i_action == ACTIONID_ZOOM_DOUBLE )
+ val.f_float = 2;
+ var_Set( p_vout, "zoom", val );
+ }
+ }
else if( i_action == ACTIONID_PLAY_PAUSE )
{
val.i_int = PLAYING_S;
_("Audio track: %s"),
list2.p_list->p_values[i].psz_string );
}
+ else if( i_action == ACTIONID_AUDIODEVICE_CYCLE && p_vout)
+ {
+ vlc_value_t val, list, list2;
+ int i_count, i;
+ aout_instance_t *p_aout = vlc_object_find( p_intf, VLC_OBJECT_AOUT, FIND_ANYWHERE );
+ var_Get( p_aout, "audio-device", &val );
+ var_Change( p_aout, "audio-device", VLC_VAR_GETCHOICES,&list, &list2 );
+ i_count = list.p_list->i_count;
+ if( i_count <= 1 )
+ {
+ continue;
+ }
+
+ for( i = 0; i < i_count; i++ )
+ {
+ if( val.i_int == list.p_list->p_values[i].i_int )
+ {
+ break;
+ }
+ }
+ if( i == i_count )
+ {
+ msg_Warn( p_aout,
+ "invalid current audio device, selecting 0" );
+ var_Set( p_aout, "audio-device",
+ list.p_list->p_values[0] );
+ i = 0;
+
+ }
+ else if( i == i_count -1 )
+ {
+ var_Set( p_aout, "audio-device",
+ list.p_list->p_values[0] );
+ i = 0;
+
+ }
+ else
+ {
+ var_Set( p_aout, "audio-device",
+ list.p_list->p_values[i+1] );
+ i++;
+ }
+ vout_OSDMessage( VLC_OBJECT(p_input),
+ DEFAULT_CHAN,
+ _("Audio Device: %s"),
+ list2.p_list->p_values[i].psz_string);
+ vlc_object_release( p_aout );
+ }
else if( i_action == ACTIONID_SUBTITLE_TRACK )
{
vlc_value_t val, list, list2;
{
osd_MenuActivate( VLC_OBJECT(p_intf) );
}
+
}
if( p_vout )
vlc_object_release( p_vout );
static int KeyEvent( vlc_object_t *p_this, char const *psz_var,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{
+ VLC_UNUSED(psz_var); VLC_UNUSED(oldval);
intf_thread_t *p_intf = (intf_thread_t *)p_data;
if ( !newval.i_int )
{
static int ActionKeyCB( vlc_object_t *p_this, char const *psz_var,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{
+ VLC_UNUSED(oldval); VLC_UNUSED(p_data);
libvlc_int_t *p_libvlc = (libvlc_int_t *)p_this;
struct hotkey *p_hotkeys = p_libvlc->p_hotkeys;
mtime_t i_date;