1# The OpenShot Audio Library
2
3## Detailed instructions for your Operating System
4Build instructions are available for all three major Operating Systems:
5* [Building libopenshot for Windows](doc/INSTALL-WINDOWS.md)
6* [Building libopenshot for MacOS](doc/INSTALL-MAC.md)
7* [Building libopenshot for Linux](doc/INSTALL-LINUX.md)
8
9## Getting Started
10
11The best way to get started with libopenshot-audio, is to learn about our build system, obtain all the source code,
12install a development IDE and tools, and better understand our dependencies. So, please read through the
13following sections, and follow the instructions. And keep in mind, that your computer is likely different
14than the one used when writing these instructions. Your file paths and versions of applications might be
15slightly different, so keep an eye out for subtle file path differences in the commands you type.
16
17## Build Tools
18
19CMake is the backbone of our build system.  It is a cross-platform build system, which checks for dependencies,
20locates header files and libraries, generates makefiles, and supports the cross-platform compiling of
21libopenshot and libopenshot-audio.  CMake uses an out-of-source build concept, where all temporary build
22files, such as makefiles, object files, and even the final binaries, are created outside of the source
23code folder, inside a `/build/` sub-folder.  This prevents the build process from cluttering up the source
24code.  These instructions have only been tested with the GNU compiler (including MSYS2/MinGW for Windows).
25
26## Dependencies
27
28The following libraries are required to build libopenshot-audio.  Instructions on how to install these
29dependencies vary for each operating system.  Libraries and Executables have been labeled in the
30list below to help distinguish between them.
31
32### CMake (cmake)
33  * http://www.cmake.org/ `(Executable)`
34  * This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshot-audio’s cross-platform build process.
35
36### Doxygen (doxygen)
37  * http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
38  * This executable is used to auto-generate the documentation used by libopenshot-audio.
39
40### OpenMP (-fopenmp)
41  * http://openmp.org/wp/ `(Compiler Flag)`
42  * If your compiler supports this flag (GCC, Clang, and most other compilers), it provides libopenshot-audio with easy methods of using parallel programming techniques to improve performance and take advantage of multi-core processors.
43
44## Obtaining Source Code
45
46The first step in installing libopenshot-audio is to obtain the most recent source code. The source code is available on [GitHub](https://github.com/OpenShot/libopenshot-audio). Use the following command to obtain the latest libopenshot-audio source code.
47
48```
49git clone https://github.com/OpenShot/libopenshot-audio.git
50```
51
52## Linux Build Instructions (libopenshot-audio)
53To compile libopenshot-audio, we need to go through a few additional steps to manually build and install it. Launch a terminal and enter:
54
55```
56cd [libopenshot-audio repo folder]
57mkdir build
58cd build
59cmake ../
60make
61make install
62./src/openshot-audio-test-sound  (This should play a test sound)
63```
64
65