1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
/* config.h - 2000/06/21 */
/*
* EasyTAG - Tag editor for MP3 and Ogg Vorbis files
* Copyright (C) 2000-2003 Jerome Couderc <easytag@gmail.com>
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __CONFIG_H__
#define __CONFIG_H__
#include <gtk/gtk.h>
/***************
* Declaration *
***************/
typedef enum
{
CV_TYPE_STRING=0,
CV_TYPE_INT,
CV_TYPE_BOOL
} Config_Variable_Type;
typedef struct _tConfigVariable tConfigVariable;
struct _tConfigVariable
{
char *name; /* Variable name written in config file */
Config_Variable_Type type; /* Variable type: Integer, Alphabetic, ... */
void *pointer; /* Pointer to our variable */
};
/*
* Config varariables
*/
/* Common */
gint LOAD_ON_STARTUP;
gchar *DEFAULT_PATH_TO_MP3;
gint BROWSER_LINE_STYLE;
gint BROWSER_EXPANDER_STYLE;
gint BROWSE_SUBDIR;
gint BROWSE_HIDDEN_DIR;
gint OPEN_SELECTED_BROWSER_NODE;
/* Misc */
// User Interface
gint SET_MAIN_WINDOW_POSITION;
gint MAIN_WINDOW_X;
gint MAIN_WINDOW_Y;
gint MAIN_WINDOW_HEIGHT;
gint MAIN_WINDOW_WIDTH;
gint PANE_HANDLE_POSITION1;
gint PANE_HANDLE_POSITION2;
gint PANE_HANDLE_POSITION3;
gint PANE_HANDLE_POSITION4;
gint SHOW_HEADER_INFO;
gint CHANGED_FILES_DISPLAYED_TO_RED;
gint CHANGED_FILES_DISPLAYED_TO_BOLD;
gint SORTING_FILE_MODE;
gint SORTING_FILE_CASE_SENSITIVE;
gint MESSAGE_BOX_POSITION_NONE;
gint MESSAGE_BOX_POSITION_CENTER;
gint MESSAGE_BOX_POSITION_MOUSE;
gint MESSAGE_BOX_POSITION_CENTER_ON_PARENT;
gchar *AUDIO_FILE_PLAYER;
/* File Settings */
gint REPLACE_ILLEGAL_CHARACTERS_IN_FILENAME;
gint FILENAME_EXTENSION_LOWER_CASE;
gint FILENAME_EXTENSION_UPPER_CASE;
gint FILENAME_EXTENSION_NO_CHANGE;
gint PRESERVE_MODIFICATION_TIME;
gint UPDATE_PARENT_DIRECTORY_MODIFICATION_TIME;
gint FILENAME_CHARACTER_SET_OTHER;
gint FILENAME_CHARACTER_SET_APPROXIMATE;
gint FILENAME_CHARACTER_SET_DISCARD;
/* Tag Settings */
gint WRITE_ID3_TAGS_IN_FLAC_FILE;
gint STRIP_TAG_WHEN_EMPTY_FIELDS;
gint CONVERT_OLD_ID3V2_TAG_VERSION;
gint FILE_WRITING_ID3V2_VERSION_4;
gint USE_NON_STANDARD_ID3_READING_CHARACTER_SET;
gchar *FILE_READING_ID3V1V2_CHARACTER_SET;
gint FILE_WRITING_ID3V2_WRITE_TAG;
gint FILE_WRITING_ID3V2_USE_CRC32;
gint FILE_WRITING_ID3V2_USE_COMPRESSION;
gint FILE_WRITING_ID3V2_TEXT_ONLY_GENRE;
gint FILE_WRITING_ID3V2_USE_UNICODE_CHARACTER_SET;
gchar *FILE_WRITING_ID3V2_UNICODE_CHARACTER_SET;
gchar *FILE_WRITING_ID3V2_NO_UNICODE_CHARACTER_SET;
gint FILE_WRITING_ID3V2_ICONV_OPTIONS_NO;
gint FILE_WRITING_ID3V2_ICONV_OPTIONS_TRANSLIT;
gint FILE_WRITING_ID3V2_ICONV_OPTIONS_IGNORE;
gint FILE_WRITING_ID3V1_WRITE_TAG;
gchar *FILE_WRITING_ID3V1_CHARACTER_SET;
gint FILE_WRITING_ID3V1_ICONV_OPTIONS_NO;
gint FILE_WRITING_ID3V1_ICONV_OPTIONS_TRANSLIT;
gint FILE_WRITING_ID3V1_ICONV_OPTIONS_IGNORE;
gint DATE_AUTO_COMPLETION;
gint NUMBER_TRACK_FORMATED;
gint NUMBER_TRACK_FORMATED_SPIN_BUTTON;
gint OGG_TAG_WRITE_XMMS_COMMENT;
gint SET_FOCUS_TO_SAME_TAG_FIELD;
gint SET_FOCUS_TO_FIRST_TAG_FIELD;
gint LOG_MAX_LINES;
gint SHOW_LOG_VIEW;
/* Scanner */
gint SCANNER_TYPE;
gint SCAN_MASK_EDITOR_BUTTON;
gint SCAN_LEGEND_BUTTON;
gint FTS_CONVERT_UNDERSCORE_AND_P20_INTO_SPACE;
gint FTS_CONVERT_SPACE_INTO_UNDERSCORE;
gint RFS_CONVERT_UNDERSCORE_AND_P20_INTO_SPACE;
gint RFS_CONVERT_SPACE_INTO_UNDERSCORE;
gint PFS_DONT_UPPER_SOME_WORDS;
gint OVERWRITE_TAG_FIELD;
gint SET_DEFAULT_COMMENT;
gchar *DEFAULT_COMMENT;
gint SET_CRC32_COMMENT;
gint OPEN_SCANNER_WINDOW_ON_STARTUP;
gint SCANNER_WINDOW_ON_TOP;
gint SET_SCANNER_WINDOW_POSITION;
gint SCANNER_WINDOW_X;
gint SCANNER_WINDOW_Y;
/* Confirmation */
gint CONFIRM_BEFORE_EXIT;
gint CONFIRM_WRITE_TAG;
gint CONFIRM_RENAME_FILE;
gint CONFIRM_WRITE_PLAYLIST;
gint CONFIRM_DELETE_FILE;
/* Scanner window */
gint PROCESS_FILENAME_FIELD;
gint PROCESS_TITLE_FIELD;
gint PROCESS_ARTIST_FIELD;
gint PROCESS_ALBUM_ARTIST_FIELD;
gint PROCESS_ALBUM_FIELD;
gint PROCESS_GENRE_FIELD;
gint PROCESS_COMMENT_FIELD;
gint PROCESS_COMPOSER_FIELD;
gint PROCESS_ORIG_ARTIST_FIELD;
gint PROCESS_COPYRIGHT_FIELD;
gint PROCESS_URL_FIELD;
gint PROCESS_ENCODED_BY_FIELD;
gchar *PROCESS_FIELDS_CONVERT_FROM;
gchar *PROCESS_FIELDS_CONVERT_TO;
gint PF_CONVERT_INTO_SPACE;
gint PF_CONVERT_SPACE;
gint PF_CONVERT;
gint PF_CONVERT_ALL_UPPERCASE;
gint PF_CONVERT_ALL_DOWNCASE;
gint PF_CONVERT_FIRST_LETTER_UPPERCASE;
gint PF_CONVERT_FIRST_LETTERS_UPPERCASE;
gint PF_DETECT_ROMAN_NUMERALS;
gint PF_REMOVE_SPACE;
gint PF_INSERT_SPACE;
gint PF_ONLY_ONE_SPACE;
/* Playlist window */
gchar *PLAYLIST_NAME;
gint PLAYLIST_USE_MASK_NAME;
gint PLAYLIST_USE_DIR_NAME;
gint PLAYLIST_ONLY_SELECTED_FILES;
gint PLAYLIST_FULL_PATH;
gint PLAYLIST_RELATIVE_PATH;
gint PLAYLIST_CREATE_IN_PARENT_DIR;
gint PLAYLIST_USE_DOS_SEPARATOR;
gint PLAYLIST_CONTENT_NONE;
gint PLAYLIST_CONTENT_FILENAME;
gint PLAYLIST_CONTENT_MASK;
gchar *PLAYLIST_CONTENT_MASK_VALUE;
gint PLAYLIST_WINDOW_X;
gint PLAYLIST_WINDOW_Y;
gint PLAYLIST_WINDOW_WIDTH;
gint PLAYLIST_WINDOW_HEIGHT;
/* "Load filenames from txt" window */
gint LOAD_FILE_RUN_SCANNER;
gint LOAD_FILE_WINDOW_X;
gint LOAD_FILE_WINDOW_Y;
gint LOAD_FILE_WINDOW_WIDTH;
gint LOAD_FILE_WINDOW_HEIGHT;
/* CDDB in preferences window */
gchar *CDDB_SERVER_NAME_AUTOMATIC_SEARCH;
gint CDDB_SERVER_PORT_AUTOMATIC_SEARCH;
gchar *CDDB_SERVER_CGI_PATH_AUTOMATIC_SEARCH;
gchar *CDDB_SERVER_NAME_AUTOMATIC_SEARCH2;
gint CDDB_SERVER_PORT_AUTOMATIC_SEARCH2;
gchar *CDDB_SERVER_CGI_PATH_AUTOMATIC_SEARCH2;
gchar *CDDB_SERVER_NAME_MANUAL_SEARCH;
gint CDDB_SERVER_PORT_MANUAL_SEARCH;
gchar *CDDB_SERVER_CGI_PATH_MANUAL_SEARCH;
gchar *CDDB_LOCAL_PATH;
gint CDDB_USE_PROXY;
gchar *CDDB_PROXY_NAME;
gint CDDB_PROXY_PORT;
gchar *CDDB_PROXY_USER_NAME;
gchar *CDDB_PROXY_USER_PASSWORD;
gint SET_CDDB_WINDOW_POSITION;
gint CDDB_WINDOW_X;
gint CDDB_WINDOW_Y;
gint CDDB_WINDOW_HEIGHT;
gint CDDB_WINDOW_WIDTH;
gint CDDB_PANE_HANDLE_POSITION;
gint CDDB_FOLLOW_FILE;
gint CDDB_USE_DLM;
gint CDDB_USE_LOCAL_ACCESS;
/* CDDB window */
gint CDDB_SEARCH_IN_ALL_FIELDS;
gint CDDB_SEARCH_IN_ARTIST_FIELD;
gint CDDB_SEARCH_IN_TITLE_FIELD;
gint CDDB_SEARCH_IN_TRACK_NAME_FIELD;
gint CDDB_SEARCH_IN_OTHER_FIELD;
gint CDDB_SHOW_CATEGORIES;
gint CDDB_SEARCH_IN_ALL_CATEGORIES;
gint CDDB_SEARCH_IN_BLUES_CATEGORY;
gint CDDB_SEARCH_IN_CLASSICAL_CATEGORY;
gint CDDB_SEARCH_IN_COUNTRY_CATEGORY;
gint CDDB_SEARCH_IN_FOLK_CATEGORY;
gint CDDB_SEARCH_IN_JAZZ_CATEGORY;
gint CDDB_SEARCH_IN_MISC_CATEGORY;
gint CDDB_SEARCH_IN_NEWAGE_CATEGORY;
gint CDDB_SEARCH_IN_REGGAE_CATEGORY;
gint CDDB_SEARCH_IN_ROCK_CATEGORY;
gint CDDB_SEARCH_IN_SOUNDTRACK_CATEGORY;
gint CDDB_SET_TO_ALL_FIELDS;
gint CDDB_SET_TO_TITLE;
gint CDDB_SET_TO_ARTIST;
gint CDDB_SET_TO_ALBUM;
gint CDDB_SET_TO_YEAR;
gint CDDB_SET_TO_TRACK;
gint CDDB_SET_TO_TRACK_TOTAL;
gint CDDB_SET_TO_GENRE;
gint CDDB_SET_TO_FILE_NAME;
gint CDDB_RUN_SCANNER;
/* Search Window */
gint SET_SEARCH_WINDOW_POSITION;
gint SEARCH_WINDOW_X;
gint SEARCH_WINDOW_Y;
gint SEARCH_WINDOW_HEIGHT;
gint SEARCH_WINDOW_WIDTH;
gint SEARCH_IN_FILENAME;
gint SEARCH_IN_TAG;
gint SEARCH_CASE_SENSITIVE;
/* Default mask */
gchar *SCAN_TAG_DEFAULT_MASK;
gchar *RENAME_FILE_DEFAULT_MASK;
gchar *RENAME_DIRECTORY_DEFAULT_MASK;
gint RENAME_DIRECTORY_WITH_MASK;
/* Other parameters */
gint OPTIONS_NOTEBOOK_PAGE;
gint OPTIONS_WINDOW_HEIGHT;
gint OPTIONS_WINDOW_WIDTH;
/**************
* Prototypes *
**************/
void Init_Config_Variables (void);
void Read_Config (void);
void Display_Config (void);
void Apply_Changes_Of_Preferences_Window (void);
void Apply_Changes_Of_UI (void);
void Save_Changes_Of_Preferences_Window (void);
void Save_Changes_Of_UI (void);
void Save_Config_To_File (void);
gboolean Create_Easytag_Directory (void);
gboolean Setting_Create_Files (void);
/* MasksList */
void Load_Scan_Tag_Masks_List (GtkListStore *liststore, gint colnum, gchar **fallback);
void Save_Scan_Tag_Masks_List (GtkListStore *liststore, gint colnum);
/* RenameFileMasksList */
void Load_Rename_File_Masks_List (GtkListStore *liststore, gint colnum, gchar **fallback);
void Save_Rename_File_Masks_List (GtkListStore *liststore, gint colnum);
/* RenameDirectoryMasksList 'RenameDirectoryMaskCombo' combobox */
void Load_Rename_Directory_Masks_List (GtkListStore *liststore, gint colnum, gchar **fallback);
void Save_Rename_Directory_Masks_List (GtkListStore *liststore, gint colnum);
/* 'DefaultPathToMp3' combobox */
void Load_Default_Path_To_MP3_List (GtkListStore *liststore, gint colnum);
void Save_Default_Path_To_MP3_List (GtkListStore *liststore, gint colnum);
/* 'DefaultComment' combobox */
void Load_Default_Tag_Comment_Text_List (GtkListStore *liststore, gint colnum);
void Save_Default_Tag_Comment_Text_List (GtkListStore *liststore, gint colnum);
/* 'BrowserEntry' combobox */
void Load_Path_Entry_List (GtkListStore *liststore, gint colnum);
void Save_Path_Entry_List (GtkListStore *liststore, gint colnum);
/* 'PlayListNameEntry' combobox */
void Load_Play_List_Name_List (GtkListStore *liststore, gint colnum);
void Save_Play_List_Name_List (GtkListStore *liststore, gint colnum);
/* Run Program combobox (tree browser) */
void Load_Run_Program_With_Directory_List (GtkListStore *liststore, gint colnum);
void Save_Run_Program_With_Directory_List (GtkListStore *liststore, gint colnum);
/* Run Program combobox (file browser) */
void Load_Run_Program_With_File_List (GtkListStore *liststore, gint colnum);
void Save_Run_Program_With_File_List (GtkListStore *liststore, gint colnum);
/* 'FilePlayerEntry' combobox */
void Load_Audio_File_Player_List (GtkListStore *liststore, gint colnum);
void Save_Audio_File_Player_List (GtkListStore *liststore, gint colnum);
/* 'SearchStringEntry' combobox */
void Load_Search_File_List (GtkListStore *liststore, gint colnum);
void Save_Search_File_List (GtkListStore *liststore, gint colnum);
/* 'FileToLoad' combobox */
void Load_File_To_Load_List (GtkListStore *liststore, gint colnum);
void Save_File_To_Load_List (GtkListStore *liststore, gint colnum);
/* 'PlayListContentMaskEntry' combobox */
void Load_Playlist_Content_Mask_List (GtkListStore *liststore, gint colnum);
void Save_Playlist_Content_Mask_List (GtkListStore *liststore, gint colnum);
/* 'CddbSearchStringEntry' combobox */
void Load_Cddb_Search_String_List (GtkListStore *liststore, gint colnum);
void Save_Cddb_Search_String_List (GtkListStore *liststore, gint colnum);
/* 'CddbSearchStringInResultEntry' combobox */
void Load_Cddb_Search_String_In_Result_List (GtkListStore *liststore, gint colnum);
void Save_Cddb_Search_String_In_Result_List (GtkListStore *liststore, gint colnum);
/* 'CddbLocalPath' combobox */
void Load_Cddb_Local_Path_List (GtkListStore *liststore, gint colnum);
void Save_Cddb_Local_Path_List (GtkListStore *liststore, gint colnum);
#endif /* __CONFIG_H__ */
|