int64 based comms and more unit functionality
[melted] / mlt / src / valerie / valerie.c
index 2e1f289..f273153 100644 (file)
@@ -223,9 +223,9 @@ static void valerie_interpret_clip_offset( char *output, valerie_clip_offset off
 /** Load a file on the specified unit with the specified in/out points.
 */
 
-valerie_error_code valerie_unit_load_clipped( valerie this, int unit, char *file, double in, double out )
+valerie_error_code valerie_unit_load_clipped( valerie this, int unit, char *file, int64_t in, int64_t out )
 {
-       return valerie_execute( this, 10240, "LOAD U%d \"%s\" %e %e", unit, file, in, out );
+       return valerie_execute( this, 10240, "LOAD U%d \"%s\" %lld %lld", unit, file, in, out );
 }
 
 /** Load a file on the specified unit at the end of the current pump.
@@ -239,17 +239,17 @@ valerie_error_code valerie_unit_load_back( valerie this, int unit, char *file )
 /** Load a file on the specified unit at the end of the pump with the specified in/out points.
 */
 
-valerie_error_code valerie_unit_load_back_clipped( valerie this, int unit, char *file, double in, double out )
+valerie_error_code valerie_unit_load_back_clipped( valerie this, int unit, char *file, int64_t in, int64_t out )
 {
-       return valerie_execute( this, 10240, "LOAD U%d \"!%s\" %e %e", unit, file, in, out );
+       return valerie_execute( this, 10240, "LOAD U%d \"!%s\" %lld %lld", unit, file, in, out );
 }
 
 /** Append a file on the specified unit.
 */
 
-valerie_error_code valerie_unit_append( valerie this, int unit, char *file, double in, double out )
+valerie_error_code valerie_unit_append( valerie this, int unit, char *file, int64_t in, int64_t out )
 {
-       return valerie_execute( this, 10240, "APND U%d \"%s\" %e %e", unit, file, in, out );
+       return valerie_execute( this, 10240, "APND U%d \"%s\" %lld %lld", unit, file, in, out );
 }
 
 /** Clean the unit - this function removes all but the currently playing clip.
@@ -293,11 +293,11 @@ valerie_error_code valerie_unit_remove_current_clip( valerie this, int unit )
 /** Insert clip at the specified position.
 */
 
-valerie_error_code valerie_unit_clip_insert( valerie this, int unit, valerie_clip_offset offset, int clip, char *file, double in, double out )
+valerie_error_code valerie_unit_clip_insert( valerie this, int unit, valerie_clip_offset offset, int clip, char *file, int64_t in, int64_t out )
 {
        char temp[ 100 ];
        valerie_interpret_clip_offset( temp, offset, clip );
-       return valerie_execute( this, 1024, "INSERT U%d %s %s %e %e", unit, file, temp, in, out );
+       return valerie_execute( this, 1024, "INSERT U%d %s %s %lld %lld", unit, file, temp, in, out );
 }
 
 /** Play the unit at normal speed.
@@ -311,9 +311,9 @@ valerie_error_code valerie_unit_play( valerie this, int unit )
 /** Play the unit at specified speed.
 */
 
-valerie_error_code valerie_unit_play_at_speed( valerie this, int unit, double speed )
+valerie_error_code valerie_unit_play_at_speed( valerie this, int unit, int speed )
 {
-       return valerie_execute( this, 10240, "PLAY U%d %e", unit, speed );
+       return valerie_execute( this, 10240, "PLAY U%d %d", unit, speed );
 }
 
 /** Stop playback on the specified unit.
@@ -351,63 +351,63 @@ valerie_error_code valerie_unit_fast_forward( valerie this, int unit )
 /** Step by the number of frames on the specified unit.
 */
 
-valerie_error_code valerie_unit_step( valerie this, int unit, double step )
+valerie_error_code valerie_unit_step( valerie this, int unit, int64_t step )
 {
-       return valerie_execute( this, 1024, "STEP U%d %e", unit, step );
+       return valerie_execute( this, 1024, "STEP U%d %lld", unit, step );
 }
 
 /** Goto the specified frame on the specified unit.
 */
 
-valerie_error_code valerie_unit_goto( valerie this, int unit, double position )
+valerie_error_code valerie_unit_goto( valerie this, int unit, int64_t position )
 {
-       return valerie_execute( this, 1024, "GOTO U%d %e", unit, position );
+       return valerie_execute( this, 1024, "GOTO U%d %lld", unit, position );
 }
 
 /** Goto the specified frame in the clip on the specified unit.
 */
 
-valerie_error_code valerie_unit_clip_goto( valerie this, int unit, valerie_clip_offset offset, int clip, double position )
+valerie_error_code valerie_unit_clip_goto( valerie this, int unit, valerie_clip_offset offset, int clip, int64_t position )
 {
        char temp[ 100 ];
        valerie_interpret_clip_offset( temp, offset, clip );
-       return valerie_execute( this, 1024, "GOTO U%d %e %s", unit, position, temp );
+       return valerie_execute( this, 1024, "GOTO U%d %lld %s", unit, position, temp );
 }
 
 /** Set the in point of the loaded file on the specified unit.
 */
 
-valerie_error_code valerie_unit_set_in( valerie this, int unit, double in )
+valerie_error_code valerie_unit_set_in( valerie this, int unit, int64_t in )
 {
-       return valerie_execute( this, 1024, "SIN U%d %e", unit, in );
+       return valerie_execute( this, 1024, "SIN U%d %lld", unit, in );
 }
 
 /** Set the in point of the clip on the specified unit.
 */
 
-valerie_error_code valerie_unit_clip_set_in( valerie this, int unit, valerie_clip_offset offset, int clip, double in )
+valerie_error_code valerie_unit_clip_set_in( valerie this, int unit, valerie_clip_offset offset, int clip, int64_t in )
 {
        char temp[ 100 ];
        valerie_interpret_clip_offset( temp, offset, clip );
-       return valerie_execute( this, 1024, "SIN U%d %e %s", unit, in, temp );
+       return valerie_execute( this, 1024, "SIN U%d %lld %s", unit, in, temp );
 }
 
 /** Set the out point of the loaded file on the specified unit.
 */
 
-valerie_error_code valerie_unit_set_out( valerie this, int unit, double out )
+valerie_error_code valerie_unit_set_out( valerie this, int unit, int64_t out )
 {
-       return valerie_execute( this, 1024, "SOUT U%d %e", unit, out );
+       return valerie_execute( this, 1024, "SOUT U%d %lld", unit, out );
 }
 
 /** Set the out point of the clip on the specified unit.
 */
 
-valerie_error_code valerie_unit_clip_set_out( valerie this, int unit, valerie_clip_offset offset, int clip, double in )
+valerie_error_code valerie_unit_clip_set_out( valerie this, int unit, valerie_clip_offset offset, int clip, int64_t in )
 {
        char temp[ 100 ];
        valerie_interpret_clip_offset( temp, offset, clip );
-       return valerie_execute( this, 1024, "SOUT U%d %e %s", unit, in, temp );
+       return valerie_execute( this, 1024, "SOUT U%d %lld %s", unit, in, temp );
 }
 
 /** Clear the in point of the loaded file on the specified unit.
@@ -624,10 +624,10 @@ valerie_error_code valerie_list_get( valerie_list list, int index, valerie_list_
                        entry->clip = atoi( valerie_tokeniser_get_string( tokeniser, 0 ) );
                        valerie_util_strip( valerie_tokeniser_get_string( tokeniser, 1 ), '\"' );
                        strcpy( entry->full, valerie_tokeniser_get_string( tokeniser, 1 ) );
-                       entry->in = atof( valerie_tokeniser_get_string( tokeniser, 2 ) );
-                       entry->out = atof( valerie_tokeniser_get_string( tokeniser, 3 ) );
-                       entry->max = atof( valerie_tokeniser_get_string( tokeniser, 4 ) );
-                       entry->size = atof( valerie_tokeniser_get_string( tokeniser, 5 ) );
+                       entry->in = atol( valerie_tokeniser_get_string( tokeniser, 2 ) );
+                       entry->out = atol( valerie_tokeniser_get_string( tokeniser, 3 ) );
+                       entry->max = atol( valerie_tokeniser_get_string( tokeniser, 4 ) );
+                       entry->size = atol( valerie_tokeniser_get_string( tokeniser, 5 ) );
                        entry->fps = atof( valerie_tokeniser_get_string( tokeniser, 6 ) );
                }
                valerie_tokeniser_close( tokeniser );