renatofilho@20
|
1 |
|
renatofilho@20
|
2 |
#include <gtk/gtk.h>
|
renatofilho@20
|
3 |
|
renatofilho@20
|
4 |
#include "config.h"
|
renatofilho@20
|
5 |
|
renatofilho@20
|
6 |
#ifdef MAEMO_PLATFORM
|
renatofilho@20
|
7 |
#include "hildon-widgets/hildon-program.h"
|
renatofilho@20
|
8 |
#include "hildon-widgets/hildon-window.h"
|
renatofilho@20
|
9 |
#endif
|
renatofilho@20
|
10 |
|
rosfran@208
|
11 |
#include <gmyth/gmyth_recorder.h>
|
rosfran@208
|
12 |
#include <gmyth/gmyth_settings.h>
|
rosfran@208
|
13 |
#include <gmyth/gmyth_context.h>
|
rosfran@208
|
14 |
#include <gmyth/gmyth_tvchain.h>
|
rosfran@208
|
15 |
#include <gmyth/gmyth_remote_util.h>
|
renatofilho@20
|
16 |
|
renatofilho@20
|
17 |
#include "mmyth_ui.h"
|
renatofilho@20
|
18 |
#include "mmyth_tvplayer.h"
|
renatofilho@20
|
19 |
|
renatofilho@20
|
20 |
static void
|
renatofilho@20
|
21 |
cb_destroy (GtkWidget * widget, gpointer data)
|
renatofilho@20
|
22 |
{
|
renatofilho@20
|
23 |
MMythUi *mmyth_ui = (MMythUi *) data;
|
renatofilho@20
|
24 |
|
renatofilho@20
|
25 |
if (mmyth_ui->tvplayer != NULL) {
|
renatofilho@20
|
26 |
if (mmyth_tvplayer_is_playing (mmyth_ui->tvplayer) )
|
renatofilho@20
|
27 |
mmyth_tvplayer_stop_playing (mmyth_ui->tvplayer);
|
renatofilho@20
|
28 |
}
|
renatofilho@20
|
29 |
|
renatofilho@20
|
30 |
mmyth_ui_finalize (mmyth_ui);
|
renatofilho@20
|
31 |
|
renatofilho@20
|
32 |
gtk_main_quit ();
|
renatofilho@20
|
33 |
}
|
renatofilho@20
|
34 |
|
renatofilho@20
|
35 |
#ifdef NDEBUG
|
renatofilho@20
|
36 |
static void
|
renatofilho@20
|
37 |
debug_error_func( const gchar*log_domain, GLogLevelFlags log_level, const gchar *message,
|
renatofilho@20
|
38 |
gpointer user_data )
|
renatofilho@20
|
39 |
|
renatofilho@20
|
40 |
{
|
renatofilho@20
|
41 |
/* leave this with NO print out messages, once you need to disable debug messages! */
|
renatofilho@20
|
42 |
//g_print ( "[%s] DEBUG messages disabled!\n", __FUNCTION__ );
|
renatofilho@20
|
43 |
}
|
renatofilho@20
|
44 |
#endif
|
renatofilho@20
|
45 |
|
renatofilho@20
|
46 |
gint
|
renatofilho@20
|
47 |
main (gint argc, gchar * argv[])
|
renatofilho@20
|
48 |
{
|
renatofilho@20
|
49 |
GtkWidget *window;
|
renatofilho@20
|
50 |
MMythUi *mmyth_ui;
|
renatofilho@20
|
51 |
#ifdef MAEMO_PLATFORM
|
renatofilho@20
|
52 |
HildonProgram *program = NULL;
|
renatofilho@20
|
53 |
#endif
|
renatofilho@20
|
54 |
|
renatofilho@20
|
55 |
/* init threads */
|
renatofilho@20
|
56 |
g_thread_init (NULL);
|
renatofilho@20
|
57 |
|
renatofilho@20
|
58 |
/* Initializes GTK */
|
renatofilho@20
|
59 |
gtk_init (&argc, &argv);
|
renatofilho@20
|
60 |
gst_init (&argc, &argv);
|
renatofilho@20
|
61 |
#ifdef NDEBUG
|
renatofilho@20
|
62 |
g_log_set_default_handler( debug_error_func, NULL );
|
renatofilho@20
|
63 |
#endif
|
renatofilho@20
|
64 |
|
renatofilho@20
|
65 |
/* Init libmmyth context */
|
rosfran@208
|
66 |
/* TODO */
|
renatofilho@20
|
67 |
#ifndef MAEMO_PLATFORM
|
renatofilho@20
|
68 |
/* create the main window */
|
renatofilho@20
|
69 |
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
renatofilho@20
|
70 |
gtk_widget_set_size_request (window, MAIN_WINDOW_WIDTH, MAIN_WINDOW_HEIGHT);
|
renatofilho@20
|
71 |
gtk_window_set_title (GTK_WINDOW (window), "Mythtv Frontend");
|
renatofilho@20
|
72 |
#else
|
renatofilho@20
|
73 |
/* Creating Hildonized main view */
|
renatofilho@20
|
74 |
program = HILDON_PROGRAM(hildon_program_get_instance());
|
renatofilho@20
|
75 |
window = hildon_window_new();
|
renatofilho@20
|
76 |
|
renatofilho@20
|
77 |
//g_signal_connect(G_OBJECT(window), "delete_event", gtk_main_quit, NULL);
|
renatofilho@20
|
78 |
|
renatofilho@20
|
79 |
hildon_program_add_window(program, HILDON_WINDOW (window));
|
renatofilho@20
|
80 |
g_set_application_name("Maemo Mythtv");
|
renatofilho@20
|
81 |
#endif
|
renatofilho@20
|
82 |
|
renatofilho@20
|
83 |
/* Initializes MMyth Widgets */
|
renatofilho@20
|
84 |
#ifdef MAEMO_PLATFORM
|
renatofilho@20
|
85 |
mmyth_ui = mmyth_ui_initialize (program, window);
|
renatofilho@20
|
86 |
#else
|
renatofilho@20
|
87 |
mmyth_ui = mmyth_ui_initialize (window);
|
renatofilho@20
|
88 |
#endif
|
renatofilho@20
|
89 |
|
renatofilho@20
|
90 |
//mmyth_ui->loop = g_main_loop_new (NULL, FALSE);
|
renatofilho@20
|
91 |
|
renatofilho@20
|
92 |
/* Connect destroy signal handling */
|
renatofilho@20
|
93 |
g_signal_connect (window, "destroy", G_CALLBACK (cb_destroy), mmyth_ui);
|
renatofilho@20
|
94 |
|
renatofilho@20
|
95 |
/* Shows main window and start gtk loop */
|
renatofilho@20
|
96 |
gtk_widget_show (window);
|
renatofilho@20
|
97 |
|
renatofilho@20
|
98 |
gtk_main ();
|
renatofilho@20
|
99 |
|
renatofilho@20
|
100 |
return 0;
|
renatofilho@20
|
101 |
}
|
renatofilho@20
|
102 |
|