31 preset->
name = g_strdup(name);
44 rcfile = g_key_file_new();
45 if (!g_key_file_load_from_file(rcfile, filename, G_KEY_FILE_NONE,
NULL))
51 if (!g_key_file_load_from_file(rcfile, filename, G_KEY_FILE_NONE,
NULL))
66 g_snprintf(section,
sizeof(section),
"Preset%d", p++);
68 if ((name = g_key_file_get_string(rcfile,
"Presets", section,
NULL)) !=
NULL)
72 preset->
preamp = g_key_file_get_double(rcfile, name,
"Preamp",
NULL);
77 g_snprintf(band,
sizeof(band),
"Band%d", i);
79 preset->
bands[i] = g_key_file_get_double(rcfile, name, band,
NULL);
88 g_key_file_free(rcfile);
101 rcfile = g_key_file_new();
107 char * tmp = g_strdup_printf (
"Preset%d", p);
108 g_key_file_set_string(rcfile,
"Presets", tmp, preset->
name);
111 g_key_file_set_double(rcfile, preset->
name,
"Preamp", preset->
preamp);
113 for (i = 0; i < 10; i++)
115 tmp = g_strdup_printf(
"Band%d", i);
116 g_key_file_set_double(rcfile, preset->
name, tmp,
124 data = g_key_file_to_data(rcfile, &len,
NULL);
125 bool_t success = g_file_set_contents (filename, data, len,
NULL);
128 g_key_file_free(rcfile);
140 char preset_name[0xb4];
142 if (
vfs_fread (header, 1,
sizeof header, file) !=
sizeof header || strncmp
143 (header,
"Winamp EQ library file v1.1", 27))
146 AUDDBG(
"The EQF header is OK\n");
152 while (
vfs_fread(preset_name, 1, 0xb4, file) == 0xb4) {
153 AUDDBG(
"The preset name is '%s'\n", preset_name);
156 if (
vfs_fread(bands, 1, 11, file) != 11)
break;
162 for (i = 0; i < 10; i++)
171 markup = g_strdup_printf (
_(
"Error importing Winamp EQF file '%s'"),
186 rcfile = g_key_file_new();
187 g_key_file_set_double(rcfile,
"Equalizer preset",
"Preamp", preset->
preamp);
189 for (i = 0; i < 10; i++) {
191 g_snprintf(tmp,
sizeof(tmp),
"Band%d", i);
192 g_key_file_set_double(rcfile,
"Equalizer preset", tmp,
196 data = g_key_file_to_data(rcfile, &len,
NULL);
203 if (
vfs_fwrite (data, 1, strlen (data), file) == strlen (data))
209 g_key_file_free(rcfile);
220 preset->
name = g_strdup(
"");
222 rcfile = g_key_file_new();
223 if (!g_key_file_load_from_file(rcfile, filename, G_KEY_FILE_NONE,
NULL))
225 g_key_file_free(rcfile);
226 g_free(preset->
name);
231 preset->
preamp = g_key_file_get_double(rcfile,
"Equalizer preset",
"Preamp",
NULL);
232 for (i = 0; i < 10; i++)
235 g_snprintf(tmp,
sizeof(tmp),
"Band%d", i);
237 preset->
bands[i] = g_key_file_get_double(rcfile,
"Equalizer preset", tmp,
NULL);
240 g_key_file_free(rcfile);
EXPORT int64_t vfs_fwrite(const void *ptr, int64_t size, int64_t nmemb, VFSFile *file)
Writes to a VFS stream.
bool_t equalizer_write_preset_file(Index *list, const char *basename)
EXPORT Index * index_new(void)
EXPORT int vfs_fclose(VFSFile *file)
Closes a VFS stream and destroys a VFSFile object.
EXPORT int index_count(Index *index)
EXPORT const char * vfs_get_filename(VFSFile *file)
#define AUD_EQUALIZER_NBANDS
EXPORT int vfs_fseek(VFSFile *file, int64_t offset, int whence)
Performs a seek in given VFS stream.
Index * equalizer_read_presets(const char *basename)
EXPORT void * index_get(Index *index, int at)
EXPORT void index_append(Index *index, void *value)
EXPORT int64_t vfs_fread(void *ptr, int64_t size, int64_t nmemb, VFSFile *file)
Reads from a VFS stream.
EqualizerPreset * load_preset_file(const char *filename)
EXPORT VFSFile * vfs_fopen(const char *path, const char *mode)
Opens a stream from a VFS transport using one of the registered VFSConstructor handlers.
static EqualizerPreset * equalizer_read_aud_preset(const char *filename)
#define EQUALIZER_MAX_GAIN
const char * get_path(int id)
Index * import_winamp_eqf(VFSFile *file)
bool_t save_preset_file(EqualizerPreset *preset, const char *filename)
static EqualizerPreset * equalizer_preset_new(const char *name)
void interface_show_error(const char *message)