Installation Documentation
-Copyright (C) 2004 Ushodaya Enterprises Limited
+Copyright (C) 2004-2009 Ushodaya Enterprises Limited
Author: Charles Yates <charles.yates@pandora.be>
-Last Revision: 2004-04-13
+Last Revision: 2009-05-15
INSTALL
-------
- This document provides a description of the MLT project installation and
- organisation.
+ This document provides a description of the MLT Melted project installation
+ and organisation.
Directories
The directory heirarchy is defined as follows:
- + demo - A selection of samples to show off capabilities.
+ docs - Location of all documentation
+ src - All project source is provided here
- + framework - The mlt media framework
+ + melted - The server implementation (*)
+ + mvcp - Client API to access the server
+ + mvcp-console - A simple console (protocol level) example (*)
+ + mvcp-client - A terminal-based example client (*)
+ modules - All services are defined here
- + avformat - libavformat dependent services
- + bluefish - Bluefish dependent services (*)
- + core - Independent MLT services
- + dv - libdv dependent services
- + fezzik - A giant (meta) service to load and normalise media
- + gtk2 - pango and pixbuf dependent services
- + mainconcept - mainconcept dependent services (*)
- + normalize - audio normalisation functions (**)
- + plus - throwaway silliness
- + resample - libresample dependent services (**)
- + sdl - SDL dependent services
- + vorbis - vorbis dependenent services
- + westley - Nice and clever XML services
- + xine - Xine-derived sources (**)
- + albino - A simple console (protocol level) example (**)
- + inigo - A media playing test application (**)
- + humperdink - A terminal-based example client
- + miracle - The server implementation (**)
- + tests - Reserved for regression and unit tests
- + valerie - Client API to access the server (**)
+ + mvcp - MVCP consumer
+ + melted++ - C++ classes for melted and mvcp
Additional subdirectories may be nested below those shown and should be
documented in their parent.
- (*) Not posted to CVS due to licensing issues.
- (**) Contains GPL dependencies or code.
+ (*) Contains GPL dependencies or code.
Dependencies
------------
- The MLT core is dependent on:
+ Melted is dependent on:
+ * The MLT framework library
* a C99 compliant C compiler
* posix threading
* standard posix libraries
- The MLT applications and libraries provided are all dependent on the core.
-
- The modules have the following dependencies:
-
- ----------- ----------------------------------------------------------
- MODULE DESCRIPTION
- ----------- ----------------------------------------------------------
- avformat Provided from ffmpeg CVS and compiled as a shared library.
- URL: http://ffmpeg.sf.net
- ----------- ----------------------------------------------------------
- bluefish Bluefish hardware and software development kit
- URL: http://www.bluefish444.com
- ----------- ----------------------------------------------------------
- dv libdv 0.102 or later.
- URL: http://libdv.sf.net
- ----------- ----------------------------------------------------------
- gtk2 GTK2 and associated dependencies.
- URL: http://www.gtk.org
- ----------- ----------------------------------------------------------
- mainconcept Mainconcept MPEG and DVCPRO Release SDKs.
- URL: http://www.mainconcept.com
- ----------- ----------------------------------------------------------
- resample libsamplerate 0.15 or later
- URL: http://www.mega-nerd.com/SRC/ (GPL)
- ----------- ----------------------------------------------------------
- sdl SDL 1.2 or later.
- URL: http://www.libsdl.org
- ----------- ----------------------------------------------------------
- vorbis libvorbis 1.0.1 or later.
- URL: http://www.vorbis.com/
- ----------- ----------------------------------------------------------
- westley libxml2 2.5 or later.
- URL: http://www.xmlsoft.org/
- ----------- ----------------------------------------------------------
-
Configuration
-------------
a per directory template which must be provided by the developer.
-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
-
- NB: This applies to your current shell only and it assumes sh or bash.
-
-
Installation
------------
The install is triggered by running make install 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.
-
- Valerie produces a single shared object which is installed in
+ Mvcp produces a single shared object which is installed in
$prefix/lib/ and public header which are installed in
- $prefix/include/mlt/valerie.
+ $prefix/include/mlt/mvcp.
- Miracle produces a single exectuable which is installed in
+ Melted produces a single exectuable which is installed in
$prefix/bin/, a library in $prefix/lib and associated header files in
- $prefix/include.
+ $prefix/include/mlt/melted.
- 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/modules. It is at the discretion of the module to
- install additional support files.
+ The modules produce a shared object per module. These are installed
+ in $prefix/lib/mlt/modules. It is at the discretion of the module to
+ install additional support files in $prefix/share/mlt.
- To allow the development of external components, mlt-config and scripts
- are generated and installed in $prefix/bin.
+ To allow the development of external components, pkg-config config files
+ are generated and installed in $prefix/lib/pkgconfig.
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/modules, 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 <framework/file.h>
-
- All external modules have {prefix}/include/mlt on the include path. All
- headers should also be included as:
-
- #include <framework/file.h>
-
- This allows migration of source between external and internal modules.
- The configuration and Makefile template requirements will require
- attention though.