X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_properties.c;h=7a7010e7f07748bf8343d5e75f41032e48f00c9c;hb=23571c330fd1644833dcb73661ac987eda177200;hp=1638200c0a85bce147359fd649206f64452147c7;hpb=5b59ce704d4f317e845afa30c5ade12c0fd22d43;p=melted diff --git a/src/framework/mlt_properties.c b/src/framework/mlt_properties.c index 1638200..7a7010e 100644 --- a/src/framework/mlt_properties.c +++ b/src/framework/mlt_properties.c @@ -74,6 +74,45 @@ mlt_properties mlt_properties_new( ) 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;