diff -r 000000000000 -r 3e490ac963ce maemo-ui/src/mmyth_main.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maemo-ui/src/mmyth_main.c Wed Oct 25 00:26:33 2006 +0100 @@ -0,0 +1,104 @@ + +#include + +#include "config.h" + +#ifdef MAEMO_PLATFORM +#include "hildon-widgets/hildon-program.h" +#include "hildon-widgets/hildon-window.h" +#endif + + +#include "gmyth_remote_encoder.h" +#include "gmyth_settings.h" +#include "gmyth_context.h" +#include "gmyth_tvchain.h" +#include "gmyth_remote_util.h" + +#include "mmyth_ui.h" +#include "mmyth_tvplayer.h" + +static void +cb_destroy (GtkWidget * widget, gpointer data) +{ + MMythUi *mmyth_ui = (MMythUi *) data; + + if (mmyth_ui->tvplayer != NULL) { + if (mmyth_tvplayer_is_playing (mmyth_ui->tvplayer) ) + mmyth_tvplayer_stop_playing (mmyth_ui->tvplayer); + } + + mmyth_ui_finalize (mmyth_ui); + + gtk_main_quit (); +} + +#ifdef NDEBUG +static void +debug_error_func( const gchar*log_domain, GLogLevelFlags log_level, const gchar *message, + gpointer user_data ) + +{ + /* leave this with NO print out messages, once you need to disable debug messages! */ + //g_print ( "[%s] DEBUG messages disabled!\n", __FUNCTION__ ); +} +#endif + +gint +main (gint argc, gchar * argv[]) +{ + GtkWidget *window; + MMythUi *mmyth_ui; +#ifdef MAEMO_PLATFORM + HildonProgram *program = NULL; +#endif + + /* init threads */ + g_thread_init (NULL); + + /* Initializes GTK */ + gtk_init (&argc, &argv); + gst_init (&argc, &argv); +#ifdef NDEBUG + g_log_set_default_handler( debug_error_func, NULL ); +#endif + + /* Init libmmyth context */ + gmyth_context_initialize (); + +#ifndef MAEMO_PLATFORM + /* create the main window */ + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_size_request (window, MAIN_WINDOW_WIDTH, MAIN_WINDOW_HEIGHT); + gtk_window_set_title (GTK_WINDOW (window), "Mythtv Frontend"); +#else + /* Creating Hildonized main view */ + program = HILDON_PROGRAM(hildon_program_get_instance()); + window = hildon_window_new(); + + //g_signal_connect(G_OBJECT(window), "delete_event", gtk_main_quit, NULL); + + hildon_program_add_window(program, HILDON_WINDOW (window)); + g_set_application_name("Maemo Mythtv"); +#endif + + /* Initializes MMyth Widgets */ +#ifdef MAEMO_PLATFORM + mmyth_ui = mmyth_ui_initialize (program, window); +#else + mmyth_ui = mmyth_ui_initialize (window); +#endif + + //mmyth_ui->loop = g_main_loop_new (NULL, FALSE); + + /* Connect destroy signal handling */ + g_signal_connect (window, "destroy", G_CALLBACK (cb_destroy), mmyth_ui); + + /* Shows main window and start gtk loop */ + gtk_widget_show (window); + + gtk_main (); + + return 0; +} +