/* -*- linux-c -*- Copyright (C) 2004 Tom Szilagyi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. $Id: options.h 1150 2011-02-19 22:31:59Z pasp $ */ #ifndef _OPTIONS_H #define _OPTIONS_H #include "common.h" typedef struct { int button_nr; int command; } mouse_button_command_t; typedef struct { /* home directory */ char home[MAXLEN]; /* normally $HOME/.aqualung */ char confdir[MAXLEN]; /* current working directory when program is started */ char cwd[MAXLEN]; /* to keep track of file selector dialogs; start with $HOME */ char audiodir[MAXLEN]; char currdir[MAXLEN]; char exportdir[MAXLEN]; char plistdir[MAXLEN]; char podcastdir[MAXLEN]; char ripdir[MAXLEN]; char storedir[MAXLEN]; /* directory of skin in use */ char skin[MAXLEN]; /* Misc - not accessible from the Settings dialog */ float vol; float bal; int time_idx[3]; int main_pos_x; int main_pos_y; int main_size_x; int main_size_y; int browser_pos_x; int browser_pos_y; int browser_size_x; int browser_size_y; int browser_on; int browser_paned_pos; int playlist_pos_x; int playlist_pos_y; int playlist_size_x; int playlist_size_y; int playlist_on; int repeat_on; int repeat_all_on; int shuffle_on; int search_pl_flags; int search_ms_flags; int ifpmanager_size_x; int ifpmanager_size_y; float loop_range_start; float loop_range_end; int wm_systray_warn; int podcasts_autocheck; int cdrip_deststore; int cdrip_file_format; int cdrip_bitrate; int cdrip_vbr; int cdrip_metadata; char export_template[MAXLEN]; int export_subdir_artist; int export_subdir_album; int export_subdir_limit; int export_file_format; int export_bitrate; int export_vbr; int export_metadata; int export_filter_same; int export_excl_enabled; char export_excl_pattern[MAXLEN]; int batch_tag_flags; /* General */ char title_format[MAXLEN]; char default_param[MAXLEN]; int enable_tooltips; int disable_buttons_relief; int combine_play_pause; int combine_play_pause_shadow; int simple_view_in_fx; int simple_view_in_fx_shadow; int show_sn_title; int united_minimization; int show_hidden; int main_window_always_on_top; int tags_tab_first; int dont_show_cover; int use_external_cover_first; int show_cover_for_ms_tracks_only; int use_systray; int systray_start_minimized; int systray_mouse_wheel_horizontal; int systray_mouse_wheel_vertical; int systray_mouse_buttons_count; mouse_button_command_t * systray_mouse_buttons; /* Playlist */ int playlist_is_embedded; int playlist_is_embedded_shadow; int buttons_at_the_bottom; int buttons_at_the_bottom_shadow; int playlist_always_show_tabs; int playlist_show_close_button_in_tab; int playlist_is_tree; int album_shuffle_mode; int auto_save_playlist; int playlist_auto_save; int playlist_auto_save_int; int enable_playlist_statusbar; int enable_playlist_statusbar_shadow; int pl_statusbar_show_size; int show_rva_in_playlist; int show_length_in_playlist; int show_active_track_name_in_bold; int auto_roll_to_active_track; int enable_pl_rules_hint; int plcol_idx[3]; /* Music Store */ int hide_comment_pane; int hide_comment_pane_shadow; int enable_mstore_statusbar; int enable_mstore_statusbar_shadow; int ms_statusbar_show_size; int enable_mstore_toolbar; int enable_mstore_toolbar_shadow; int autoexpand_stores; int enable_ms_rules_hint; int enable_ms_tree_icons; int enable_ms_tree_icons_shadow; int ms_confirm_removal; int cover_width; int magnify_smaller_images; /* DSP */ int ladspa_is_postfader; int src_type; /* RVA */ int rva_is_enabled; int rva_env; float rva_refvol; float rva_steepness; int rva_use_averaging; int rva_use_linear_thresh; float rva_avg_linear_thresh; float rva_avg_stddev_thresh; float rva_no_rva_voladj; /* Metadata */ int replaygain_tag_to_use; int batch_mpeg_add_id3v1; int batch_mpeg_add_id3v2; int batch_mpeg_add_ape; char encode_set[MAXLEN]; int metaedit_auto_clone; int meta_use_basename_only; int meta_rm_extension; int meta_us_to_space; /* CD audio */ int cdda_drive_speed; int cdda_paranoia_mode; int cdda_paranoia_maxretries; int cdda_force_drive_rescan; int cdda_add_to_playlist; int cdda_remove_from_playlist; /* CDDB */ char cddb_server[MAXLEN]; int cddb_timeout; char cddb_email[MAXLEN]; char cddb_local[MAXLEN]; int cddb_cache_only; int cddb_use_http; /* Internet */ int inet_use_proxy; char inet_proxy[MAXLEN]; int inet_proxy_port; char inet_noproxy_domains[MAXLEN]; int inet_timeout; /* Appearance */ int disable_skin_support_settings; int override_skin_settings; char playlist_font[MAX_FONTNAME_LEN]; char browser_font[MAX_FONTNAME_LEN]; char bigtimer_font[MAX_FONTNAME_LEN]; char smalltimer_font[MAX_FONTNAME_LEN]; char songtitle_font[MAX_FONTNAME_LEN]; char songinfo_font[MAX_FONTNAME_LEN]; char statusbar_font[MAX_FONTNAME_LEN]; char song_color[MAX_COLORNAME_LEN]; char activesong_color[MAX_COLORNAME_LEN]; /* Lua */ char ext_title_format_file[MAXLEN]; int use_ext_title_format; } options_t; enum { SONG_COLOR = 1, ACTIVE_SONG_COLOR }; // Mouse wheel commands on systray. enum { SYSTRAY_MW_CMD_DO_NOTHING, SYSTRAY_MW_CMD_VOLUME, SYSTRAY_MW_CMD_BALANCE, SYSTRAY_MW_CMD_SONG_POSITION, SYSTRAY_MW_CMD_NEXT_PREV_SONG }; // Mouse buttons commands on systray. enum { SYSTRAY_MB_CMD_PLAY_STOP_SONG, SYSTRAY_MB_CMD_PLAY_PAUSE_SONG, SYSTRAY_MB_CMD_PREV_SONG, SYSTRAY_MB_CMD_NEXT_SONG, SYSTRAY_MB_CMD_LAST }; enum { SYSTRAY_MB_COL_BUTTON, SYSTRAY_MB_COL_COMMAND, SYSTRAY_MB_LAST }; void create_options_window(void); void append_ms_pathlist(char * path, char * name); void options_store_watcher_start(void); void save_config(void); void load_config(void); void finalize_options(void); #endif /* _OPTIONS_H */ // vim: shiftwidth=8:tabstop=8:softtabstop=8 :