#define _DV_UNIT_H_
#include <pthread.h>
-#include <libraw1394/raw1394.h>
-#include <dv1394notifier.h>
-#include <dv1394status.h>
-#include <dvpump.h>
-#include <dvplayer.h>
-#include <dvinput.h>
-#include <dverror.h>
+#include <framework/mlt_properties.h>
+#include <valerie/valerie.h>
#ifdef __cplusplus
extern "C"
typedef struct
{
- int unit;
- dv_pump pump;
- dv_player player;
- dv_input in;
- int dv1394_fd;
- int is_terminated;
- int is_suspended;
- pthread_t out;
- int channel;
- nodeid_t node_id;
- octlet_t guid;
- raw1394handle_t raw1394;
- int allow_stdin;
- int buffer_size;
- int online;
- dv1394_notifier notifier;
- char *root_dir;
- unsigned int dv1394_syt_offset;
- unsigned int dv1394_cip_n;
- unsigned int dv1394_cip_d;
- unsigned int n_frames;
- unsigned int n_fill;
- uint8_t *mmap;
- int mmap_pos;
- int mmap_length;
-} dv_unit_t, *dv_unit;
+ mlt_properties properties;
+}
+miracle_unit_t, *miracle_unit;
-extern dv_unit dv_unit_init( octlet_t guid, int channel );
-extern void dv_unit_allow_stdin( dv_unit unit, int flag );
-extern void dv_unit_set_buffer_size( dv_unit unit, int size );
-extern int dv_unit_get_buffer_size( dv_unit unit );
-extern void dv_unit_set_n_frames( dv_unit unit, int size );
-extern int dv_unit_get_n_frames( dv_unit unit );
-extern void dv_unit_set_n_fill( dv_unit unit, int size );
-extern int dv_unit_get_n_fill( dv_unit unit );
-extern dv_error_code dv_unit_load( dv_unit unit, const char *clip, long in, long out, int flush );
-extern dv_error_code dv_unit_insert( dv_unit unit, const char *clip, int index, long in, long out );
-extern dv_error_code dv_unit_append( dv_unit unit, const char *clip, long in, long out );
-extern dv_error_code dv_unit_remove( dv_unit unit, int index );
-extern dv_error_code dv_unit_clean( dv_unit unit );
-extern dv_error_code dv_unit_move( dv_unit unit, int src, int dest );
-extern int dv_unit_transfer( dv_unit dest_unit, dv_unit src_unit );
-extern void dv_unit_play( dv_unit_t *unit, int speed );
-extern void dv_unit_terminate( dv_unit );
-extern int dv_unit_has_terminated( dv_unit );
-extern octlet_t dv_unit_get_guid( dv_unit unit );
-extern int dv_unit_get_nodeid( dv_unit unit );
-extern int dv_unit_get_channel( dv_unit unit );
-extern int dv_unit_online( dv_unit unit );
-extern void dv_unit_offline( dv_unit unit );
-extern int dv_unit_is_offline( dv_unit unit );
-extern void dv_unit_set_notifier( dv_unit, dv1394_notifier, char * );
-extern int dv_unit_get_status( dv_unit, dv1394_status );
-extern void dv_unit_change_position( dv_unit, int, long position );
-extern void dv_unit_change_speed( dv_unit unit, int speed );
-extern int dv_unit_set_clip_in( dv_unit unit, int index, long position );
-extern int dv_unit_set_clip_out( dv_unit unit, int index, long position );
-extern void dv_unit_set_mode( dv_unit unit, dv_player_clip_mode mode );
-extern dv_player_clip_mode dv_unit_get_mode( dv_unit unit );
-extern void dv_unit_set_eof_action( dv_unit unit, dv_player_eof_action mode );
-extern dv_player_eof_action dv_unit_get_eof_action( dv_unit unit );
-extern void dv_unit_step( dv_unit unit, int offset );
-extern void dv_unit_close( dv_unit unit );
-extern int dv_unit_get_port( dv_unit unit );
-extern void dv_unit_set_dv1394_fd( dv_unit unit, int fd );
-extern unsigned int dv_unit_get_syt_offset( dv_unit unit );
-extern unsigned int dv_unit_get_cip_n( dv_unit unit );
-extern unsigned int dv_unit_get_cip_d( dv_unit unit );
-extern void dv_unit_set_syt_offset( dv_unit unit, unsigned int );
-extern void dv_unit_set_cip_n( dv_unit unit, unsigned int );
-extern void dv_unit_set_cip_d( dv_unit unit, unsigned int );
-extern void dv_unit_suspend( dv_unit );
-extern void dv_unit_restore( dv_unit );
-extern dv_player dv_unit_get_dv_player( dv_unit );
-extern int dv_unit_get_current_clip( dv_unit );
+extern miracle_unit miracle_unit_init( int index, char *arg );
+extern void miracle_unit_report_list( miracle_unit unit, valerie_response response );
+extern void miracle_unit_allow_stdin( miracle_unit unit, int flag );
+extern valerie_error_code miracle_unit_load( miracle_unit unit, char *clip, int32_t in, int32_t out, int flush );
+extern valerie_error_code miracle_unit_insert( miracle_unit unit, char *clip, int index, int32_t in, int32_t out );
+extern valerie_error_code miracle_unit_append( miracle_unit unit, char *clip, int32_t in, int32_t out );
+extern valerie_error_code miracle_unit_append_service( miracle_unit unit, mlt_service service );
+extern valerie_error_code miracle_unit_remove( miracle_unit unit, int index );
+extern valerie_error_code miracle_unit_clean( miracle_unit unit );
+extern valerie_error_code miracle_unit_wipe( miracle_unit unit );
+extern valerie_error_code miracle_unit_clear( miracle_unit unit );
+extern valerie_error_code miracle_unit_move( miracle_unit unit, int src, int dest );
+extern int miracle_unit_transfer( miracle_unit dest_unit, miracle_unit src_unit );
+extern void miracle_unit_play( miracle_unit_t *unit, int speed );
+extern void miracle_unit_terminate( miracle_unit );
+extern int miracle_unit_has_terminated( miracle_unit );
+extern int miracle_unit_get_nodeid( miracle_unit unit );
+extern int miracle_unit_get_channel( miracle_unit unit );
+extern int miracle_unit_is_offline( miracle_unit unit );
+extern void miracle_unit_set_notifier( miracle_unit, valerie_notifier, char * );
+extern int miracle_unit_get_status( miracle_unit, valerie_status );
+extern void miracle_unit_change_position( miracle_unit, int, int32_t position );
+extern void miracle_unit_change_speed( miracle_unit unit, int speed );
+extern int miracle_unit_set_clip_in( miracle_unit unit, int index, int32_t position );
+extern int miracle_unit_set_clip_out( miracle_unit unit, int index, int32_t position );
+//extern void miracle_unit_set_mode( miracle_unit unit, dv_player_clip_mode mode );
+//extern dv_player_clip_mode miracle_unit_get_mode( miracle_unit unit );
+//extern void miracle_unit_set_eof_action( miracle_unit unit, dv_player_eof_action mode );
+//extern dv_player_eof_action miracle_unit_get_eof_action( miracle_unit unit );
+extern void miracle_unit_step( miracle_unit unit, int32_t offset );
+extern void miracle_unit_close( miracle_unit unit );
+extern void miracle_unit_suspend( miracle_unit );
+extern void miracle_unit_restore( miracle_unit );
+extern int miracle_unit_set( miracle_unit, char *name_value );
+extern char * miracle_unit_get( miracle_unit, char *name );
+extern int miracle_unit_get_current_clip( miracle_unit );
#ifdef __cplusplus