X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=mlt%2B%2B%2Fsrc%2FMltMiracle.cpp;h=1e6d7ea57d798501404da972b494eb6c250c0f5d;hb=009596ca20a3c4b77e6fc6d8355a509be81f9897;hp=dfed9c799b2b74ce01d499c9599e28c85ca477dc;hpb=f44e0add96a8af2a2f8a7096c76109c565e23acc;p=melted diff --git a/mlt++/src/MltMiracle.cpp b/mlt++/src/MltMiracle.cpp index dfed9c7..1e6d7ea 100644 --- a/mlt++/src/MltMiracle.cpp +++ b/mlt++/src/MltMiracle.cpp @@ -104,15 +104,17 @@ mlt_properties Miracle::get_properties( ) bool Miracle::start( ) { - miracle_server_execute( server ); - _real = server->parser->real; - _execute = server->parser->execute; - _received = server->parser->received; - _push = server->parser->push; - server->parser->real = this; - server->parser->execute = mlt_miracle_execute; - server->parser->received = mlt_miracle_received; - server->parser->push = mlt_miracle_push; + if ( miracle_server_execute( server ) == 0 ) + { + _real = server->parser->real; + _execute = server->parser->execute; + _received = server->parser->received; + _push = server->parser->push; + server->parser->real = this; + server->parser->execute = mlt_miracle_execute; + server->parser->received = mlt_miracle_received; + server->parser->push = mlt_miracle_push; + } return server->shutdown == 0; } @@ -143,3 +145,13 @@ void Miracle::wait_for_shutdown( ) nanosleep( &tm, NULL ); } +void Miracle::log_level( int threshold ) +{ + miracle_log_init( log_stderr, threshold ); +} + +Properties *Miracle::unit( int index ) +{ + mlt_properties properties = miracle_server_fetch_unit( server, index ); + return properties != NULL ? new Properties( properties ) : NULL; +}