]> git.sesse.net Git - mlt/blobdiff - src/miracle/miracle_unit.h
miracle part 1
[mlt] / src / miracle / miracle_unit.h
index 54338182babc10dbe8856186eeb4aafe15f6402e..fabfe5a84915dd9165b298ee484cc5ac3d744755 100644 (file)
 #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"
@@ -38,81 +33,43 @@ 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;
+       mlt_properties producers;
+       mlt_properties old_producers;
+} 
+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, double in, double out, int flush );
+extern valerie_error_code      miracle_unit_insert( miracle_unit unit, const char *clip, int index, double in, double out );
+extern valerie_error_code   miracle_unit_append( miracle_unit unit, char *clip, double in, double out );
+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_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, double position );
+extern void                 miracle_unit_change_speed( miracle_unit unit, int speed );
+extern int                  miracle_unit_set_clip_in( miracle_unit unit, int index, double position );
+extern int                  miracle_unit_set_clip_out( miracle_unit unit, int index, double 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, double 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_get_current_clip( miracle_unit );
 
 
 #ifdef __cplusplus