Re: [Mlt-devel] Frei0r & Ladspa Filters
Brought to you by:
ddennedy,
lilo_booter
From: Jonathan T. <jon...@gm...> - 2009-08-13 23:50:21
|
Thanks Dan! The frei0r effects work great (I've been testing them as filters). One more question for you. Is there a built-in method in MLT that can determine if a file is a valid media file? I have tried using a Try / Catch to handle an invalid file, but MLT just seg faults when I run() the consumer... thus killing the Python program. Thanks! -Jonathan On Wed, Aug 12, 2009 at 11:50 PM, Dan Dennedy <da...@de...> wrote: > On Wed, Aug 12, 2009 at 6:29 PM, Jonathan > Thomas<jon...@gm...> wrote: > > Hi Dan! I am ready to start adding in Frei0r and Ladspa support to > > OpenShot. I've searched through the documentation, and I don't see > anywhere > > about how to implement them. Any advice would be super helpful. > > > > I found this example in the XML documentation for a filter. Can Frei0r > and > > Ladspa effects be added as filters in the XML? > [..] > > Also, I imagine each effect has it's own settings and parameters. I seem > to > > remember reading something on the MLT website about this. Does MLT know > > anything about these effects, such as which parameters are needed, valid > > values, etc...? Or will I need to research each effect and determine > this? > > yes, but the ladspa filter currently requires an external xml file > defining one or more ladspa filters. Eventually, it would be nice to > be able to embed this in the MLT XML - for example, you can embed SVG > in the pixbuf producer. This external xml file is the format generated > by the JACK Rack program. You might take a look at the JACK Rack > (requires jack sound daemon) UI and design something similar. > > Below is a sample jackrack XML file: > <?xml version="1.0"?> > <!DOCTYPE jackrack SYSTEM "http://purge.bash.sh/~rah/jack_rack_1.2.dtd<http://purge.bash.sh/%7Erah/jack_rack_1.2.dtd> > "> > <jackrack> > <channels>2</channels> > <samplerate>48000</samplerate> > <plugin> > <id>1217</id> > <enabled>true</enabled> > <wet_dry_enabled>false</wet_dry_enabled> > <wet_dry_locked>true</wet_dry_locked> > <wet_dry_values> > <value>1.000000</value> > <value>1.000000</value> > </wet_dry_values> > <lockall>true</lockall> > <controlrow> > <lock>true</lock> > <value>25</value> > <value>25</value> > </controlrow> > <controlrow> > <lock>true</lock> > <value>0.75</value> > <value>0.75</value> > </controlrow> > <controlrow> > <lock>true</lock> > <value>0.69</value> > <value>0.69</value> > </controlrow> > <controlrow> > <lock>true</lock> > <value>1</value> > <value>1</value> > </controlrow> > </plugin> > </jackrack> > > Pass the filename to a generated jackrack xml file to the filter's > resource property. > > There is something called LADSPA RDF that contains metadata about the > filters and their parameters. > Command line tool `listplugins` lists the ladspa plugins. > Command line tool 'analyseplugin' shows the parameters for a plugin. > You might be able to find a python binding to liblrdf or a pure python > RDF parser to parse the RDF yourself. Or, maybe just run these and > parse their output. > > MLT features a metadata system similar to LADSPA that uses YAML Tiny > instead of RDF format, but the query tool is built into melt. Not all > MLT services support this yet, but frei0r does. 'melt -query filters' > shows all of the filters. 'melt -query filter=frei0r.pixeliz0r' shows > the metadata including parameters. There is an API for this metadata - > see mlt++/MltRepository.h. > > There are frei0r producers and transitions as well. Although, I think > the transitions tend to be more compositing utilities than a > transition per se. > > Finally, along the same lines, there is a sox filter for additional > audio effects. Run 'sox --help' to see a list of effects. Then, run > 'sox --help-effect=echo' for the information on the effect parameters. > > -- > +-DRD-+ > |