1 /* 2 * Copyright (C) 2005 Marc Pavot <marc.pavot@gmail.com> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2, or (at your option) 7 * any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 * 18 */ 19 20 #ifndef __ARIO_PREFERENCES_H 21 #define __ARIO_PREFERENCES_H 22 23 /* Define if Ario must autoconnect to server or not */ 24 #define PREF_AUTOCONNECT "autoconnect" 25 #define PREF_AUTOCONNECT_DEFAULT TRUE 26 27 /* When enabled, ario hide the covers in the albums treeview */ 28 #define PREF_COVER_TREE_HIDDEN "ario_cover_tree_hidden" 29 #define PREF_COVER_TREE_HIDDEN_DEFAULT FALSE 30 31 /* If enabled, Ario will automaticaly get an album cover when a song is played */ 32 #define PREF_AUTOMATIC_GET_COVER "automatic_get_cover" 33 #define PREF_AUTOMATIC_GET_COVER_DEFAULT TRUE 34 35 /* Define if Ario must use a proxy for remote connections */ 36 #define PREF_USE_PROXY "use_proxy" 37 #define PREF_USE_PROXY_DEFAULT FALSE 38 39 /* Define the address of the proxy */ 40 #define PREF_PROXY_ADDRESS "proxy_address" 41 #define PREF_PROXY_ADDRESS_DEFAULT "192.168.0.1" 42 43 /* Define the port of the proxy */ 44 #define PREF_PROXY_PORT "proxy_port" 45 #define PREF_PROXY_PORT_DEFAULT 8080 46 47 /* Define if the view tabs are shown */ 48 #define PREF_SHOW_TABS "show_tabs" 49 #define PREF_SHOW_TABS_DEFAULT TRUE 50 51 /* define default step for volume adjustment with mouse wheel over volume button and tray icon */ 52 #define PREF_VOL_ADJUST_STEP "volume_adjust_step" 53 #define PREF_VOL_ADJUST_STEP_DEFAULT 5 54 55 /* Define the behavior of a double click on the tray icon (0 for 'play/pause', 1 for 'play next song', 2 for 'do nothing') */ 56 #define PREF_TRAYICON_BEHAVIOR "trayicon_behavior" 57 #define PREF_TRAYICON_BEHAVIOR_DEFAULT 0 58 59 /* Define the behavior of a double click on a song/album/artist... */ 60 #define PREF_DOUBLECLICK_BEHAVIOR "doubleclick_behavior" 61 #define PREF_DOUBLECLICK_BEHAVIOR_DEFAULT 0 62 63 /* True if the initial assistant has already been run */ 64 #define PREF_FIRST_TIME "first_time_flag" 65 #define PREF_FIRST_TIME_DEFAULT FALSE 66 67 /* Main window width */ 68 #define PREF_WINDOW_WIDTH "window_width" 69 #define PREF_WINDOW_WIDTH_DEFAULT 600 70 71 /* Main window height */ 72 #define PREF_WINDOW_HEIGHT "window_height" 73 #define PREF_WINDOW_HEIGHT_DEFAULT 600 74 75 /* If true, the main window is maximized */ 76 #define PREF_WINDOW_MAXIMIZED "window_maximized" 77 #define PREF_WINDOW_MAXIMIZED_DEFAULT TRUE 78 79 /* If true, the statusbar is hidden */ 80 #define PREF_STATUSBAR_HIDDEN "statusbar_hidden" 81 #define PREF_STATUSBAR_HIDDEN_DEFAULT FALSE 82 83 /* If true, the different music sources are hidden */ 84 #define PREF_UPPERPART_HIDDEN "upperpart_hidden" 85 #define PREF_UPPERPART_HIDDEN_DEFAULT FALSE 86 87 /* If true, the playlist is hidden */ 88 #define PREF_PLAYLIST_HIDDEN "playlist_hidden" 89 #define PREF_PLAYLIST_HIDDEN_DEFAULT FALSE 90 91 /* Position of main window pane */ 92 #define PREF_VPANED_POSITION "vpaned_position" 93 #define PREF_VPANED_POSITION_DEFAULT 400 94 95 /* Position of playlists pane */ 96 #define PREF_PLAYLISTS_HPANED_SIZE "playlists_hpaned_position" 97 #define PREF_PLAYLISTS_HPANED_SIZE_DEFAULT 250 98 99 /* Position of filesystem pane */ 100 #define PREF_FILSYSTEM_HPANED_SIZE "filesystem_hpaned_position" 101 #define PREF_FILSYSTEM_HPANED_SIZE_DEFAULT 250 102 103 /* Define the source used in Ario (0 for the library, 1 for the radios, etc..) */ 104 #define PREF_SOURCE "source" 105 #define PREF_SOURCE_DEFAULT 0 106 107 /* Pixbuf column properties */ 108 #define PREF_PIXBUF_COLUMN_ORDER "pixbuf_column_order" 109 #define PREF_PIXBUF_COLUMN_ORDER_DEFAULT 1 110 111 /* Track column properties */ 112 #define PREF_TRACK_COLUMN_SIZE "track_column_size" 113 #define PREF_TRACK_COLUMN_SIZE_DEFAULT 50 114 #define PREF_TRACK_COLUMN_VISIBLE "track_column_visible" 115 #define PREF_TRACK_COLUMN_VISIBLE_DEFAULT TRUE 116 #define PREF_TRACK_COLUMN_ORDER "track_column_order" 117 #define PREF_TRACK_COLUMN_ORDER_DEFAULT 2 118 119 /* Title column properties */ 120 #define PREF_TITLE_COLUMN_SIZE "title_column_size" 121 #define PREF_TITLE_COLUMN_SIZE_DEFAULT 200 122 #define PREF_TITLE_COLUMN_VISIBLE "title_column_visible" 123 #define PREF_TITLE_COLUMN_VISIBLE_DEFAULT TRUE 124 #define PREF_TITLE_COLUMN_ORDER "title_column_order" 125 #define PREF_TITLE_COLUMN_ORDER_DEFAULT 3 126 127 /* Artist column properties */ 128 #define PREF_ARTIST_COLUMN_SIZE "artist_column_size" 129 #define PREF_ARTIST_COLUMN_SIZE_DEFAULT 200 130 #define PREF_ARTIST_COLUMN_VISIBLE "artist_column_visible" 131 #define PREF_ARTIST_COLUMN_VISIBLE_DEFAULT TRUE 132 #define PREF_ARTIST_COLUMN_ORDER "artist_column_order" 133 #define PREF_ARTIST_COLUMN_ORDER_DEFAULT 4 134 135 /* Album column properties */ 136 #define PREF_ALBUM_COLUMN_SIZE "album_column_size" 137 #define PREF_ALBUM_COLUMN_SIZE_DEFAULT 200 138 #define PREF_ALBUM_COLUMN_VISIBLE "album_column_visible" 139 #define PREF_ALBUM_COLUMN_VISIBLE_DEFAULT TRUE 140 #define PREF_ALBUM_COLUMN_ORDER "album_column_order" 141 #define PREF_ALBUM_COLUMN_ORDER_DEFAULT 5 142 143 /* Duration column properties */ 144 #define PREF_DURATION_COLUMN_SIZE "duration_column_size" 145 #define PREF_DURATION_COLUMN_SIZE_DEFAULT 50 146 #define PREF_DURATION_COLUMN_VISIBLE "duration_column_visible" 147 #define PREF_DURATION_COLUMN_VISIBLE_DEFAULT TRUE 148 #define PREF_DURATION_COLUMN_ORDER "duration_column_order" 149 #define PREF_DURATION_COLUMN_ORDER_DEFAULT 6 150 151 /* File column properties */ 152 #define PREF_FILE_COLUMN_SIZE "file_column_size" 153 #define PREF_FILE_COLUMN_SIZE_DEFAULT 200 154 #define PREF_FILE_COLUMN_VISIBLE "file_column_visible" 155 #define PREF_FILE_COLUMN_VISIBLE_DEFAULT FALSE 156 #define PREF_FILE_COLUMN_ORDER "file_column_order" 157 #define PREF_FILE_COLUMN_ORDER_DEFAULT 7 158 159 /* Genre column properties */ 160 #define PREF_GENRE_COLUMN_SIZE "genre_column_size" 161 #define PREF_GENRE_COLUMN_SIZE_DEFAULT 200 162 #define PREF_GENRE_COLUMN_VISIBLE "genre_column_visible" 163 #define PREF_GENRE_COLUMN_VISIBLE_DEFAULT FALSE 164 #define PREF_GENRE_COLUMN_ORDER "genre_column_order" 165 #define PREF_GENRE_COLUMN_ORDER_DEFAULT 8 166 167 /* Date column properties */ 168 #define PREF_DATE_COLUMN_SIZE "date_column_size" 169 #define PREF_DATE_COLUMN_SIZE_DEFAULT 70 170 #define PREF_DATE_COLUMN_VISIBLE "date_column_visible" 171 #define PREF_DATE_COLUMN_VISIBLE_DEFAULT FALSE 172 #define PREF_DATE_COLUMN_ORDER "date_column_order" 173 #define PREF_DATE_COLUMN_ORDER_DEFAULT 9 174 175 /* Disc column properties */ 176 #define PREF_DISC_COLUMN_SIZE "disc_column_size" 177 #define PREF_DISC_COLUMN_SIZE_DEFAULT 70 178 #define PREF_DISC_COLUMN_VISIBLE "disc_column_visible" 179 #define PREF_DISC_COLUMN_VISIBLE_DEFAULT FALSE 180 #define PREF_DISC_COLUMN_ORDER "disc_column_order" 181 #define PREF_DISC_COLUMN_ORDER_DEFAULT 10 182 183 /* List of active plugins. It contains the "Location" of the active plugins. See the .ario-plugin file for obtaining the "Location" of a given plugin. */ 184 #define PREF_PLUGINS_LIST "active-plugins" 185 #ifdef ENABLE_LIBNOTIFY 186 #define PREF_PLUGINS_LIST_DEFAULT "filesystem,radios,wikipedia,liblibnotify" 187 #else 188 #define PREF_PLUGINS_LIST_DEFAULT "filesystem,radios,wikipedia" 189 #endif 190 191 /* Ordered list of sources */ 192 #define PREF_SOURCE_LIST "sources-order" 193 #define PREF_SOURCE_LIST_DEFAULT "library,search,radios,storedplaylists,filesystem" 194 195 /* Ordered list of covers providers */ 196 #define PREF_COVER_PROVIDERS_LIST "cover-providers" 197 #define PREF_COVER_PROVIDERS_LIST_DEFAULT "local,lastfm" 198 199 /* List of active covers providers */ 200 #define PREF_COVER_ACTIVE_PROVIDERS_LIST "active-cover-providers" 201 #define PREF_COVER_ACTIVE_PROVIDERS_LIST_DEFAULT "local,lastfm" 202 203 /* Ordered list of lyrics providers */ 204 #define PREF_LYRICS_PROVIDERS_LIST "lyrics-providers" 205 #define PREF_LYRICS_PROVIDERS_LIST_DEFAULT "letras" 206 207 /* List of active lyrics providers */ 208 #define PREF_LYRICS_ACTIVE_PROVIDERS_LIST "active-lyrics-providers" 209 #define PREF_LYRICS_ACTIVE_PROVIDERS_LIST_DEFAULT "letras" 210 211 /* If true, Ario windows is hidden when closed */ 212 #define PREF_HIDE_ON_CLOSE "hide-on-close" 213 #define PREF_HIDE_ON_CLOSE_DEFAULT FALSE 214 215 /* Define how albums are sorted (alphabetically, by year, ...) */ 216 #define PREF_ALBUM_SORT "album-sort" 217 #define PREF_ALBUM_SORT_DEFAULT SORT_ALPHABETICALLY 218 219 /* If true, the playlist automaticaly scrolls to the playing song */ 220 #define PREF_PLAYLIST_AUTOSCROLL "playlist_autoscroll" 221 #define PREF_PLAYLIST_AUTOSCROLL_DEFAULT FALSE 222 223 /* If true, a notification window appears when the song changes */ 224 #define PREF_HAVE_NOTIFICATION "notification" 225 #define PREF_HAVE_NOTIFICATION_DEFAULT FALSE 226 227 /* The notifier id */ 228 #define PREF_NOTIFIER "notifier" 229 #ifdef ENABLE_LIBNOTIFY 230 #define PREF_NOTIFIER_DEFAULT "libnotify" 231 #else 232 #define PREF_NOTIFIER_DEFAULT "tooltip" 233 #endif 234 235 /* The duration of the notification (in seconds) */ 236 #define PREF_NOTIFICATION_TIME "notification-time" 237 #define PREF_NOTIFICATION_TIME_DEFAULT 5 238 239 /* If true, Ario can have only one instance launched at the same time */ 240 #define PREF_ONE_INSTANCE "one-instance" 241 #define PREF_ONE_INSTANCE_DEFAULT TRUE 242 243 /* If true, the tray icon is showed */ 244 #define PREF_TRAY_ICON "tray-icon" 245 #define PREF_TRAY_ICON_DEFAULT TRUE 246 247 /* The different lists used in the library browser (0 for artist, 1 for album, 2 for title...) */ 248 #define PREF_BROWSER_TREES "browser-trees" 249 #define PREF_BROWSER_TREES_DEFAULT "0,1,3" 250 251 /* If true, Ario asks to SERVER to update the database when it is started */ 252 #define PREF_UPDATE_STARTUP "update-startup" 253 #define PREF_UPDATE_STARTUP_DEFAULT FALSE 254 255 /* If true, Ario stops the music on exit */ 256 #define PREF_STOP_EXIT "stop-exit" 257 #define PREF_STOP_EXIT_DEFAULT FALSE 258 259 /* Playlist Mode */ 260 #define PREF_PLAYLIST_MODE "playlist-mode" 261 #define PREF_PLAYLIST_MODE_DEFAULT "normal" 262 263 /* Number of songs added to the playlist in dynamic mode*/ 264 #define PREF_DYNAMIC_NBITEMS "dynamic-nbitems" 265 #define PREF_DYNAMIC_NBITEMS_DEFAULT 10 266 267 /* Type of songs added to the playlist in dynamic mode*/ 268 #define PREF_DYNAMIC_TYPE "dynamic-type" 269 #define PREF_DYNAMIC_TYPE_DEFAULT 0 270 271 /* Playlist position */ 272 #define PREF_PLAYLIST_POSITION "playlist-position" 273 #define PREF_PLAYLIST_POSITION_DEFAULT 0 274 275 enum 276 { 277 TRAY_ICON_PLAY_PAUSE, 278 TRAY_ICON_NEXT_SONG, 279 TRAY_ICON_MUTE, 280 TRAY_ICON_DO_NOTHING, 281 TRAY_ICON_N_BEHAVIOR 282 }; 283 284 enum 285 { 286 SORT_ALPHABETICALLY, 287 SORT_YEAR, 288 SORT_N_BEHAVIOR 289 }; 290 291 enum 292 { 293 PLAYLIST_POSITION_BELOW, 294 PLAYLIST_POSITION_RIGHT, 295 PLAYLIST_POSITION_INSIDE, 296 PLAYLIST_POSITION_N_BEHAVIOR 297 }; 298 299 #endif /* __ARIO_PREFERENCES_H */ 300