Thread: [Jahshaka-cvs] openlibraries/src/openmedialib/plugins/gensys gensys_plugin.cpp, 1.41, 1.42
Status: Beta
Brought to you by:
jahshaka
From: Charles Y. <lil...@us...> - 2007-04-30 11:45:55
|
Update of /cvsroot/openlibraries/openlibraries/src/openmedialib/plugins/gensys In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6217/plugins/gensys Modified Files: gensys_plugin.cpp Log Message: + Matches behaviour expected by filter base class for property name:id marking Index: gensys_plugin.cpp =================================================================== RCS file: /cvsroot/openlibraries/openlibraries/src/openmedialib/plugins/gensys/gensys_plugin.cpp,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- gensys_plugin.cpp 26 Apr 2007 12:19:30 -0000 1.41 +++ gensys_plugin.cpp 30 Apr 2007 11:45:52 -0000 1.42 @@ -1673,7 +1673,7 @@ input->seek( get_position( ) ); result = input->fetch( ); pcos::key_vector props = properties( ).get_keys( ); - for( pcos::key_vector::iterator it = props.begin( ); it != props.end( ); it ++ ) + for( pcos::key_vector::iterator it = props.begin( ); result && it != props.end( ); it ++ ) evaluate( result, *it ); } @@ -1700,6 +1700,9 @@ void assign_property( frame_type_ptr frame, std::string name, double result ) { + if ( name.find( ":" ) != std::string::npos ) + name = name.substr( 0, name.find( ":" ) ); + if ( !frame->properties( ).get_property_with_string( name.c_str( ) ).valid( ) ) { pcos::property final( pcos::key::from_string( name.c_str( ) ) ); @@ -1729,7 +1732,7 @@ correct_in_out( in, out ); - if ( position >= in && position <= out ) + if ( count > 0 && position >= in && position <= out ) { if ( count >= 2 ) result = lower + ( double( position - in ) / double( out - in + 1 ) ) * ( upper - lower ); @@ -1816,7 +1819,7 @@ double x = 0.0; double y = 0.0; - if ( position >= in && position <= out ) + if ( count > 0 && position >= in && position <= out ) { calculate( x, y, points, double( position - in ) / double( out - in ) ); |