return ( out > 0 ) ? ( out - in + 1 ) : 0;
}
+/** Get the position within the transition.
+ *
+ * The position is relative to the in point.
+ *
+ * \public \memberof mlt_transition_s
+ * \param self a transition
+ * \param frame a frame
+ * \return the position
+ */
+
+mlt_position mlt_transition_get_position( mlt_transition self, mlt_frame frame )
+{
+ mlt_position in = mlt_transition_get_in( self );
+ mlt_position position = mlt_frame_get_position( frame );
+ return position - in;
+}
+
/** Get the percent complete.
*
* \public \memberof mlt_transition_s
extern mlt_position mlt_transition_get_in( mlt_transition self );
extern mlt_position mlt_transition_get_out( mlt_transition self );
extern mlt_position mlt_transition_get_length( mlt_transition self );
+extern mlt_position mlt_transition_get_position( mlt_transition self, mlt_frame frame );
extern double mlt_transition_get_progress( mlt_transition self, mlt_frame frame );
extern double mlt_transition_get_progress_delta( mlt_transition self, mlt_frame frame );
extern mlt_frame mlt_transition_process( mlt_transition self, mlt_frame a_frame, mlt_frame b_frame );
return mlt_transition_get_length( get_transition( ) );
}
+int Transition::get_position( Frame &frame )
+{
+ return mlt_transition_get_position( get_transition( ), frame.get_frame( ) );
+}
+
double Transition::get_progress( Frame &frame )
{
return mlt_transition_get_progress( get_transition( ), frame.get_frame( ) );
int get_in( );
int get_out( );
int get_length( );
+ int get_position( Frame &frame );
double get_progress( Frame &frame );
double get_progress_delta( Frame &frame );
};