1 Installation Documentation
3 Copyright (C) 2004 Ushodaya Enterprises Limited
4 Author: Charles Yates <charles.yates@pandora.be>
5 Last Revision: 2004-04-13
11 This document provides a description of the MLT project installation and
18 The directory heirarchy is defined as follows:
20 + demo - A selection of samples to show off capabilities.
21 + docs - Location of all documentation
22 + src - All project source is provided here
23 + framework - The mlt media framework
24 + modules - All services are defined here
25 + avformat - libavformat dependent services
26 + bluefish - Bluefish dependent services (*)
27 + core - Independent MLT services
28 + dv - libdv dependent services
29 + fezzik - A giant (meta) service to load and normalise media
30 + gtk2 - pango and pixbuf dependent services
31 + mainconcept - mainconcept dependent services (*)
32 + normalize - audio normalisation functions (**)
33 + plus - throwaway silliness
34 + resample - libresample dependent services (**)
35 + sdl - SDL dependent services
36 + vorbis - vorbis dependenent services
37 + westley - Nice and clever XML services
38 + xine - Xine-derived sources (**)
39 + albino - A simple console (protocol level) example (**)
40 + inigo - A media playing test application (**)
41 + humperdink - A terminal-based example client
42 + miracle - The server implementation (**)
43 + tests - Reserved for regression and unit tests
44 + valerie - Client API to access the server (**)
46 Additional subdirectories may be nested below those shown and should be
47 documented in their parent.
49 (*) Not posted to CVS due to licensing issues.
50 (**) Contains GPL dependencies or code.
56 The MLT core is dependent on:
58 * a C99 compliant C compiler
60 * standard posix libraries
62 The MLT applications and libraries provided are all dependent on the core.
64 The modules have the following dependencies:
66 ----------- ----------------------------------------------------------
68 ----------- ----------------------------------------------------------
69 avformat Provided from ffmpeg CVS and compiled as a shared library.
70 URL: http://ffmpeg.sf.net
71 ----------- ----------------------------------------------------------
72 bluefish Bluefish hardware and software development kit
73 URL: http://www.bluefish444.com
74 ----------- ----------------------------------------------------------
75 dv libdv 0.102 or later.
76 URL: http://libdv.sf.net
77 ----------- ----------------------------------------------------------
78 gtk2 GTK2 and associated dependencies.
79 URL: http://www.gtk.org
80 ----------- ----------------------------------------------------------
81 mainconcept Mainconcept MPEG and DVCPRO Release SDKs.
82 URL: http://www.mainconcept.com
83 ----------- ----------------------------------------------------------
84 resample libsamplerate 0.15 or later
85 URL: http://www.mega-nerd.com/SRC/ (GPL)
86 ----------- ----------------------------------------------------------
88 URL: http://www.libsdl.org
89 ----------- ----------------------------------------------------------
90 vorbis libvorbis 1.0.1 or later.
91 URL: http://www.vorbis.com/
92 ----------- ----------------------------------------------------------
93 westley libxml2 2.5 or later.
94 URL: http://www.xmlsoft.org/
95 ----------- ----------------------------------------------------------
101 Configuration is triggered from the top level directory via a
104 Each source bearing subdirectory shown above have their own configure
105 script which are called automatically from the top level.
107 Typically, new modules can be introduced without modification to the
108 configure script and arguments are accepted and passed through to all
111 More information on usage is found by running:
115 NB: This script must be run to register new services after a CVS checkout
116 or subsequent update.
122 Makefiles are generated during configuration and these are based on
123 a per directory template which must be provided by the developer.
129 To execute the mlt tools without installation, or to test a new version
130 on a system with an already installed mlt version, you should run:
134 NB: This applies to your current shell only and it assumes sh or bash.
140 The install is triggered by running make install from the top level
143 The framework produces a single shared object which is installed in
144 $prefix/lib/ and public header files which are installed in
145 $prefix/include/mlt/framework.
147 Valerie produces a single shared object which is installed in
148 $prefix/lib/ and public header which are installed in
149 $prefix/include/mlt/valerie.
151 Miracle produces a single exectuable which is installed in
152 $prefix/bin/, a library in $prefix/lib and associated header files in
155 The modules produce a shared object per module and update text files
156 containing a list of modules provided by this build. These are installed
157 in $prefix/share/mlt/modules. It is at the discretion of the module to
158 install additional support files.
160 To allow the development of external components, mlt-config and scripts
161 are generated and installed in $prefix/bin.
163 After install, only those modules listed are usable by the server. No
164 module is loaded unless explicitly requested via server configuration
167 External modules are also placed in this $prefix/share/mlt/modules, and the
168 installation of those must modify the text file accordingly before they
169 will be considered at runtime.
175 All compilation in the project has {top-level-dir}/src on the include path.
176 All headers are included as:
178 #include <framework/file.h>
180 All external modules have {prefix}/include/mlt on the include path. All
181 headers should also be included as:
183 #include <framework/file.h>
185 This allows migration of source between external and internal modules.
186 The configuration and Makefile template requirements will require