X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=README;h=beec33aa3965ab352ed939645732eba1ea76be4d;hb=54168b279313b35ca85ae9410a75995658f70c0f;hp=5955a3816460f6e981be7845f7c572ef6751af16;hpb=72245f174372601b158fda2dc4a2e3f936ea0381;p=mlt diff --git a/README b/README index 5955a381..beec33aa 100644 --- a/README +++ b/README @@ -1,71 +1,49 @@ -README ------- +MLT FRAMEWORK 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 details. + + See the website for development details: + http://www.mltframework.org/twiki/bin/view/MLT/Documentation + http://www.mltframework.org/twiki/bin/view/MLT/Contributing + http://www.mltframework.org/twiki/bin/view/MLT/ToDo - The directory heirarchy is defined as follows: - - + docs - Location of all documentation - + src - All project source is provided here - + framework - The mlt media framework - + modules - All services are defined here - + core - Independent MLT services - + dv - libdv dependent services - + ffmpeg - ffmpeg dependent services - + avformat - libavformat dependent services - + vorbis - vorbis dependenent services - + sdl - SDL dependent services - + resample - libresample dependent services - + gtk2 - pango and pixbuf dependent services - + xine - xine-derived services - + bluefish - Bluefish dependent services (*) - + mainconcept - mainconcept dependent services (*) - + inigo - A media playing test application - + valerie - Client API to access the server - + miracle - The server implementation - + humperdink - The evil demo - + albino - The simple but nice demo - + tests - Reserved for regression and unit tests - - Additional subdirectories may be nested below those shown and should be - documented in their parent. - - (*) Not posted to CVS due to licensing issues. Configuration ------------- - Configuration is triggered from the top level directory via a - ./configure script. + Configuration is triggered by running: - Each source bearing subdirectory shown above have their own configure - script which are called automatically from the top level. + ./configure - Typically, new modules can be introduced without modification to the - configure script and arguments are accepted and passed through to all - subdirectories. + More information on usage is found by running: - Top level usage is: - - ./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. + Once configured, it should be sufficient to run: + + make + + to compile the system. + Testing ------- @@ -73,66 +51,21 @@ Testing To execute the mlt tools without installation, or to test a new version on a system with an already installed mlt version, you should run: - . setenv + . setenv + + NB: This applies to your current shell only and it assumes a bash or + regular bourne shell is in use. - NB: This applies to your current shell only. Installation ------------ - * NOT IMPLEMENTED YET * - - The install is triggered by running make install or make install-strip - from the top level directory. + The install is triggered by running: - 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. + make install - To allow the development of external components, mlt-client-config and - mlt-framework-config scripts are generated and installed in $prefix/bin. - - After install, only those modules listed are usable by the server. No - module is loaded unless explicitly requested via server configuration - or usage. - - 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. - -Development ------------ - - All compilation in the project has {top-level-dir}/src on the include path. - All headers are included as: - #include - - 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 -------- +More Information +---------------- - 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. + For more detailed information, please refer to docs/install.txt.