view src/hotkey/plugin.h @ 3193:93cf4d0a0dde

alsa-ng: Prefer "PCM" volume control over "Wave" on systems that have both, for consistency with OSS plugin and maybe other apps (closes AUD-34 and AUD-36).
author John Lindgren <john.lindgren@tds.net>
date Mon, 29 Jun 2009 23:05:56 -0400
parents ad45d65e9ae7
children
line wrap: on
line source

#ifndef _PLUGIN_H_INCLUDED_
#define _PLUGIN_H_INCLUDED_

#include <glib.h>

#define TYPE_KEY 0
#define TYPE_MOUSE 1

typedef enum {
	EVENT_PREV_TRACK = 0,
	EVENT_PLAY,
	EVENT_PAUSE,
	EVENT_STOP,
	EVENT_NEXT_TRACK,

	EVENT_FORWARD,
	EVENT_BACKWARD,
	EVENT_MUTE,
	EVENT_VOL_UP,
	EVENT_VOL_DOWN,
	EVENT_JUMP_TO_FILE,
	EVENT_TOGGLE_WIN,
	EVENT_SHOW_AOSD,

	EVENT_MAX 
} EVENT;


typedef struct _HotkeyConfiguration {
	gint key, mask;
	gint type;
	EVENT event;
	struct _HotkeyConfiguration *next;
} HotkeyConfiguration;

typedef struct {
	gint vol_increment;
	gint vol_decrement;
	
	/* keyboard */
	HotkeyConfiguration first;
} PluginConfig;



void load_config (void);
void save_config (void);
PluginConfig* get_config(void);
gboolean is_loaded (void);
gboolean handle_keyevent(EVENT event);

#endif