return this;
}
+/** Load properties from a file.
+*/
+
+mlt_properties mlt_properties_load( char *filename )
+{
+ // Construct a standalone properties object
+ mlt_properties this = mlt_properties_new( );
+
+ if ( this != NULL )
+ {
+ // Open the file
+ FILE *file = fopen( filename, "r" );
+
+ // Load contents of file
+ if ( file != NULL )
+ {
+ // Temp string
+ char temp[ 1024 ];
+
+ // Read each string from the file
+ while( fgets( temp, 1024, file ) )
+ {
+ // Chomp the string
+ temp[ strlen( temp ) - 1 ] = '\0';
+
+ // Parse and set the property
+ if ( strcmp( temp, "" ) && temp[ 0 ] != '#' )
+ mlt_properties_parse( this, temp );
+ }
+
+ // Close the file
+ fclose( file );
+ }
+ }
+
+ // Return the pointer
+ return this;
+}
+
static inline int generate_hash( char *name )
{
int hash = 0;
static inline void mlt_properties_do_mirror( mlt_properties this, char *name )
{
property_list *list = this->private;
- if ( list->mirror != NULL && strcmp( name, "in" ) && strcmp( name, "out" ) )
+ if ( list->mirror != NULL )
{
char *value = mlt_properties_get( this, name );
if ( value != NULL )
return error;
}
+/** Set or default the property.
+*/
+
+int mlt_properties_set_or_default( mlt_properties this, char *name, char *value, char *def )
+{
+ return mlt_properties_set( this, name, value == NULL ? def : value );
+}
+
/** Get a string value by name.
*/