]> git.sesse.net Git - mlt/blobdiff - mlt++/README
Constness changes
[mlt] / mlt++ / README
index f4e8bedc7546fb30b59f11569de2177bf83e7765..54c63777201e02f7066f98df7296b88055108001 100644 (file)
@@ -15,29 +15,54 @@ USAGE
 
        Use the following definitions in a Makefile to compile and link with mlt++:
 
-       CXXFLAGS=`mlt-config -Wall`
-       LDFLAGS=-lmlt++
+               CXXFLAGS=`pkg-config --cflags mlt-framework` -Wall
+               LDFLAGS=-lmlt++ `pkg-config --libs mlt-framework`
+
+       Include files for the classes can either be explicitly included, ie:
+
+               #include <mlt++/MltProducer.h>
+               etc
+
+       Or you can include all using:
+
+               #include <mlt++/Mlt.h>
 
        All definitions are placed in an Mlt namespace, and adhere closely to the C
        naming convention. Mappings always follow the pattern:
 
        Factory methods:
 
-               mlt_factory_init                =>      Mlt::Factory::init
-               mlt_factory_producer    =>      Mlt::Factory::producer
-               etc
+               mlt_factory_init        ==> Mlt::Factory::init
+               mlt_factory_producer    ==> Mlt::Factory::producer
+               mlt_factory_filter      ==> Mlt::Factory::filter
+               mlt_factory_transition  ==> Mlt::Factory::transition
+               mlt_factory_consumer    ==> Mlt::Factory::consumer
+               mlt_factory_close       ==> Mlt::Factory::close
+
+       NB: Factory usage for service construction is optional.
 
        Types:
 
-               mlt_producer                    ==>     Mlt::Producer
-               mlt_consumer                    ==>     Mlt::Consumer
-               etc
+               mlt_properties          ==> Mlt::Properties
+               mlt_frame               ==> Mlt::Frame
+               mlt_service             ==> Mlt::Service
+               mlt_producer            ==> Mlt::Producer
+               mlt_filter              ==> Mlt::Filter
+               mlt_transition          ==> Mlt::Transition
+               mlt_consumer            ==> Mlt::Consumer
 
        Methods:
 
-               mlt_type_method                 ==> Mlt:Type.method
-       ie:     mlt_playlist_append             ==> Mlt::Playlist.append
-               etc
+               mlt_type_method         ==> Mlt::Type.method
+       ie:     mlt_playlist_append     ==> Mlt::Playlist.append
+
+       Parent methods are available directly on children.
+
+       Additionally, you can specify:
+
+               using namespace Mlt;
+
+       To avoid the enforced use of the Mlt:: prefix.
 
        Enumerators and macros are reused directly from the C library.
 
@@ -51,11 +76,21 @@ CLASS HIERARCHY
                        Frame
                        Service
                                Consumer
+                               Field
                                Filter
+                               Multitrack
                                Producer
                                        Playlist
+                               Tractor
                                Transition
 
+       An additional set of classes allow apps to behave as, and communicate with,
+       client/server components - these components provide MLT with unique 
+       possibilties for process to process or system to system communications.
+       
+               Miracle
+               Response
+
 SPECIAL CASES
 -------------
 
@@ -70,26 +105,31 @@ SPECIAL CASES
 
                Mlt::Service *Mlt::Service.consumer( );
 
-       Note that you get an object back - it is never the original object, but a 
-       wrapping object. This is done to keep consistency with the C api which may 
-       instantiate C instances - therefore there it cannot be assumed that a C++ 
-       object exists for all mlt service instances.
+       Note that you get an object back - it is never the original c++ object, but 
+       wrapping object. This is done to keep consistency with the C api which may 
+       instantiate C instances - therefore it cannot be assumed that a C++ object 
+       exists for all mlt service instances.
 
        As such, it is mandatory that you delete these objects. The original will 
-       not be affected. Further to that, all modifications (to properties or its
+       not be affected. However, all other modifications (to properties or its
        state of connection) will be reflected in the original object.
 
-       This excludes the use of the RTTI to determine the real type of the object -
-       this can only be done by parsing the objects properties.
+       This approach excludes the use of RTTI to determine the real type of the 
+       object - this can only be done by parsing the objects properties.
 
-       Non-NULL objects may be invalid - always use the is_valid method to
-       check validity before use.
+       Objects may be invalid - always use the is_valid method to check validity 
+       before use.
 
 LIMITATIONS
 -----------
 
-       The mechanisms for the definition of new services have deliberately not 
-       been exposed by the C++ wrappings - this is done to ensure that service 
+       The mechanisms for the definition of new services are deliberately 
+       excluded from the C++ wrappings - this is done to ensure that service 
        networks constructed can be serialised and used by existing applications
        which are based on the C API (such as miracle).
 
+SWIG
+----
+
+       Experimental swig bindings based on mlt++ are provided.
+