2 * melted_unit.h -- Playout Unit Header
3 * Copyright (C) 2002-2009 Ushodaya Enterprises Limited
4 * Author: Dan Dennedy <dan@dennedy.org>
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.
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.
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.
21 #ifndef _MELTED_UNIT_H_
22 #define _MELTED_UNIT_H_
26 #include <framework/mlt_properties.h>
27 #include <mvcp/mvcp.h>
36 mlt_properties properties
;
38 melted_unit_t
, *melted_unit
;
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
);