X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fvalerie%2Fvalerie.c;h=ba8e228025d5f8798f9d33eb397530aea2b32b56;hb=f5a438b319b560eccf511ebf3eed5db9edbac1de;hp=4157284b8006ab45645c1158075caf04d27cab6b;hpb=9390e8b584f3f717f0a326893c0e37cf187a0a51;p=melted diff --git a/src/valerie/valerie.c b/src/valerie/valerie.c index 4157284..ba8e228 100644 --- a/src/valerie/valerie.c +++ b/src/valerie/valerie.c @@ -184,7 +184,7 @@ valerie_error_code valerie_unit_add( valerie this, char *guid, int *unit ) if ( error == valerie_ok ) { int length = valerie_response_count( this->last_response ); - char *line = valerie_response_get_line( this->last_response, length - 2 ); + char *line = valerie_response_get_line( this->last_response, length - 1 ); if ( line == NULL || sscanf( line, "U%d", unit ) != 1 ) error = valerie_unit_creation_failed; } @@ -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, int32_t in, int32_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\" %d %d", 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, int32_t in, int32_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\" %d %d", 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, int32_t in, int32_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\" %d %d", unit, file, in, out ); } /** Clean the unit - this function removes all but the currently playing clip. @@ -260,6 +260,14 @@ valerie_error_code valerie_unit_clean( valerie this, int unit ) return valerie_execute( this, 1024, "CLEAN U%d", unit ); } +/** Clear the unit - this function removes all clips. +*/ + +valerie_error_code valerie_unit_clear( valerie this, int unit ) +{ + return valerie_execute( this, 1024, "CLEAR U%d", unit ); +} + /** Move clips on the units playlist. */ @@ -293,11 +301,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, int32_t in, int32_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 %d %d", unit, file, temp, in, out ); } /** Play the unit at normal speed. @@ -351,63 +359,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, int32_t step ) { - return valerie_execute( this, 1024, "STEP U%d %e", unit, step ); + return valerie_execute( this, 1024, "STEP U%d %d", 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, int32_t position ) { - return valerie_execute( this, 1024, "GOTO U%d %e", unit, position ); + return valerie_execute( this, 1024, "GOTO U%d %d", 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, int32_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 %d %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, int32_t in ) { - return valerie_execute( this, 1024, "SIN U%d %e", unit, in ); + return valerie_execute( this, 1024, "SIN U%d %d", 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, int32_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 %d %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, int32_t out ) { - return valerie_execute( this, 1024, "SOUT U%d %e", unit, out ); + return valerie_execute( this, 1024, "SOUT U%d %d", 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, int32_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 %d %s", unit, in, temp ); } /** Clear the in point of the loaded file on the specified unit. @@ -624,10 +632,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 );