/* The name of the class */
#define PARAMETER_CLASS Config

/************************************
  mmsV2 DEFAULT CONFIGURATION VALUES
 ************************************/

#ifndef  PREFIX
#define  PREFIX        "/usr/local"
#endif

#define MMS_SHARE      PREFIX "/share/mms"
#define DEFAULT_CONFIG "config"

#define MMS_CONFIG_VERSION "23"
#define MMS_INPUT_CONFIG_VERSION "13"
#define MMS_THEME_VERSION "28"

/* audio mode */
#define NONE		0
#define PLAYLIST	1
#define BOTH		2

/* movie player */
#define MPLAYER		0
#define XINE		1
#define DXR3PLAYER	2

/* input */
#define KEYBOARD	0
#define LIRC		1
#define EVDEV		2
#define REPLAY		3

/* remote layout */
#define FULL_LAYOUT	0
#define MOBILE		1

/************************************
   mmsV2 configuration parameters
 ************************************/

PARAMETER_STR("mplayeropts",       mplayer_opts,       "-framedrop -cache 8192 -vo dxr3 -afm hwac3")
PARAMETER_STR("mplayerdvdopts",       mplayer_dvd_opts,"-framedrop -cache 8192 -vo dxr3 -afm hwac3")
PARAMETER_STR("radiomplayeropts",  radiomplayer_opts,  "-cache 128 -vo null")
PARAMETER_STR("cxfeopts",	   cxfe_opts,	       "-vo dxr3")
PARAMETER_STR("dxr3playeropts",    dxr3player_opts,    "-a -t")
PARAMETER_STR("mameopts",       mame_opts,       "-fullscreen -scale 3")
PARAMETER_STR("snesopts",       snes_opts,       "-r 2")
PARAMETER_STR("nesopts",       nes_opts,       "--fs 1 --joy1 1 --xres 720 --yres 576")
PARAMETER_STR("gensopts",       gens_opts,       "--fs-mode")
PARAMETER_STR("psxemuopts",       psxemu_opts,       "-nogui -runcd")
PARAMETER_STR("bttvradiooptsplay", bttvradiooptsplay,  "-q -c /dev/radio -f")     
PARAMETER_STR("bttvradiooptsmute", bttvradiooptsmute,  "-qm -c /dev/radio")     
PARAMETER_STR("bttvvolup_opts",    bttvvolupopt,       "line +4")
PARAMETER_STR("bttvvoldown_opts",  bttvvoldownopt,     "line -4")
PARAMETER_STR("eject_closeopts",   eject_closeopts,    "-t")
PARAMETER_STR("eject_openopts",    eject_openopts,     " ")
PARAMETER_STR("mplayer_path",      mplayer_path,       "/usr/bin/mplayer")
PARAMETER_STR("cxfe_path",	   cxfe_path,	       "/usr/bin/cxfe")
PARAMETER_STR("dxr3player_path",   dxr3player_path,    "/usr/bin/dxr3player")
PARAMETER_STR("alsaplayer_path",   alsaplayer_path,    "/usr/bin/alsaplayer")
PARAMETER_STR("alsaplayer_options",alsaplayer_options, "-r")
PARAMETER_STR("mame_path",        mame_path,         "/usr/bin/xmame")
PARAMETER_STR("snes_path",        snes_path,         "/usr/bin/zsnes")
PARAMETER_STR("nes_path",        nes_path,         "/usr/bin/fceu")
PARAMETER_STR("psxemu_path",        psxemu_path,         "/usr/bin/pcsx")
PARAMETER_STR("gens_path",        gens_path,         "/usr/bin/gens")
PARAMETER_STR("em8300setup_path",  em8300setup_path,   "/usr/bin/em8300setup")
PARAMETER_STR("bttvradio_path",    bttvradio_path,     "/usr/bin/radio")
PARAMETER_STR("bttvvolctl_path",   bttvvolctl_path,    "/usr/bin/setmixer")
PARAMETER_STR("eject_path",        eject_path,         "/usr/bin/eject")
PARAMETER_BOOL("blur",		   blur,	       false)
PARAMETER_BOOL("fullscreen",       fullscreen,         true)
PARAMETER_NUM("h_res",             h_res,              576)
PARAMETER_NUM("v_res",             v_res,              720)
PARAMETER_NUM("image_cache",       image_cache,        10)
PARAMETER_STR("temp_image_loc",	   temp_image_loc,     "/tmp/mms")
PARAMETER_BOOL("moviedb",          moviedb,            false)
PARAMETER_BOOL("movie_mode",       movie_mode,         true)
PARAMETER_NUM("movie_player",      movie_player,       MPLAYER)
PARAMETER_NUM("dvd_player",	   dvd_player,	       DXR3PLAYER)
PARAMETER_STR("audio_mode_5d",     audio_mode_5d,      "-afm hwac3 -ao oss:/dev/dsp")
PARAMETER_STR("audio_mode_5a",     audio_mode_5a,      "-channels 6 -ao oss:/dev/dsp2")
PARAMETER_STR("audio_mode_2",      audio_mode_2,       "-ao oss:/dev/dsp")
PARAMETER_BOOL("tray_open",	   tray_open,	       false)
PARAMETER_NUM("audio_mode",        audio_mode,         BOTH)
PARAMETER_LIST("audio_dir",        audio_dirs)
PARAMETER_LIST("mov_dir",          movie_dirs)
PARAMETER_LIST("game_dir",          game_dirs)
PARAMETER_BOOL("psxemu_enable",	   psxemu_enable,	       false)
PARAMETER_LIST("picture_dir",      picture_dirs)
PARAMETER_LIST("exclude_picture_dir", excluded_picture_dirs)
PARAMETER_PAIR("internet_radio",   internet_radio)
PARAMETER_BOOL("download_radio",   download_radio,	true)
PARAMETER_PAIR("cdrom",		   cdpath)
PARAMETER_PAIR("cdrom_name",	   cdname)
PARAMETER_STR("lircconf",          lircconf,           "/etc/mms/lirc.conf")
PARAMETER_STR("evdev_dev",         evdev_dev,          "/dev/input/event0")
PARAMETER_NUM("input",             input,              KEYBOARD)
PARAMETER_NUM("remote_layout",     remote_layout,      FULL_LAYOUT)
PARAMETER_NUM("lirc_delay",        lirc_delay,         200)
PARAMETER_STR("audio_dev",         audio_dev,          "/dev/dsp")
PARAMETER_STR("audio_output_type", audio_output_type,  "oss")
PARAMETER_STR("audio_output_mode", audio_output_mode,  "-a")
PARAMETER_BOOL("audio_stop_on_clear",audio_stop_on_clear,true)
PARAMETER_BOOL("audio_mode_playnow",audio_mode_playnow,	false)
PARAMETER_BOOL("lcd",              lcd,                false)
PARAMETER_NUM("lcd_rows",          lcd_rows,           4)
PARAMETER_NUM("lcd_pixels",        lcd_pixels,         20)
PARAMETER_STR("epg_data",	   epg_data,	       "/etc/mms/TV.xml")
PARAMETER_STR("tv_mode",           tv_mode,            "-o -p")
PARAMETER_STR("shutdown_script",   shutdown_script,    "")
PARAMETER_BOOL("busy_indicator",   busy_indicator,    true)
PARAMETER_PAIR("filetypes_g",      filetypes_g)
PARAMETER_PAIR("filetypes_m",      filetypes_m)
PARAMETER_PAIR("filetypes_a",      filetypes_a)
PARAMETER_PAIR("filetypes_p",      filetypes_p)
PARAMETER_NUM("jump",    	   jump,     	       14)
PARAMETER_NUM("idle_time",    	   idle_time,  	       0)
PARAMETER_STR("epg_update_script", epg_update_script,  "")
PARAMETER_NUM("debug_level",	   debug_level,	       1)
PARAMETER_BOOL("convert",	   convert,		false)
PARAMETER_STR("convert_locale",	   convert_locale,	"ISO-8859-1")
PARAMETER_STR("convert_mp3_locale",convert_mp3_locale,	"ISO-8859-1")
PARAMETER_STR("tv_path",      tv_path,       "/usr/bin/tvtime")
PARAMETER_STR("tvopts",       tv_opts,       "")

