MltRepository.{h,cpp}, swig/mltpp.i: added consumers, filters, producers, transitions...
[melted] / mlt++ / src / MltRepository.cpp
index a9d1d54..83b8e61 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "MltRepository.h"
 #include "MltProfile.h"
+#include "MltProperties.h"
 using namespace Mlt;
 
 Repository::Repository( const char* directory ) :
@@ -48,3 +49,33 @@ void *Repository::create( Profile& profile, mlt_service_type type, const char *s
 {
        return mlt_repository_create( instance, profile.get_profile(), type, service, arg );
 }
+
+Properties *Repository::consumers( ) const
+{
+       return new Properties( mlt_repository_consumers( instance ) );
+}
+
+Properties *Repository::filters( ) const
+{
+       return new Properties( mlt_repository_filters( instance ) );
+}
+
+Properties *Repository::producers( ) const
+{
+       return new Properties( mlt_repository_producers( instance ) );
+}
+
+Properties *Repository::transitions( ) const
+{
+       return new Properties( mlt_repository_transitions( instance ) );
+}
+
+void Repository::register_metadata( mlt_service_type type, const char *service, Properties& metadata )
+{
+       mlt_repository_register_metadata( instance, type, service, metadata.get_properties() );
+}
+
+Properties *Repository::metadata( mlt_service_type type, const char *service ) const
+{
+       return new Properties( mlt_repository_metadata( instance, type, service ) );
+}