Update tools for new source-tree layout
This commit is contained in:
parent
beb73edf55
commit
012567beb5
174
doc/source_tree_layout.txt
Normal file
174
doc/source_tree_layout.txt
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
Ardour Source-Tree layout (July 2017)
|
||||||
|
|
||||||
|
===== LIBRARIES =====
|
||||||
|
A collection of libraries and utility functions. While most are shared
|
||||||
|
libraries, they're pretty much exclusive to Ardour.
|
||||||
|
|
||||||
|
libs/
|
||||||
|
|
||||||
|
**** Independent libs ****
|
||||||
|
|
||||||
|
- fluidsynth
|
||||||
|
Stripped down (library only) and slightly customized version of fluidsynth
|
||||||
|
use tools/update_fluidsynth.sh to update from upstream
|
||||||
|
|
||||||
|
- appleutility
|
||||||
|
Utility Classes, abstraction for CoreAudio and AudioUnits (OSX, macOS)
|
||||||
|
|
||||||
|
- ardouralsautil
|
||||||
|
Utility Class for device-listing (used by the jack and ALSA backends).
|
||||||
|
Device-reservation comandline tool (linked against libdbus), which is
|
||||||
|
also available from https://github.com/x42/alsa_request_device
|
||||||
|
|
||||||
|
- hidapi
|
||||||
|
Unmodified https://github.com/signal11/hidapi for interaction with some
|
||||||
|
control surfaces (Push2, NI Maschine)
|
||||||
|
|
||||||
|
- libltc
|
||||||
|
Unmodified https://github.com/x42/libltc/ for Linear Timecode en/decoding
|
||||||
|
|
||||||
|
- ptformat
|
||||||
|
Unmodified https://github.com/zamaudio/ptformat for loading ProTools sessions
|
||||||
|
|
||||||
|
- vfork
|
||||||
|
A exec-wrapper which redirects file-descriptors to be used with vfork(2)
|
||||||
|
|
||||||
|
- qm-dsp
|
||||||
|
Stripped down version of https://github.com/c4dm/qm-dsp
|
||||||
|
The Queen Mary DSP library is used by VAMP Plugins
|
||||||
|
|
||||||
|
- vamp-plugins
|
||||||
|
VAMP plugins for audio analysis and offline processing (uses qm-dsp)
|
||||||
|
|
||||||
|
- timecode
|
||||||
|
Timecode (FPS) and musical time conversions
|
||||||
|
|
||||||
|
- lua
|
||||||
|
Lua Script interpreter and C++ class abstraction
|
||||||
|
- libs/lua/lua-5.3.3 is unmodified upstream Lua-5.3.3
|
||||||
|
- libs/lua/LuaBridge is a highly customized version of
|
||||||
|
https://github.com/vinniefalco/LuaBridge (C++ bindings)
|
||||||
|
|
||||||
|
- plugins
|
||||||
|
LV2 Plugins included with Ardour. These are currently mostly
|
||||||
|
independent (a-fluidsynth uses libfluidsynth)
|
||||||
|
|
||||||
|
- clearlooks-newer
|
||||||
|
GTK theme engine (used by gtk2_ardour)
|
||||||
|
|
||||||
|
|
||||||
|
**** PBD dependent libs ****
|
||||||
|
|
||||||
|
- pbd
|
||||||
|
Paul B-D's utility classes. This is the basis for all Ardour specifics.
|
||||||
|
It provides basic concepts and OS abstractions.
|
||||||
|
|
||||||
|
- evoral
|
||||||
|
(uses libpbd)
|
||||||
|
Control events, control lists, automation evaluation,
|
||||||
|
parameter descriptions, incl MIDI event abstraction
|
||||||
|
|
||||||
|
- midi++2
|
||||||
|
(uses libpdb, libevoral)
|
||||||
|
Standard MIDI Files I/O
|
||||||
|
|
||||||
|
- backends
|
||||||
|
(uses libpdb, ardouralsautil | appleutility, implements libardour interface)
|
||||||
|
Interaction with Operating System's Audio/MIDI API:
|
||||||
|
ALSA, CoreAudio, JACK, PortAudio/ASIO
|
||||||
|
|
||||||
|
- surfaces
|
||||||
|
(uses libpbd, libevoral, libtimecode, libardour ;; libgtkmm2ext, libcanvas)
|
||||||
|
Control Surfaces, dynamically loaded by libardour on runtime.
|
||||||
|
|
||||||
|
- panners
|
||||||
|
(uses libpdb, implements libardour interface)
|
||||||
|
Pan plugins (stereo-balance, VBAP, etc) are dynamically loaded at runtime.
|
||||||
|
|
||||||
|
- audiographer
|
||||||
|
(uses libpdb)
|
||||||
|
Mini Ardour inside Ardour to export audio-files from sessions.
|
||||||
|
|
||||||
|
- fst
|
||||||
|
(uses libpbd, implements external methods for libardour and gtk2ardour)
|
||||||
|
VST scanner tool and abstraction for Windows-VSTs to be used with
|
||||||
|
wine or actual windows.
|
||||||
|
|
||||||
|
- ardour
|
||||||
|
(uses pretty much all the libs above)
|
||||||
|
This is it. libardour runs Ardour sessions.
|
||||||
|
|
||||||
|
**** UI related libs ****
|
||||||
|
|
||||||
|
- gtkmm2ext
|
||||||
|
(uses libpbd)
|
||||||
|
Utility Library to extend GDK, GTK, and basic abstraction for UIs
|
||||||
|
and event-loops. This library is not limited to the GUI, but also
|
||||||
|
used for other graphical interfaces (e.g. Push2, NI Maschine)
|
||||||
|
|
||||||
|
- canvas
|
||||||
|
(uses libpbd, libgtkmm2ext)
|
||||||
|
Cairo Canvas, provides a slate for scalable drawing and basic layout/packing
|
||||||
|
|
||||||
|
- widgets
|
||||||
|
(uses libpbd, libgtkmm2ext ;; libcanvas utils/colors)
|
||||||
|
Custom GUI widgets
|
||||||
|
|
||||||
|
- waveview
|
||||||
|
(uses libpbd, libgtkmm2ext, canvas, libardour)
|
||||||
|
Threaded waveform rendering
|
||||||
|
|
||||||
|
|
||||||
|
===== RESOURCE FILES =====
|
||||||
|
These are bundled as-is.
|
||||||
|
|
||||||
|
export/
|
||||||
|
Export Presets
|
||||||
|
|
||||||
|
mcp/
|
||||||
|
Mackie control surface device files
|
||||||
|
|
||||||
|
midi_maps/
|
||||||
|
Generic MIDI control surface presets
|
||||||
|
|
||||||
|
osc/
|
||||||
|
Configuration presets for the OSC control surface
|
||||||
|
|
||||||
|
patchfiles/
|
||||||
|
MIDNAM files, MIDI synth descriptions (note-names, CC, PGM names)
|
||||||
|
|
||||||
|
scripts/
|
||||||
|
Lua scripts (files with a leading underscore are not bundled)
|
||||||
|
|
||||||
|
templates/
|
||||||
|
Session templates (currently none)
|
||||||
|
|
||||||
|
|
||||||
|
===== MISC =====
|
||||||
|
doc/
|
||||||
|
Misc developer oriented documentation files and Doxygen
|
||||||
|
|
||||||
|
patches/
|
||||||
|
Some .diff files for the build-stack.
|
||||||
|
|
||||||
|
tools/
|
||||||
|
Various developer tools, most notably packaging scripts
|
||||||
|
|
||||||
|
|
||||||
|
===== Front Ends =====
|
||||||
|
|
||||||
|
gtk2_ardour/
|
||||||
|
The main Ardour GUI
|
||||||
|
|
||||||
|
headless/
|
||||||
|
hardour -- headless Ardour, mostly demo-code how to use
|
||||||
|
Ardour without a GUI.
|
||||||
|
|
||||||
|
session_utils/
|
||||||
|
command-line tools using libardour (e.g. export)
|
||||||
|
|
||||||
|
tools/luadevel/
|
||||||
|
arlua -- commandline interface to libardour
|
||||||
|
|
||||||
|
vst
|
||||||
|
wine application top-level (WindowsVST on Linux)
|
@ -21,8 +21,8 @@ time ./tools/doxy2json/doxy2json -j 4 \
|
|||||||
-D HAVE_X11=1 -D LXVST_64BIT=1 -D LXVST_SUPPORT=1 -D HAVE_TAGLIB=1 -D HAVE_POSIX_MEMALIGN=1 -D HAVE_VAMPSDK=1 -D HAVE_VAMPHOSTSDK=1 -D HAVE_RUBBERBAND=1 -D ENABLE_NLS=1 \
|
-D HAVE_X11=1 -D LXVST_64BIT=1 -D LXVST_SUPPORT=1 -D HAVE_TAGLIB=1 -D HAVE_POSIX_MEMALIGN=1 -D HAVE_VAMPSDK=1 -D HAVE_VAMPHOSTSDK=1 -D HAVE_RUBBERBAND=1 -D ENABLE_NLS=1 \
|
||||||
-D HAVE_CURL=1 -D HAVE_LO=1 -D HAVE_LRDF=1 -D _VAMP_NO_PLUGIN_NAMESPACE=1 \
|
-D HAVE_CURL=1 -D HAVE_LO=1 -D HAVE_LRDF=1 -D _VAMP_NO_PLUGIN_NAMESPACE=1 \
|
||||||
-I libs/ardour -I libs/pbd -I libs/lua -I gtk2_ardour -I libs/timecode -I libs/audiographer -I libs/ptformat -I libs/fst \
|
-I libs/ardour -I libs/pbd -I libs/lua -I gtk2_ardour -I libs/timecode -I libs/audiographer -I libs/ptformat -I libs/fst \
|
||||||
-I libs/ltc -I libs/evoral -I libs/canvas -I libs/gtkmm2ext -I libs/midi++2 -I libs/surfaces/control_protocol -I libs \
|
-I libs/ltc -I libs/evoral -I libs/canvas -I libs/gtkmm2ext -I libs/midi++2 -I libs/surfaces/control_protocol \
|
||||||
-I build/libs/pbd -I build/libs/ardour -I build/gtk2_ardour \
|
-I libs/waveview -I libs/widgets -I libs -I build/libs/pbd -I build/libs/ardour -I build/gtk2_ardour \
|
||||||
`pkg-config --cflags glib-2.0 glibmm-2.4 cairomm-1.0 gtkmm-2.4 libxml-2.0 lilv-0 suil-0 | sed 's/-std=c++11 //;s/-pthread //'` \
|
`pkg-config --cflags glib-2.0 glibmm-2.4 cairomm-1.0 gtkmm-2.4 libxml-2.0 lilv-0 suil-0 | sed 's/-std=c++11 //;s/-pthread //'` \
|
||||||
-X "_" -X "::" -X "sigc" -X "Atk::" -X "Gdk::" -X "Gtk::" -X "Gio::" \
|
-X "_" -X "::" -X "sigc" -X "Atk::" -X "Gdk::" -X "Gtk::" -X "Gio::" \
|
||||||
-X "Glib::" -X "Pango::" -X "luabridge::" \
|
-X "Glib::" -X "Pango::" -X "luabridge::" \
|
||||||
|
@ -492,7 +492,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
OURLIBDIR=$BUILD_ROOT/libs
|
OURLIBDIR=$BUILD_ROOT/libs
|
||||||
OURLIBS=$OURLIBDIR/vamp-sdk:$OURLIBDIR/surfaces/control_protocol:$OURLIBDIR/ardour:$OURLIBDIR/midi++2:$OURLIBDIR/pbd:$OURLIBDIR/rubberband:$OURLIBDIR/soundtouch:$OURLIBDIR/gtkmm2ext:$OURLIBDIR/sigc++2:$OURLIBDIR/glibmm2:$OURLIBDIR/gtkmm2/atk:$OURLIBDIR/gtkmm2/pango:$OURLIBDIR/gtkmm2/gdk:$OURLIBDIR/gtkmm2/gtk:$OURLIBDIR/canvas:$OURLIBDIR/libsndfile:$OURLIBDIR/evoral:$OURLIBDIR/evoral/src/libsmf:$OURLIBDIR/audiographer:$OURLIBDIR/timecode:$OURLIBDIR/taglib:$OURLIBDIR/libltc:$OURLIBDIR/qm-dsp:$OURLIBDIR/ardouralsautil:$OURLIBDIR/ptformat:$BUILD_ROOT/gtk2_ardour
|
OURLIBS=$OURLIBDIR/surfaces/control_protocol:$OURLIBDIR/ardour:$OURLIBDIR/midi++2:$OURLIBDIR/pbd:$OURLIBDIR/gtkmm2ext:$OURLIBDIR/glibmm2:$OURLIBDIR/canvas:$OURLIBDIR/widgets:$OURLIBDIR/waveview:$OURLIBDIR/evoral:$OURLIBDIR/evoral/src/libsmf:$OURLIBDIR/audiographer:$OURLIBDIR/timecode:$OURLIBDIR/libltc:$OURLIBDIR/qm-dsp:$OURLIBDIR/ardouralsautil:$OURLIBDIR/ptformat:$BUILD_ROOT/gtk2_ardour
|
||||||
|
|
||||||
echo $OURLIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
echo $OURLIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
||||||
|
|
||||||
|
@ -137,6 +137,8 @@ cp build/libs/evoral/evoral-*.dll $DESTDIR/bin/
|
|||||||
cp build/libs/ardour/ardour-*.dll $DESTDIR/bin/
|
cp build/libs/ardour/ardour-*.dll $DESTDIR/bin/
|
||||||
cp build/libs/timecode/timecode.dll $DESTDIR/bin/
|
cp build/libs/timecode/timecode.dll $DESTDIR/bin/
|
||||||
cp build/libs/canvas/canvas-*.dll $DESTDIR/bin/
|
cp build/libs/canvas/canvas-*.dll $DESTDIR/bin/
|
||||||
|
cp build/libs/widgets/widgets-*.dll $DESTDIR/bin/
|
||||||
|
cp build/libs/waveview/waveview-*.dll $DESTDIR/bin/
|
||||||
cp build/libs/pbd/pbd-*.dll $DESTDIR/bin/
|
cp build/libs/pbd/pbd-*.dll $DESTDIR/bin/
|
||||||
cp build/libs/ptformat/ptformat-*.dll $DESTDIR/bin/
|
cp build/libs/ptformat/ptformat-*.dll $DESTDIR/bin/
|
||||||
cp build/libs/audiographer/audiographer-*.dll $DESTDIR/bin/
|
cp build/libs/audiographer/audiographer-*.dll $DESTDIR/bin/
|
||||||
|
Loading…
Reference in New Issue
Block a user