2 * omnplay.c -- GTK+ 2 omnplay
3 * Copyright (C) 2011 Maksym Veremeyenko <verem@m1stereo.tv>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software Foundation,
17 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
28 #include <gdk/gdkkeysyms.h>
34 #include "omplrclnt.h"
36 static gboolean
on_main_window_delete_event( GtkWidget
*widget
, GdkEvent
*event
, gpointer user_data
)
43 omnplay_instance_t
* omnplay_create(int argc
, char** argv
)
46 omnplay_instance_t
* app
;
48 /* prepare application instance */
49 app
= (omnplay_instance_t
*)malloc(sizeof(omnplay_instance_t
));
50 memset(app
, 0, sizeof(omnplay_instance_t
));
52 /* load parameters from command line */
53 if(!omnplay_opt(argc
, argv
, app
) && app
->players
.count
)
54 app
->window
= ui_omnplay(app
);
62 void omnplay_destroy(omnplay_instance_t
* app
)
72 OmPlrClipInfo clip_info
;
73 char clip_name
[omPlrMaxClipDirLen
];
79 "omneon-1b.internal.m1stereo.tv",
85 fprintf(stderr
, "ERROR: OmPlrOpen failed with 0x%.8X\n", r
);
88 /* fetch all clips known in Omneon */
92 clip_name
, sizeof(clip_name
)
96 fprintf(stderr
, "ERROR: OmPlrClipGetFirst failed with 0x%.8X\n", r
);
99 fprintf(stderr
, "OmPlrClipGetFirst=[%s]\n", clip_name
);
101 clip_info
.maxMsTracks
= 0;
102 clip_info
.size
= sizeof(clip_info
);
103 r
= OmPlrClipGetInfo(omn
, clip_name
, &clip_info
);
106 fprintf(stderr
, "ERROR: OmPlrClipGetInfo failed with 0x%.8X\n", r
);
109 fprintf(stderr
, "OmPlrClipGetInfo(%s)=firstFrame=%d, lastFrame=%d",
110 clip_name
, clip_info
.firstFrame
, clip_info
.lastFrame
);
120 void omnplay_init(omnplay_instance_t
* app
)
122 gtk_signal_connect( GTK_OBJECT( app
->window
), "destroy",
123 GTK_SIGNAL_FUNC(on_main_window_delete_event
), app
);
129 void omnplay_release(omnplay_instance_t
* app
)