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