// internal
PARAMETER_STR("replay_read",	   replay_read,		"last_replay.rep")
PARAMETER_BOOL("benchmark",	   benchmark,		false)
PARAMETER_STR("replay_write",	   replay_write,	"last_replay.rep")
PARAMETER_BOOL("sam",		   sam,			false)
PARAMETER_STR("outdev",		   outdev,		"dxr3")
PARAMETER_STR("dvb_device",	   dvb_device,		"/dev/dvb/adapter0/video0")
PARAMETER_BOOL("audio_started",	   audio_started,	false)
PARAMETER_STR("homedir",	   homedir,		"")
PARAMETER_STR("var_data_dir",	   var_data_dir,	"")
PARAMETER_NUM("last_key",	   last_key,		time(0))
PARAMETER_NUM("priority_change",   priority_change,	false)


// Tiny Public functions to give write access to some variables

// seond action menu active?
PUBLIC_PARM(void s_sam(bool c) { sam = c; })

PUBLIC_PARM(void s_replay_read(std::string s) { replay_read = s; })
PUBLIC_PARM(void s_benchmark(bool b) { benchmark = b; })
PUBLIC_PARM(void s_replay_write(std::string s) { replay_write = s; })
PUBLIC_PARM(void s_outdev(std::string s) { outdev = s; })
PUBLIC_PARM(void set_res(int v, int h) { h_res = h; v_res = v; })
PUBLIC_PARM(void s_input(int i) { input = i; })
PUBLIC_PARM(void s_audio_started(bool b) { audio_started = b; })
PUBLIC_PARM(void s_homedir(std::string d) { homedir = d; })
PUBLIC_PARM(void s_var_data_dir(std::string d) { var_data_dir = d; })
PUBLIC_PARM(void set_audio_mode(int mode) { audio_mode = mode; })
PUBLIC_PARM(void set_tray_open(bool md) { tray_open = md; })
PUBLIC_PARM(void s_last_key(int time) { last_key = time; })
PUBLIC_PARM(void s_priority_change(bool succes) { priority_change = succes; })
