@item libhal-dev (gui)
@item libhal-storage-dev (gui)
@item libgtkhtml3.14-dev (gui)
+@item libnotify-dev (gui)
@item libgstreamer0.10-dev (gui)
@item libgstreamer-plugins-base0.10-dev (gui)
@end itemize
sudo apt-get install subversion yasm build-essential \
autoconf intltool libtool zlib1g-dev libbz2-dev libglib2.0-dev \
libdbus-glib-1-dev libgtk2.0-dev libhal-dev libhal-storage-dev \
-libgtkhtml3.14-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
+libgtkhtml3.14-dev libnotify-dev libgstreamer0.10-dev \
+libgstreamer-plugins-base0.10-dev
@end example
Fedora 10 package groups:
@item dbus-glib-devel (gui)
@item hal-devel (gui)
@item gtkhtml3-devel (gui)
+@item libnotify-devel (gui)
@item gstreamer-devel (gui)
@item gstreamer-plugins-base-devel (gui)
@end itemize
To install these packages:
@example
sudo yum install yasm zlib-devel bzip2-devel \
-dbus-glib-devel hal-devel gtkhtml3-devel \
+dbus-glib-devel hal-devel gtkhtml3-devel libnotify-devel\
gstreamer-devel gstreamer-plugins-base-devel
@end example
AC_SUBST(GHBTOOLS_CFLAGS)
AC_SUBST(GHBTOOLS_LIBS)
-PKG_CHECK_MODULES(GHB, [gtk+-2.0 >= 2.8 gthread-2.0 gstreamer-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10 gio-2.0 hal hal-storage libgtkhtml-3.14])
+PKG_CHECK_MODULES(GHB, [gtk+-2.0 >= 2.8 gthread-2.0 gstreamer-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10 gstreamer-pbutils-0.10 gio-2.0 hal hal-storage libgtkhtml-3.14 libnotify ])
AC_SUBST(GHB_CFLAGS)
AC_SUBST(GHB_LIBS)
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
#include <gio/gio.h>
+#include <libnotify/notify.h>
#include "hb.h"
#include "callbacks.h"
static void update_chapter_list(signal_user_data_t *ud);
static GList* dvd_device_list();
static void prune_logs(signal_user_data_t *ud);
+void ghb_notify_done(signal_user_data_t *ud);
// This is a dependency map used for greying widgets
// that are dependent on the state of another widget.
}
// Nothing pending
ghb_uninhibit_gpm();
+ ghb_notify_done(ud);
return NULL;
}
// Find the next pending item after the current running item
}
// Nothing found
ghb_uninhibit_gpm();
+ ghb_notify_done(ud);
return NULL;
}
return NULL;
}
+static void
+notify_closed_cb(NotifyNotification *notification, signal_user_data_t *ud)
+{
+ g_object_unref(G_OBJECT(notification));
+}
+
+void
+ghb_notify_done(signal_user_data_t *ud)
+{
+ NotifyNotification *notification;
+
+ notification = notify_notification_new(
+ "Encode Complete",
+ "Put down that cocktail, Your HandBrake queue is done!",
+ "hb-icon",
+ NULL);
+ g_signal_connect(notification, "closed", (GCallback)notify_closed_cb, ud);
+ notify_notification_show(notification, NULL);
+}
#include <gst/gst.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
+#include <libnotify/notify.h>
#include "hb.h"
#include "renderer_button.h"
#include "hb-backend.h"
GtkBuilder*
create_builder_or_die(const gchar * name)
{
- guint res;
+ guint res = 0;
GValue *gval;
const gchar *ghb_ui;
gtk_set_locale ();
gtk_init (&argc, &argv);
+ notify_init("HandBrake");
ghb_register_transforms();
ghb_resource_init();
ghb_load_icons();
ghb_value_free(ud->settings);
g_io_channel_unref(ud->activity_log);
ghb_settings_close();
+ notify_uninit();
g_free(ud);
return 0;
}
{"title", "picture_tab", "none", TRUE, FALSE},
{"title", "chapters_label", "none", TRUE, FALSE},
{"title", "chapters_tab", "none", TRUE, FALSE},
- {"title", "title", "none", TRUE, FALSE},
{"title", "start_chapter", "none", TRUE, FALSE},
{"title", "end_chapter", "none", TRUE, FALSE},
{"vquality_type_bitrate", "VideoAvgBitrate", "TRUE", FALSE, FALSE},