X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=README;h=f860e1bf0ed8fe14d26cfeacc8d6b7f337f818fc;hb=HEAD;hp=fc7f3c5608c93d73639e1bd88528240b3f4019ce;hpb=092636b85449e57fd33ffd4954a2de23c2a5f81c;p=melted diff --git a/README b/README index fc7f3c5..f860e1b 100644 --- a/README +++ b/README @@ -1,121 +1,53 @@ -README ------- +MLT Melted README +----------------- - This document provides a description of the MLT project organisation. + Sponsored by Ushodaya Enterprises Limited + Written by Charles Yates + and Dan Dennedy - It provides *CRITICAL* architecture information, so please read carefully - if you plan to extend or use the MLT code base. + MLT is a LGPL multimedia framework designed for television broadcasting, + and Melted is a GPL multi-unit video playout server with realtime + effects. -Directories ------------ + This document provides a quick reference for the minimal configuration, + build and installation of MLT. See the docs directory for usage and + development details. - The directory heirarchy is defined as follows: - - + docs - Location of all text and source format - documentation - + src - All project source is provided here - + framework - The media framework - + modules - All components are defined here - + core - Non-dependent MLT service - + dv - libdv services - + ffmpeg - ffmpeg dependent modules and test code - + sdl - SDL dependent modules and test code - + bluefish - Bluefish dependent modules and test code (*) - + mainconcept - mainconcept dependent modules and test code (*) - + inigo - A media playing test application - + valerie - Client API to access the server - + miracle - The server implementation - + tests - Reserved for regression and unit tests - - Additional subdirectories may be nested below those shown and should be - documented in their parent or here. - - (*) Not posted to CVS due to licensing issues. Configuration ------------- - Configuration is triggered from the top level directory via a - ./configure script. - - Each source bearing subdirectory shown above have their own configure - script which are called automatically from the top level. + Configuration is triggered by running: - Typically, new modules can be introduced without modification to the - configure script and arguments are accepted and passed through to all - subdirectories. + ./configure - Top level usage is: + More information on usage is found by running: - ./configure --help - report all configure options - ./configure --prefix=[dir] - target install directory (default: /usr/local) - ./configure --disable-[mod] - do not compile specified module(s) - ./configure --[other] - pass through to children + ./configure --help NB: This script must be run to register new services after a CVS checkout or subsequent update. - -Compilation ------------ - Makefiles are generated during configuration and these are based on - a per directory template which must be provided by the developer. -Installation ------------- +Compilation +----------- - The install is triggered by running make install or make install-strip - from the top level directory. - - The framework produces a single shared object which is installed in - $prefix/lib/ and public header files which are installed in - $prefix/include/mlt/framework. - - The client produces a single shared object which is installed in - $prefix/lib/ and public header which are installed in - $prefix/include/mlt/client. - - The server produces a single exectuable which is installed in - $prefix/bin/. This is linked against the framework shared object and - posix libs but not against any of the modules. - - The modules produce a shared object per module and update text files - containing a list of modules provided by this build. These are installed - in $prefix/share/mlt/. It is at the discretion of the module to install - additional support files. - - To allow the development of external components, mlt-client-config and - mlt-framework-config scripts are generated and installed in $prefix/bin. + Once configured, it should be sufficient to run: - After install, only those modules listed are usable by the server. No - module is loaded unless explicitly requested via server configuration - or usage. + make - External modules are also placed in this $prefix/share/mlt, and the - installation of those must modify the text file accordingly before they - will be considered at runtime. + to compile the system. -Development ------------ - All compilation in the project has {top-level-dir}/src on the include path. - All headers are included as: +Installation +------------ - #include + The install is triggered by running: + + make install - All external modules have {prefix}/include/mlt on the include path. All - headers should also be included as: - - #include - - This allows migration of source between external and internal modules. - The configuration and Makefile template requirements will require - attention though. - -Summary -------- - 1. The server will interact with public interfaces from the framework only; - 2. The modules must expose public framework interfaces only; - 3. All modules are dynamically loaded at runtime. +More Information +---------------- + For more detailed information, please refer to docs/install.txt.