summaryrefslogtreecommitdiff
path: root/plugins/converter
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-05-20 18:02:54 +0200
committerGravatar waker <wakeroid@gmail.com>2011-05-20 18:02:54 +0200
commit5cbe70bbcf646db0b3cbd823015de1f531297f5a (patch)
treefcfa77b25d21ff2e5d39baaf339884d9661b607e /plugins/converter
parent6113561aee612c16d504f2c85528d79a96b80013 (diff)
reload dsp and encoder presets on every converter access
Diffstat (limited to 'plugins/converter')
-rw-r--r--plugins/converter/converter.c7
-rw-r--r--plugins/converter/converter.h12
-rw-r--r--plugins/converter/convgui.c15
3 files changed, 31 insertions, 3 deletions
diff --git a/plugins/converter/converter.c b/plugins/converter/converter.c
index 0eb68634..e97a7cc3 100644
--- a/plugins/converter/converter.c
+++ b/plugins/converter/converter.c
@@ -999,7 +999,7 @@ static ddb_converter_t plugin = {
.misc.plugin.api_vmajor = DB_API_VERSION_MAJOR,
.misc.plugin.api_vminor = DB_API_VERSION_MINOR,
.misc.plugin.version_major = 1,
- .misc.plugin.version_minor = 0,
+ .misc.plugin.version_minor = 1,
.misc.plugin.type = DB_PLUGIN_MISC,
.misc.plugin.name = "Converter",
.misc.plugin.id = "converter",
@@ -1048,6 +1048,11 @@ static ddb_converter_t plugin = {
.dsp_preset_replace = dsp_preset_replace,
.get_output_path = get_output_path,
.convert = convert,
+ // 1.1 entry points
+ .load_encoder_presets = load_encoder_presets,
+ .load_dsp_presets = load_dsp_presets,
+ .free_encoder_presets = free_encoder_presets,
+ .free_dsp_presets = free_dsp_presets,
};
DB_plugin_t *
diff --git a/plugins/converter/converter.h b/plugins/converter/converter.h
index 36daa023..d58c5b0b 100644
--- a/plugins/converter/converter.h
+++ b/plugins/converter/converter.h
@@ -145,6 +145,18 @@ typedef struct {
int
(*convert) (DB_playItem_t *it, const char *outfolder, const char *outfile, int output_bps, int output_is_float, int preserve_folder_structure, const char *root_folder, ddb_encoder_preset_t *encoder_preset, ddb_dsp_preset_t *dsp_preset, int *abort);
+ /////////////////////////////
+ // new APIs for converter-1.1
+ /////////////////////////////
+
+ int
+ (*load_encoder_presets) (void);
+ int
+ (*load_dsp_presets) (void);
+ void
+ (*free_encoder_presets) (void);
+ void
+ (*free_dsp_presets) (void);
} ddb_converter_t;
#endif
diff --git a/plugins/converter/convgui.c b/plugins/converter/convgui.c
index a3f60eab..b94e0aef 100644
--- a/plugins/converter/convgui.c
+++ b/plugins/converter/convgui.c
@@ -355,6 +355,13 @@ converter_show_cb (void *ctx) {
static int
converter_show (DB_plugin_action_t *act, DB_playItem_t *it) {
+ if (converter_plugin->misc.plugin.version_minor >= 1) {
+ // reload all presets
+ converter_plugin->free_encoder_presets ();
+ converter_plugin->load_encoder_presets ();
+ converter_plugin->free_dsp_presets ();
+ converter_plugin->load_dsp_presets ();
+ }
// this can be called from non-gtk thread
gdk_threads_add_idle (converter_show_cb, NULL);
return 0;
@@ -1269,14 +1276,18 @@ convgui_connect (void) {
DB_misc_t plugin = {
DB_PLUGIN_SET_API_VERSION
.plugin.version_major = 1,
- .plugin.version_minor = 0,
+ .plugin.version_minor = 1,
.plugin.type = DB_PLUGIN_MISC,
.plugin.name = "Converter GTK UI",
.plugin.descr = "GTK2 User interface for the Converter plugin\n"
"Usage:\n"
"· select some tracks in playlist\n"
"· right click\n"
- "· select «Convert»",
+ "· select «Convert»\n\n"
+ "ChangeLog:\n"
+ "version 1.1\n"
+ " Reload DSP and encoder presets on every converter access\n"
+ " Write 0 wave data size into waveheader when using pipe, for oggenc compatibility\n",
.plugin.copyright =
"Copyright (C) 2009-2011 Alexey Yakovenko <waker@users.sourceforge.net>\n"
"\n"