aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-02 16:39:49 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-05-02 16:41:02 +0200
commit3d172c51c38095373a7218a7c935d22d383fd88e (patch)
tree81f5e81a8a2cb767e1a1df461e835741811236e4
parent9c6ac8bcdeae6d8b4107bf1286fe449f2b63a90a (diff)
downloadgtk-vlc-player-3d172c51c38095373a7218a7c935d22d383fd88e.tar.gz
preliminary main program (GtkVlcPlayer sample)
-rw-r--r--src/main.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..8b3e8b1
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,58 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#define _GNU_SOURCE
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <assert.h>
+
+#include <gtk/gtk.h>
+#ifdef __WIN32__
+#include <gdk/gdkwin32.h>
+#else
+#include <gdk/gdkx.h>
+#include <X11/Xlib.h>
+#endif
+
+#include <gtk-vlc-player.h>
+
+int
+main(int argc, char *argv[])
+{
+ GtkWidget *window, *player;
+
+ /* init threads */
+#ifndef __WIN32__
+ XInitThreads(); /* FIXME: really required??? */
+#endif
+ g_thread_init(NULL);
+ gdk_threads_init();
+
+ gtk_init(&argc, &argv);
+
+#if 0
+ GtkBuilder *builder = gtk_builder_new();
+
+ gtk_builder_add_from_file(builder, file, NULL);
+ gtk_builder_connect_signals(builder, NULL);
+#endif
+
+ window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+
+ player = gtk_vlc_player_new();
+ gtk_container_add(GTK_CONTAINER(window), player);
+
+ gtk_vlc_player_load(GTK_VLC_PLAYER(player), argv[1]);
+
+ gtk_widget_show_all(window);
+
+ gtk_vlc_player_play(GTK_VLC_PLAYER(player));
+
+ gdk_threads_enter();
+ gtk_main();
+ gdk_threads_leave();
+
+ return 0;
+} \ No newline at end of file