X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltPlaylist.cpp;fp=mlt%2B%2B%2Fsrc%2FMltPlaylist.cpp;h=42fe74a3d74c5c5d166b988858d724bc6c8ffd09;hb=01116637238e74419971afc26311c7a65b7b43aa;hp=54b79ba83751422ed90a7eee7287d534bb9862e8;hpb=4bf33d8de1c1887c6386f8d151c479ae0631a9aa;p=melted diff --git a/mlt++/src/MltPlaylist.cpp b/mlt++/src/MltPlaylist.cpp index 54b79ba..42fe74a 100644 --- a/mlt++/src/MltPlaylist.cpp +++ b/mlt++/src/MltPlaylist.cpp @@ -25,8 +25,8 @@ using namespace Mlt; ClipInfo::ClipInfo( mlt_playlist_clip_info *info ) : clip( info->clip ), - producer( new ProducerInstance( info->producer ) ), - service( new ServiceInstance( info->service ) ), + producer( new Producer( info->producer ) ), + service( new Service( info->service ) ), start( info->start ), resource( strdup( info->resource ) ), frame_in( info->frame_in ), @@ -37,6 +37,22 @@ ClipInfo::ClipInfo( mlt_playlist_clip_info *info ) : { } +ClipInfo::ClipInfo( Playlist &playlist, int index ) +{ + mlt_playlist_clip_info info; + mlt_playlist_get_clip_info( playlist.get_playlist( ), &info, index ); + clip = info.clip; + producer = new Producer( info.producer ); + service = new Service( info.service ); + start = info.start; + resource = strdup( info.resource ); + frame_in = info.frame_in; + frame_out = info.frame_out; + frame_count = info.frame_count; + length = info.length; + fps = info.fps; +} + ClipInfo::~ClipInfo( ) { delete producer; @@ -44,32 +60,32 @@ ClipInfo::~ClipInfo( ) free( resource ); } -PlaylistInstance::PlaylistInstance( ) : +Playlist::Playlist( ) : destroy( true ), instance( NULL ) { instance = mlt_playlist_init( ); } -PlaylistInstance::PlaylistInstance( Playlist &playlist ) : +Playlist::Playlist( Playlist &playlist ) : destroy( false ), instance( playlist.get_playlist( ) ) { } -PlaylistInstance::PlaylistInstance( mlt_playlist playlist ) : +Playlist::Playlist( mlt_playlist playlist ) : destroy( false ), instance( playlist ) { } -PlaylistInstance::~PlaylistInstance( ) +Playlist::~Playlist( ) { if ( destroy ) mlt_playlist_close( instance ); } -mlt_playlist PlaylistInstance::get_playlist( ) +mlt_playlist Playlist::get_playlist( ) { return instance; } @@ -111,7 +127,7 @@ int Playlist::current_clip( ) Producer *Playlist::current( ) { - return new ProducerInstance( mlt_playlist_current( get_playlist( ) ) ); + return new Producer( mlt_playlist_current( get_playlist( ) ) ); } ClipInfo *Playlist::clip_info( int index )