submit_job(GValue *settings)
{
static gint unique_id = 1;
+ gchar *type, *modified, *preset;
+ GValue *path;
+ gboolean preset_modified;
g_debug("submit_job");
if (settings == NULL) return;
+ preset_modified = ghb_settings_get_boolean(settings, "preset_modified");
+ path = ghb_settings_get_value(settings, "preset");
+ preset = ghb_preset_path_string(path);
+ type = ghb_preset_is_custom() ? "Custom " : "";
+ modified = preset_modified ? "Modified " : "";
+ ghb_log("%s%sPreset: %s", modified, type, preset);
+ g_free(preset);
+
ghb_settings_set_int(settings, "job_unique_id", unique_id);
ghb_settings_set_int(settings, "job_status", GHB_QUEUE_RUNNING);
ghb_add_job (settings, unique_id);
return TRUE;
}
+void
+show_activity_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
+{
+ GtkWidget *widget = GHB_WIDGET (ud->builder, "activity_window");
+ gtk_widget_show (widget);
+}
+
+void
+ghb_log(gchar *log, ...)
+{
+ va_list args;
+ time_t _now;
+ struct tm *now;
+ gchar fmt[362];
+
+ _now = time(NULL);
+ now = localtime( &_now );
+ snprintf(fmt, 362, "[%02d:%02d:%02d] lingui: %s\n",
+ now->tm_hour, now->tm_min, now->tm_sec, log);
+ va_start(args, log);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+}
+
void
about_activate_cb(GtkWidget *xwidget, signal_user_data_t *ud)
{
gtk_widget_hide (widget);
}
-void
-show_activity_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
-{
- GtkWidget *widget = GHB_WIDGET (ud->builder, "activity_window");
- gtk_widget_show (widget);
-}
-
void
show_queue_clicked_cb(GtkWidget *xwidget, signal_user_data_t *ud)
{
GValue* ghb_start_next_job(signal_user_data_t *ud, gboolean find_first);
void ghb_check_dependency(signal_user_data_t *ud, GtkWidget *widget);
void ghb_do_scan(signal_user_data_t *ud, const gchar *filename, gboolean force);
+void ghb_log(gchar *log, ...);
#endif // _CALLBACKS_H_
#include <gtk/gtk.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
+#include "hbversion.h"
#include "renderer_button.h"
#include "hb-backend.h"
#include "ghb-dvd.h"
ud->builder = create_builder_or_die (BUILDER_NAME);
// Redirect stderr to the activity window
IoRedirect(ud);
+ ghb_log("Handbrake Version: %s (%d)", HB_VERSION, HB_BUILD);
ghb_init_dep_map();
// Need to connect x264_options textview buffer to the changed signal
presets_remove_nth(folder, indices[len-1]);
else
{
- g_warning("ghb_presets_remove ()");
- g_warning("internal preset lookup error");
+ g_warning("ghb_presets_remove (): internal preset lookup error");
return FALSE;
}
return TRUE;
ghb_array_replace(folder, indices[len-1], dict);
else
{
- g_warning("ghb_presets_replace ()");
- g_warning("internal preset lookup error");
+ g_warning("ghb_presets_replace (): internal preset lookup error");
}
}
ghb_array_insert(folder, indices[len-1], dict);
else
{
- g_warning("ghb_presets_insert ()");
- g_warning("internal preset lookup error");
+ g_warning("ghb_presets_insert (): internal preset lookup error");
}
}
}
else
{
- g_warning("ghb_presets_get_type ()");
- g_warning("internal preset lookup error");
+ g_warning("ghb_presets_get_type (): internal preset lookup error");
}
return type;
}
}
else
{
- g_warning("ghb_presets_get_folder ()");
- g_warning("internal preset lookup error");
+ g_warning("ghb_presets_get_folder (): internal preset lookup error");
}
return folder;
}
static GValue *current_preset = NULL;
+gboolean
+ghb_preset_is_custom()
+{
+ const GValue *val;
+
+ if (current_preset == NULL) return FALSE;
+ val = preset_dict_get_value(current_preset, "Type");
+ return (ghb_value_int(val) == 1);
+}
+
void
ghb_set_preset_from_indices(signal_user_data_t *ud, gint *indices, gint len)
{
void ghb_presets_list_init(signal_user_data_t *ud, gint *indices, gint len);
GValue* ghb_parse_preset_path(const gchar *path);
gchar* ghb_preset_path_string(const GValue *path);
+gboolean ghb_preset_is_custom(void);
#endif // _GHB_PRESETS_H_
if (preset_modified)
g_string_append_printf(str,
- "<b>Customized Preset Based On:</b> <small>%s</small>\n",
+ "<b>Modified Preset Based On:</b> <small>%s</small>\n",
preset);
else
g_string_append_printf(str,