commit 13172a776e5f3a821e07e278ea5ac85616e5efec
Author: phantomjinx <[email protected]>
Date: Sun Jan 30 22:15:41 2011 +0000
Fix some conversion issues
* configure.ac
* *m4a/Makefile.am
* Check for faad dependency, warn if not installed
* Only if faad installed is m4a file type plugin available
* prefs
* Fix the preferences path_conv_* in order to work more sanely.
* mp3, m4a and mp4 paths are maintained and other checks made to determine
whether files will be converted by them or not.
* scripts/*
* Improve logging so that a consistent log file is generated in the
conversion cache
* file_itunesdb.c
* Ensure that extra status messages are still displayed while progress
is ongoing.
configure.ac | 20 ++++++++++
libgtkpod/file_itunesdb.c | 19 ++++-----
libgtkpod/prefs.c | 67 ++++++++++----------------------
libgtkpod/prefs.h | 4 ++
plugins/core_preferences/core_prefs.c | 44 +++++++++++----------
plugins/filetype_flac/plugin.c | 13 ++++++
plugins/filetype_m4a/Makefile.am | 2 +
plugins/filetype_m4a/m4afile.c | 19 ++++++---
plugins/filetype_m4a/plugin.c | 8 ++-
plugins/filetype_mp3/mp3file.c | 11 +++++-
plugins/filetype_ogg/plugin.c | 12 ++++++
plugins/filetype_video/videofile.c | 2 +-
plugins/filetype_wav/plugin.c | 12 ++++++
scripts/convert-2m4a.sh | 5 --
scripts/convert-2mp3.sh | 3 -
scripts/convert-2mp4.sh | 5 +--
scripts/gtkpod-convert-common.sh | 11 +++--
17 files changed, 153 insertions(+), 104 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 1782f5d..002ceee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -269,6 +269,26 @@ if test "x$have_flac" = "xyes"; then
fi
AM_CONDITIONAL(HAVE_FLAC, test "x$have_flac" = "xyes")
+dnl Check for FAAD for use with m4a files
+AC_ARG_WITH(faad, AS_HELP_STRING([--without-faad],[Disable M4A -> MP3
coversion support]))
+if test "x$with_faad" != "xno"; then
+ AC_CHECK_PROG(FAAD, faad, yes, no)
+ if test "x$FAAD" = "xyes"; then
+ have_faad="yes"
+ else
+ have_faad="no"
+ AC_MSG_WARN(["Cannot find faad. Conversion from m4a to mp3 not
possible"])
+ fi
+ if test "xwith_faad" = "xyes" -a "x$have_faad" = "xno"; then
+ AC_MSG_ERROR([FAAD support explicitly requested but not available])
+ fi
+fi
+
+if test "x$have_faad" = "xyes"; then
+ AC_DEFINE(HAVE_FAAD, 1, [Define if you have the faad binary])
+fi
+AM_CONDITIONAL(HAVE_FAAD, test "x$have_faad" = "xyes")
+
dnl Check for MP4 Headers
AC_CHECK_HEADERS([mp4v2/platform.h], have_mp4=yes, have_mp4=no)
AC_CHECK_HEADERS([mp4v2/itmf_tags.h], [], [],
diff --git a/libgtkpod/file_itunesdb.c b/libgtkpod/file_itunesdb.c
index 56e0d6e..29e7445 100644
--- a/libgtkpod/file_itunesdb.c
+++ b/libgtkpod/file_itunesdb.c
@@ -1196,7 +1196,7 @@ static gboolean ipod_dirs_present(const gchar
*mountpoint) {
return result;
}
-static gdouble set_progress(time_t start, gint n, gint count, gint init_count,
gdouble old_fraction) {
+static gdouble set_progress(time_t start, gint n, gint count, gint init_count,
gdouble old_fraction, gchar *msg) {
gchar *progtext;
gdouble fraction;
@@ -1208,7 +1208,7 @@ static gdouble set_progress(time_t start, gint n, gint
count, gint init_count, g
}
if (count - init_count == 0) {
- progtext = g_strdup_printf(_("%d%%"), (gint) (fraction * 100));
+ progtext = g_strdup_printf(_("%d%% %s"), (gint) (fraction * 100),
msg);
}
else {
time_t diff, fullsecs, hrs, mins, secs;
@@ -1219,7 +1219,7 @@ static gdouble set_progress(time_t start, gint n, gint
count, gint init_count, g
mins = (fullsecs % 3600) / 60;
secs = ((fullsecs % 60) / 5) * 5;
progtext
- = g_strdup_printf(_("%d%% (%d/%d %d:%02d:%02d left)"), (gint)
(fraction * 100), count, n, (gint) hrs, (gint) mins, (gint) secs);
+ = g_strdup_printf(_("%d%% (%d/%d %d:%02d:%02d left) %s"),
(gint) (fraction * 100), count, n, (gint) hrs, (gint) mins, (gint) secs, msg);
}
@@ -1298,7 +1298,7 @@ static gboolean delete_files(iTunesDB *itdb, TransferData
*td) {
do {
GTimeVal gtime;
- td->current_progress = set_progress(start, n, count, 0,
td->current_progress);
+ td->current_progress = set_progress(start, n, count, 0,
td->current_progress, "deletion completed");
g_mutex_unlock (td->mutex);
@@ -1333,7 +1333,7 @@ static gboolean delete_files(iTunesDB *itdb, TransferData
*td) {
eitdb->pending_deletion = g_list_delete_link(eitdb->pending_deletion,
eitdb->pending_deletion);
}
- td->current_progress = set_progress(start, n, count, 0,
td->current_progress);
+ td->current_progress = set_progress(start, n, count, 0,
td->current_progress, "deletion completed");
while (widgets_blocked && gtk_events_pending())
gtk_main_iteration();
@@ -1477,20 +1477,19 @@ static gboolean transfer_tracks(iTunesDB *itdb,
TransferData *td) {
= file_transfer_get_status(itdb, &to_convert_num,
&converting_num, &to_transfer_num, &transferred_num, &failed_num);
if (to_transfer_num > 0) {
- buf = g_strdup_printf(_("Status: Copying track"));
+ buf = g_strdup_printf(_("Copying track"));
}
else {
if ((to_convert_num + converting_num) > 0) {
- buf = g_strdup_printf(_("Status: Waiting for conversion to
complete"));
+ buf = g_strdup_printf(_("Waiting for conversion to complete"));
}
else {
- buf = g_strdup_printf(_("Status: Finished transfer"));
+ buf = g_strdup_printf(_("Finished transfer"));
}
}
- gtkpod_statusbar_message(buf);
td->current_progress = set_progress(start, to_convert_num +
to_transfer_num + failed_num + transferred_num, transferred_num
- + failed_num, transferred_init, td->current_progress);
+ + failed_num, transferred_init, td->current_progress,
buf);
if ((to_convert_num != 0) && (converting_num == 0)) { /* Force the
conversion to continue. Not sure if this scenario
* is likely to happen, but better be safe then sorry */
diff --git a/libgtkpod/prefs.c b/libgtkpod/prefs.c
index 6b48b21..72d6e49 100644
--- a/libgtkpod/prefs.c
+++ b/libgtkpod/prefs.c
@@ -173,23 +173,17 @@ static void set_default_preferences() {
prefs_set_int("delete_database", TRUE);
prefs_set_string("initial_mountpoint", "/media/ipod");
- str = g_build_filename(get_script_dir(), "convert-2mp3.sh", NULL);
- prefs_set_string("path_conv_ogg", str);
+ str = g_build_filename(get_script_dir(), CONVERT_TO_MP3_SCRIPT, NULL);
+ prefs_set_string("path_conv_mp3", str);
g_free(str);
- str = g_build_filename(get_script_dir(), "convert-2mp3.sh", NULL);
- prefs_set_string("path_conv_flac", str);
+ str = g_build_filename(get_script_dir(), CONVERT_TO_M4A_SCRIPT, NULL);
+ prefs_set_string("path_conv_m4a", str);
g_free(str);
- str = g_build_filename(get_script_dir(), "convert-2mp3.sh", NULL);
- prefs_set_string("path_conv_wav", str);
- g_free(str);
- prefs_set_int("convert_wav", FALSE);
-
- str = g_build_filename(get_script_dir(), "convert-2mp4.sh", NULL);
+ str = g_build_filename(get_script_dir(), CONVERT_TO_MP4_SCRIPT, NULL);
prefs_set_string("path_conv_mp4", str);
g_free(str);
- prefs_set_int("convert_mp4", TRUE);
/* Set colum preferences */
for (i = 0; i < TM_NUM_COLUMNS; i++) {
@@ -766,6 +760,20 @@ static void cleanup_keys() {
prefs_set_string("md5", NULL);
}
+ /* Conversion Paths */
+ gchar *str;
+ str = g_build_filename(get_script_dir(), CONVERT_TO_MP3_SCRIPT, NULL);
+ prefs_set_string("path_conv_mp3", str);
+ g_free(str);
+
+ str = g_build_filename(get_script_dir(), CONVERT_TO_M4A_SCRIPT, NULL);
+ prefs_set_string("path_conv_m4a", str);
+ g_free(str);
+
+ str = g_build_filename(get_script_dir(), CONVERT_TO_MP4_SCRIPT, NULL);
+ prefs_set_string("path_conv_mp4", str);
+ g_free(str);
+
/* MP3 Gain */
if (prefs_get_string_value_index("path", PATH_MP3GAIN, &buf)) {
prefs_set_string("path_mp3gain", buf);
@@ -877,40 +885,6 @@ static void cleanup_keys() {
if (version < 0.91)
prefs_flush_subkey("itdb_");
- /* rename convert scripts */
- if (version <= 0.99001) {
-
- const gchar **keyp;
- const gchar *keys[] =
- { "path_conv_m4a", "path_conv_wav", "path_conv_mp3",
"path_conv_ogg", "path_conv_flac", "path_conv_mp4", NULL };
-
- for (keyp = keys; *keyp; ++keyp) {
- buf = prefs_get_string(*keyp);
- if (buf) {
- const gchar *needles[] =
- {
- "convert-flac2mp3.sh", "convert-m4a2mp3.sh",
"convert-ogg2mp3.sh", "convert-wav2mp3.sh",
- "convert-flac2m4a.sh", "convert-m4a2m4a.sh",
"convert-ogg2m4a.sh", "convert-wav2m4a.sh", NULL };
- const gchar *replacements[] =
- {
- "convert-2mp3.sh ", "convert-2mp3.sh ",
"convert-2mp3.sh ", "convert-2mp3.sh ",
- "convert-2m4a.sh ", "convert-2m4a.sh ",
"convert-2m4a.sh ", "convert-2m4a.sh " };
- const gchar **needlep;
- const gchar **replp;
- replp = replacements;
- for (needlep = needles; *needlep; ++needlep, ++replp) {
- gchar *bufp = strstr(buf, *needlep);
- if (bufp) {
- g_memmove (bufp, *replp, strlen (*replp));
- prefs_set_string(*keyp, buf);
- break;
- }
- }
- g_free(buf);
- }
- }
- }
-
prefs_set_string("version", VERSION);
}
@@ -1836,7 +1810,8 @@ GList *prefs_get_list(const gchar *key) {
}
}
i++;
- } while(item_string != NULL && item_hash != end_marker_hash);
+ }
+ while (item_string != NULL && item_hash != end_marker_hash);
return list;
}
diff --git a/libgtkpod/prefs.h b/libgtkpod/prefs.h
index beb7c6b..585f721 100644
--- a/libgtkpod/prefs.h
+++ b/libgtkpod/prefs.h
@@ -39,6 +39,10 @@
/* End-of-list marker for variable-length lists */
#define LIST_END_MARKER "----++++----"
+#define CONVERT_TO_MP3_SCRIPT "convert-2mp3.sh"
+#define CONVERT_TO_M4A_SCRIPT "convert-2m4a.sh"
+#define CONVERT_TO_MP4_SCRIPT "convert-2mp4.sh"
+
/* Not sure where to put these (maybe prefkeys.h?): prefs keys used */
/* repository.c */
extern const gchar *KEY_CONCAL_AUTOSYNC;
diff --git a/plugins/core_preferences/core_prefs.c
b/plugins/core_preferences/core_prefs.c
index cf8e2b8..530cfdd 100644
--- a/plugins/core_preferences/core_prefs.c
+++ b/plugins/core_preferences/core_prefs.c
@@ -93,7 +93,6 @@ const gchar *conv_checkbox_map[][3] =
{ "convert_mp3", "convert_mp3", NULL },
{ "convert_aac", "convert_m4a", NULL },
{ "convert_wav", "convert_wav", NULL },
- { "convert_mp4", "convert_mp4", NULL },
{ "display_conversion_log", "", NULL }, };
ind_string tag_checkbox_map[] =
@@ -104,17 +103,15 @@ ind_string tag_checkbox_map[] =
{ 3, "tag_genre" },
{ 4, "tag_composer" }, };
-const gchar *conv_scripts[] =
- { "convert-2mp3.sh", "convert-2m4a.sh", };
+const gchar *conv_audio_scripts[] =
+ { CONVERT_TO_MP3_SCRIPT, CONVERT_TO_M4A_SCRIPT };
-ind_string conv_paths[] =
+gchar *modifiable_conv_paths[] =
{
- { -1, "path_conv_ogg" },
- { -1, "path_conv_flac" },
- { TARGET_FORMAT_AAC, "path_conv_m4a" },
- { TARGET_FORMAT_MP3, "path_conv_mp3" },
- { -1, "path_conv_wav" },
- { -1, "path_conv_mp4" } };
+ "path_conv_ogg",
+ "path_conv_flac",
+ "path_conv_wav"
+ };
static TempPrefs *temp_prefs = NULL;
static GtkBuilder* builder = NULL;
@@ -528,6 +525,19 @@ G_MODULE_EXPORT void
on_conversion_settings_clicked(GtkButton *sender, gpointer
init_checkbox(GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder,
conv_checkbox_map[i][0])), conv_checkbox_map[i][1], conv_checkbox_map[i][2]);
}
+ GtkWidget *mp3toggle = GTK_WIDGET (gtk_builder_get_object(builder,
conv_checkbox_map[0][0]));
+ GtkWidget *m4atoggle = GTK_WIDGET (gtk_builder_get_object(builder,
conv_checkbox_map[1][0]));
+
+ if (prefs_get_int("conversion_target_format") == TARGET_FORMAT_MP3) {
+ /* No point converting an mp3 to an mp3! */
+ gtk_widget_set_sensitive(mp3toggle, FALSE);
+ gtk_widget_set_sensitive(m4atoggle, TRUE);
+ } else if (prefs_get_int("conversion_target_format") == TARGET_FORMAT_AAC)
{
+ /* No point converting an m4a to an m4a! */
+ gtk_widget_set_sensitive(mp3toggle, TRUE);
+ gtk_widget_set_sensitive(m4atoggle, FALSE);
+ }
+
gtk_builder_connect_signals(builder, NULL);
gtk_dialog_run(GTK_DIALOG (dlg));
gtk_widget_hide(dlg);
@@ -560,19 +570,11 @@ G_MODULE_EXPORT void
on_cache_size_value_changed(GtkSpinButton *sender, gpointer
*/
G_MODULE_EXPORT void on_target_format_changed(GtkComboBox *sender, gpointer e)
{
gint index = gtk_combo_box_get_active(sender);
- gchar *script = g_build_filename(get_script_dir(), conv_scripts[index],
NULL);
+ gchar *script = g_build_filename(get_script_dir(),
conv_audio_scripts[index], NULL);
gint i;
- for (i = 0; i < COUNTOF (conv_paths); i++) {
- if (conv_paths[i].index == index) {
- /*
- The source format is the same as the target format -
- we set "null conversion" without touching the boolean preference
- */
- prefs_set_string(conv_paths[i].string, "");
- }
- else
- prefs_set_string(conv_paths[i].string, script);
+ for (i = 0; i < COUNTOF (modifiable_conv_paths); i++) {
+ prefs_set_string(modifiable_conv_paths[i], script);
}
prefs_set_int("conversion_target_format", index);
diff --git a/plugins/filetype_flac/plugin.c b/plugins/filetype_flac/plugin.c
index ebb9bd7..4daa299 100644
--- a/plugins/filetype_flac/plugin.c
+++ b/plugins/filetype_flac/plugin.c
@@ -33,12 +33,22 @@
#include <glib.h>
#include "libgtkpod/gtkpod_app_iface.h"
#include "libgtkpod/filetype_iface.h"
+#include "libgtkpod/prefs.h"
+#include "libgtkpod/directories.h"
#include "plugin.h"
#include "flacfile.h"
/* Parent class. Part of standard class definition */
static gpointer parent_class;
+static void set_default_preferences() {
+ if (! prefs_get_string_value("path_conv_flac", NULL)) {
+ gchar *str = g_build_filename(get_script_dir(), CONVERT_TO_MP3_SCRIPT,
NULL);
+ prefs_set_string("path_conv_flac", str);
+ g_free(str);
+ }
+}
+
static gboolean activate_plugin(AnjutaPlugin *plugin) {
FlacFileTypePlugin *flac_filetype_plugin;
@@ -47,6 +57,9 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
gtkpod_register_filetype(FILE_TYPE(flac_filetype_plugin));
+ /* Set preferences */
+ set_default_preferences();
+
return TRUE; /* FALSE if activation failed */
}
diff --git a/plugins/filetype_m4a/Makefile.am b/plugins/filetype_m4a/Makefile.am
index 86fe828..249f81b 100644
--- a/plugins/filetype_m4a/Makefile.am
+++ b/plugins/filetype_m4a/Makefile.am
@@ -20,6 +20,7 @@ filetype_m4a_plugin_DATA =
SUBDIRS =
if HAVE_MP4
+if HAVE_FAAD
include ../plugins.mk
filetype_m4a.plugin: build-plugin-file
@@ -41,6 +42,7 @@ libfiletype_m4a_la_LIBADD = \
$(LIBANJUTA_LIBS)
endif
+endif
EXTRA_DIST = \
$(plugin_file).in \
diff --git a/plugins/filetype_m4a/m4afile.c b/plugins/filetype_m4a/m4afile.c
index 4e8eed2..6a5d958 100644
--- a/plugins/filetype_m4a/m4afile.c
+++ b/plugins/filetype_m4a/m4afile.c
@@ -39,7 +39,6 @@
/* Info on how to implement new file formats: see mp3file.c for more info */
-
Track *m4a_get_file_info(const gchar *m4aFileName) {
gchar *path_utf8;
gchar *suf;
@@ -57,23 +56,31 @@ Track *m4a_get_file_info(const gchar *m4aFileName) {
return track;
}
-gboolean m4a_write_file_info (const gchar *filename, Track *track) {
+gboolean m4a_write_file_info(const gchar *filename, Track *track) {
return mp4_write_file_info(filename, track);
}
-gboolean m4a_read_soundcheck (const gchar *filename, Track *track) {
+gboolean m4a_read_soundcheck(const gchar *filename, Track *track) {
return mp4_read_soundcheck(filename, track);
}
gboolean m4a_can_convert() {
gchar *cmd = m4a_get_conversion_cmd();
- return cmd && cmd[0] && prefs_get_int("convert_m4a");
+ /*
+ * Return TRUE if
+ * Command exists and fully formed
+ * Target format is NOT set to AAC
+ * convert_m4a preference is set to TRUE
+ */
+ return cmd && cmd[0] && (prefs_get_int("conversion_target_format") !=
TARGET_FORMAT_AAC)
+ && prefs_get_int("convert_m4a");
}
gchar *m4a_get_conversion_cmd() {
- return prefs_get_string("path_conv_m4a");
+ /* Convert an m4a to an mp3 */
+ return prefs_get_string("path_conv_mp3");
}
gchar *m4a_get_gain_cmd() {
- return prefs_get_string ("path_aacgain");
+ return prefs_get_string("path_aacgain");
}
diff --git a/plugins/filetype_m4a/plugin.c b/plugins/filetype_m4a/plugin.c
index 72011c9..ae4768a 100644
--- a/plugins/filetype_m4a/plugin.c
+++ b/plugins/filetype_m4a/plugin.c
@@ -33,6 +33,8 @@
#include <glib.h>
#include "libgtkpod/gtkpod_app_iface.h"
#include "libgtkpod/filetype_iface.h"
+#include "libgtkpod/prefs.h"
+#include "libgtkpod/directories.h"
#include "plugin.h"
#include "m4afile.h"
@@ -61,7 +63,7 @@ static gboolean deactivate_plugin(AnjutaPlugin *plugin) {
}
static void m4a_filetype_plugin_instance_init(GObject *obj) {
-// M4AFileTypePlugin *plugin = (M4AFileTypePlugin*) obj;
+ // M4AFileTypePlugin *plugin = (M4AFileTypePlugin*) obj;
}
static void m4a_filetype_plugin_class_init(GObjectClass *klass) {
@@ -93,8 +95,8 @@ static void m4a_filetype_iface_init(FileTypeInterface *iface)
{
}
ANJUTA_PLUGIN_BEGIN (M4AFileTypePlugin, m4a_filetype_plugin);
-ANJUTA_PLUGIN_ADD_INTERFACE(m4a_filetype, FILE_TYPE_TYPE);
-ANJUTA_PLUGIN_END;
+ ANJUTA_PLUGIN_ADD_INTERFACE(m4a_filetype,
FILE_TYPE_TYPE);ANJUTA_PLUGIN_END
+;
ANJUTA_SIMPLE_PLUGIN (M4AFileTypePlugin, m4a_filetype_plugin)
;
diff --git a/plugins/filetype_mp3/mp3file.c b/plugins/filetype_mp3/mp3file.c
index c74c575..3b5ef9a 100644
--- a/plugins/filetype_mp3/mp3file.c
+++ b/plugins/filetype_mp3/mp3file.c
@@ -2905,11 +2905,20 @@ gboolean id3_lyrics_save(const gchar *filename, const
gchar *lyrics) {
gboolean mp3_can_convert() {
gchar *cmd = mp3_get_conversion_cmd();
+ /*
+ * Return TRUE if
+ * Command exists and fully formed
+ * Target format is NOT set to MP3
+ * convert_mp3 preference is set to TRUE
+ */
+ return cmd && cmd[0] && (prefs_get_int("conversion_target_format") !=
TARGET_FORMAT_MP3)
+ && prefs_get_int("convert_mp3");
return cmd && cmd[0] && prefs_get_int("convert_mp3");
}
gchar *mp3_get_conversion_cmd() {
- return prefs_get_string("path_conv_mp3");
+ /* Convert an mp3 to an m4a */
+ return prefs_get_string("path_conv_m4a");
}
gchar *mp3_get_gain_cmd() {
diff --git a/plugins/filetype_ogg/plugin.c b/plugins/filetype_ogg/plugin.c
index 715a3d1..b6b69e6 100644
--- a/plugins/filetype_ogg/plugin.c
+++ b/plugins/filetype_ogg/plugin.c
@@ -33,12 +33,22 @@
#include <glib.h>
#include "libgtkpod/gtkpod_app_iface.h"
#include "libgtkpod/filetype_iface.h"
+#include "libgtkpod/prefs.h"
+#include "libgtkpod/directories.h"
#include "plugin.h"
#include "oggfile.h"
/* Parent class. Part of standard class definition */
static gpointer parent_class;
+static void set_default_preferences() {
+ if (! prefs_get_string_value("path_conv_ogg", NULL)) {
+ gchar *str = g_build_filename(get_script_dir(), CONVERT_TO_MP3_SCRIPT,
NULL);
+ prefs_set_string("path_conv_ogg", str);
+ g_free(str);
+ }
+}
+
static gboolean activate_plugin(AnjutaPlugin *plugin) {
OGGFileTypePlugin *ogg_filetype_plugin;
@@ -47,6 +57,8 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
gtkpod_register_filetype(FILE_TYPE(ogg_filetype_plugin));
+ set_default_preferences();
+
return TRUE; /* FALSE if activation failed */
}
diff --git a/plugins/filetype_video/videofile.c
b/plugins/filetype_video/videofile.c
index a3fcc65..db73a4f 100644
--- a/plugins/filetype_video/videofile.c
+++ b/plugins/filetype_video/videofile.c
@@ -51,7 +51,7 @@ Track *video_get_file_info(const gchar *filename) {
gboolean video_can_convert() {
gchar *cmd = video_get_conversion_cmd();
- return cmd && cmd[0] && prefs_get_int("convert_mp4");
+ return cmd && cmd[0];
}
gchar *video_get_conversion_cmd() {
diff --git a/plugins/filetype_wav/plugin.c b/plugins/filetype_wav/plugin.c
index fae18c3..68f5ed2 100644
--- a/plugins/filetype_wav/plugin.c
+++ b/plugins/filetype_wav/plugin.c
@@ -33,12 +33,22 @@
#include <glib.h>
#include "libgtkpod/gtkpod_app_iface.h"
#include "libgtkpod/filetype_iface.h"
+#include "libgtkpod/directories.h"
+#include "libgtkpod/prefs.h"
#include "plugin.h"
#include "wavfile.h"
/* Parent class. Part of standard class definition */
static gpointer parent_class;
+static void set_default_preferences() {
+ if (! prefs_get_string_value("path_conv_wav", NULL)) {
+ gchar *str = g_build_filename(get_script_dir(), CONVERT_TO_MP3_SCRIPT,
NULL);
+ prefs_set_string("path_conv_wav", str);
+ g_free(str);
+ }
+}
+
static gboolean activate_plugin(AnjutaPlugin *plugin) {
WavFileTypePlugin *wav_filetype_plugin;
@@ -47,6 +57,8 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
gtkpod_register_filetype(FILE_TYPE(wav_filetype_plugin));
+ set_default_preferences();
+
return TRUE; /* FALSE if activation failed */
}
diff --git a/scripts/convert-2m4a.sh b/scripts/convert-2m4a.sh
index 6b132b3..9f0394a 100755
--- a/scripts/convert-2m4a.sh
+++ b/scripts/convert-2m4a.sh
@@ -29,11 +29,6 @@ ENCODER="faac"
. ${0%/*}/gtkpod-convert-common.sh
-LOG=`dirname "$outfile"`
-LOG=${LOG%.log}
-
-echo "Attempting to convert file" >> $LOG
-
if [ $filetype = "wav" ]; then
"$encoder" -o "$outfile" $ENCODER_OPTS -w --artist "$artist" --title
"$title" --year "$year" --album "$album" --track "$track" --genre "$genre"
--comment "$comment" "$infile" >> $LOG 2>&1
else
diff --git a/scripts/convert-2mp3.sh b/scripts/convert-2mp3.sh
index 0bfc2c0..63b1250 100755
--- a/scripts/convert-2mp3.sh
+++ b/scripts/convert-2mp3.sh
@@ -26,9 +26,6 @@ ENCODER="lame"
. ${0%/*}/gtkpod-convert-common.sh
-LOG=`dirname "$outfile"`
-LOG=${LOG%.log}
-
# Check if the genre is one which lame supports
if [ -n "$genre" ] && `"$encoder" --genre-list 2>&1 | cut -c 5- | grep -qi
"^$genre$"`; then
usegenre=$genre
diff --git a/scripts/convert-2mp4.sh b/scripts/convert-2mp4.sh
index 97c4b83..5ddd6d7 100755
--- a/scripts/convert-2mp4.sh
+++ b/scripts/convert-2mp4.sh
@@ -26,10 +26,7 @@ ENCODER="ffmpeg"
. ${0%/*}/gtkpod-convert-common.sh
-LOG=`dirname "$outfile"`
-LOG=${LOG%.log}
-
-echo "Attempting to convert file" >> $LOG
+echo "Attempting to convert file $infile" >> $LOG
"$encoder" -i "$infile" $ENCODER_OPTS -metadata author="$artist" -metadata
title="$title" -metadata album="$album" -metadata year="$year" -metadata
track="$track" -metadata genre="$genre" -metadata comment="$comment" "$outfile"
>> $LOG 2>&1
diff --git a/scripts/gtkpod-convert-common.sh b/scripts/gtkpod-convert-common.sh
index 33b87e2..ca04c78 100755
--- a/scripts/gtkpod-convert-common.sh
+++ b/scripts/gtkpod-convert-common.sh
@@ -61,7 +61,10 @@ fi
# Default values
[ -z "$comment" ] && comment="Encoded for gtkpod with $ENCODER"
-# echo "Converting \"$infile\" into \"$outfile\""
+LOG=`dirname "$outfile"`
+LOG="$LOG/conversion.log"
+
+echo "Converting \"$infile\" into \"$outfile\"" >> $LOG
# Checking input file
if [ "$infile" = "" ]; then
@@ -72,13 +75,13 @@ if [ ! -f "$infile" ]; then
fi
# Checking output file
-touch "$outfile"
+touch "$outfile" >> $LOG 2>&1
if [ "x$?" != "x0" ]; then
exit 2
fi
# Check for the existence of encoder
-encoder=`which $ENCODER`
+encoder=`which $ENCODER` >> $LOG 2>&1
if [ -z "$encoder" ]; then
exit 5
fi
@@ -101,7 +104,7 @@ esac
# Check for the existence of decoder
if [ $decoder ]; then
- decoder=`which "$decoder"`
+ decoder=`which "$decoder"` >> $LOG 2>&1
if [ -z "$decoder" ]; then
exit 4
fi
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2