Fix build of melted.
[melted] / src / melted / melted_unit.h
1 /*
2 * melted_unit.h -- Playout Unit Header
3 * Copyright (C) 2002-2009 Ushodaya Enterprises Limited
4 * Author: Dan Dennedy <dan@dennedy.org>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 */
20
21 #ifndef _MELTED_UNIT_H_
22 #define _MELTED_UNIT_H_
23
24 #include <pthread.h>
25
26 #include <framework/mlt_properties.h>
27 #include <mvcp/mvcp.h>
28
29 #ifdef __cplusplus
30 extern "C"
31 {
32 #endif
33
34 typedef struct
35 {
36 mlt_properties properties;
37 }
38 melted_unit_t, *melted_unit;
39
40 extern melted_unit melted_unit_init( int index, char *arg );
41 extern void melted_unit_report_list( melted_unit unit, mvcp_response response );
42 extern void melted_unit_allow_stdin( melted_unit unit, int flag );
43 extern mvcp_error_code melted_unit_load( melted_unit unit, char *clip, int32_t in, int32_t out, int flush );
44 extern mvcp_error_code melted_unit_insert( melted_unit unit, char *clip, int index, int32_t in, int32_t out );
45 extern mvcp_error_code melted_unit_append( melted_unit unit, char *clip, int32_t in, int32_t out );
46 extern mvcp_error_code melted_unit_append_service( melted_unit unit, mlt_service service );
47 extern mvcp_error_code melted_unit_remove( melted_unit unit, int index );
48 extern mvcp_error_code melted_unit_clean( melted_unit unit );
49 extern mvcp_error_code melted_unit_wipe( melted_unit unit );
50 extern mvcp_error_code melted_unit_clear( melted_unit unit );
51 extern mvcp_error_code melted_unit_move( melted_unit unit, int src, int dest );
52 extern int melted_unit_transfer( melted_unit dest_unit, melted_unit src_unit );
53 extern void melted_unit_play( melted_unit_t *unit, int speed );
54 extern void melted_unit_terminate( melted_unit );
55 extern int melted_unit_has_terminated( melted_unit );
56 extern int melted_unit_get_nodeid( melted_unit unit );
57 extern int melted_unit_get_channel( melted_unit unit );
58 extern int melted_unit_is_offline( melted_unit unit );
59 extern void melted_unit_set_notifier( melted_unit, mvcp_notifier, char * );
60 extern int melted_unit_get_status( melted_unit, mvcp_status );
61 extern void melted_unit_change_position( melted_unit, int, int32_t position );
62 extern void melted_unit_change_speed( melted_unit unit, int speed );
63 extern int melted_unit_set_clip_in( melted_unit unit, int index, int32_t position );
64 extern int melted_unit_set_clip_out( melted_unit unit, int index, int32_t position );
65 extern void melted_unit_step( melted_unit unit, int32_t offset );
66 extern void melted_unit_close( melted_unit unit );
67 extern void melted_unit_suspend( melted_unit );
68 extern void melted_unit_restore( melted_unit );
69 extern int melted_unit_set( melted_unit, char *name_value );
70 extern char * melted_unit_get( melted_unit, char *name );
71 extern int melted_unit_get_current_clip( melted_unit );
72
73
74 #ifdef __cplusplus
75 }
76 #endif
77
78 #endif