Doygen: Include doc/*.md in docs

Also include the documentation MarkDown pages in the Doxygen docs.
These will show up as Related Pages in the interface.

* The formatting of `INSTALL-*.md` had to be changed some:
  - Doxygen doesn't support headings in bulleted lists (lines starting
    with `* ###`) -- I'm not even sure that's legal markdown. They were
    changed to just level 3 headings (lines starting with `###`).
  - ALL Windows paths in `INSTALL-WINDOWS.md` were wrapped in backticks,
    to prevent Doxygen parsing them as markup commands.
  - Level 1 headings were added to the top of the three install docs,
    giving them the title "Building libopenshot for ___(OS)___".
    Otherwise all three pages were titled "Getting Started".

* Separately, the table at the top of `HW-ACCEL.md` does not
  translate well to Doxygen. It will need further polishing. But the
  docs are all quite readable now.
This commit is contained in:
FeRD (Frank Dana)
2019-06-12 22:44:05 -04:00
parent 5292661dec
commit 7319201e37
4 changed files with 75 additions and 67 deletions

View File

@@ -804,7 +804,9 @@ WARN_LOGFILE =
# Note: If this tag is empty the current directory is searched.
INPUT = "@CMAKE_CURRENT_SOURCE_DIR@/include" \
"@CMAKE_CURRENT_SOURCE_DIR@/src"
"@CMAKE_CURRENT_SOURCE_DIR@/src" \
"@CMAKE_CURRENT_SOURCE_DIR@/doc"
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses

View File

@@ -1,3 +1,5 @@
# Building libopenshot for Linux
## Getting Started
The best way to get started with libopenshot, is to learn about our build system, obtain all the source code,
@@ -22,47 +24,47 @@ The following libraries are required to build libopenshot. Instructions on how
dependencies vary for each operating system. Libraries and Executables have been labeled in the
list below to help distinguish between them.
* ### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
* http://www.ffmpeg.org/ `(Library)`
* This library is used to decode and encode video, audio, and image files. It is also used to obtain information about media files, such as frame rate, sample rate, aspect ratio, and other common attributes.
* ### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
* http://www.imagemagick.org/script/magick++.php `(Library)`
* This library is **optional**, and used to decode and encode images.
* ### OpenShot Audio Library (libopenshot-audio)
### OpenShot Audio Library (libopenshot-audio)
* https://github.com/OpenShot/libopenshot-audio/ `(Library)`
* This library is used to mix, resample, host plug-ins, and play audio. It is based on the JUCE project, which is an outstanding audio library used by many different applications
* ### Qt 5 (libqt5)
### Qt 5 (libqt5)
* http://www.qt.io/qt5/ `(Library)`
* Qt5 is used to display video, store image data, composite images, apply image effects, and many other utility functions, such as file system manipulation, high resolution timers, etc...
* ### CMake (cmake)
### CMake (cmake)
* http://www.cmake.org/ `(Executable)`
* This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshots cross-platform build process.
* ### SWIG (swig)
### SWIG (swig)
* http://www.swig.org/ `(Executable)`
* This executable is used to generate the Python and Ruby bindings for libopenshot. It is a simple and powerful wrapper for C++ libraries, and supports many languages.
* ### Python 3 (libpython)
### Python 3 (libpython)
* http://www.python.org/ `(Executable and Library)`
* This library is used by swig to create the Python (version 3+) bindings for libopenshot. This is also the official language used by OpenShot Video Editor (a graphical interface to libopenshot).
* ### Doxygen (doxygen)
### Doxygen (doxygen)
* http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
* This executable is used to auto-generate the documentation used by libopenshot.
* ### UnitTest++ (libunittest++)
### UnitTest++ (libunittest++)
* https://github.com/unittest-cpp/ `(Library)`
* This library is used to execute unit tests for libopenshot. It contains many macros used to keep our unit testing code very clean and simple.
* ### ZeroMQ (libzmq)
### ZeroMQ (libzmq)
* http://zeromq.org/ `(Library)`
* This library is used to communicate between libopenshot and other applications (publisher / subscriber). Primarily used to send debug data from libopenshot.
* ### OpenMP (-fopenmp)
### OpenMP (-fopenmp)
* http://openmp.org/wp/ `(Compiler Flag)`
* If your compiler supports this flag (GCC, Clang, and most other compilers), it provides libopenshot with easy methods of using parallel programming techniques to improve performance and take advantage of multi-core processors.
@@ -99,25 +101,25 @@ git clone https://github.com/OpenShot/libopenshot-audio.git
The source code is divided up into the following folders.
* ### build/
### build/
* This folder needs to be manually created, and is used by cmake to store the temporary build files, such as makefiles, as well as the final binaries (library and test executables).
* ### cmake/
### cmake/
* This folder contains custom modules not included by default in cmake, used to find dependency libraries and headers and determine if these libraries are installed.
* ### doc/
### doc/
* This folder contains documentation and related files, such as logos and images required by the doxygen auto-generated documentation.
* ### include/
### include/
* This folder contains all headers (*.h) used by libopenshot.
* ### src/
### src/
* This folder contains all source code (*.cpp) used by libopenshot.
* ### tests/
### tests/
* This folder contains all unit test code. Each class has its own test file (*.cpp), and uses UnitTest++ macros to keep the test code simple and manageable.
* ### thirdparty/
### thirdparty/
* This folder contains code not written by the OpenShot team. For example, jsoncpp, an open-source JSON parser.
## Install Dependencies

View File

@@ -1,3 +1,5 @@
# Building libopenshot for MacOS
## Getting Started
The best way to get started with libopenshot, is to learn about our build system, obtain all the source code,
@@ -22,47 +24,47 @@ The following libraries are required to build libopenshot. Instructions on how
dependencies vary for each operating system. Libraries and Executables have been labeled in the
list below to help distinguish between them.
* ### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
* http://www.ffmpeg.org/ `(Library)`
* This library is used to decode and encode video, audio, and image files. It is also used to obtain information about media files, such as frame rate, sample rate, aspect ratio, and other common attributes.
* ### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
* http://www.imagemagick.org/script/magick++.php `(Library)`
* This library is **optional**, and used to decode and encode images.
* ### OpenShot Audio Library (libopenshot-audio)
### OpenShot Audio Library (libopenshot-audio)
* https://github.com/OpenShot/libopenshot-audio/ `(Library)`
* This library is used to mix, resample, host plug-ins, and play audio. It is based on the JUCE project, which is an outstanding audio library used by many different applications
* ### Qt 5 (libqt5)
### Qt 5 (libqt5)
* http://www.qt.io/qt5/ `(Library)`
* Qt5 is used to display video, store image data, composite images, apply image effects, and many other utility functions, such as file system manipulation, high resolution timers, etc...
* ### CMake (cmake)
### CMake (cmake)
* http://www.cmake.org/ `(Executable)`
* This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshots cross-platform build process.
* ### SWIG (swig)
### SWIG (swig)
* http://www.swig.org/ `(Executable)`
* This executable is used to generate the Python and Ruby bindings for libopenshot. It is a simple and powerful wrapper for C++ libraries, and supports many languages.
* ### Python 3 (libpython)
### Python 3 (libpython)
* http://www.python.org/ `(Executable and Library)`
* This library is used by swig to create the Python (version 3+) bindings for libopenshot. This is also the official language used by OpenShot Video Editor (a graphical interface to libopenshot).
* ### Doxygen (doxygen)
### Doxygen (doxygen)
* http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
* This executable is used to auto-generate the documentation used by libopenshot.
* ### UnitTest++ (libunittest++)
### UnitTest++ (libunittest++)
* https://github.com/unittest-cpp/ `(Library)`
* This library is used to execute unit tests for libopenshot. It contains many macros used to keep our unit testing code very clean and simple.
* ### ZeroMQ (libzmq)
### ZeroMQ (libzmq)
* http://zeromq.org/ `(Library)`
* This library is used to communicate between libopenshot and other applications (publisher / subscriber). Primarily used to send debug data from libopenshot.
* ### OpenMP (-fopenmp)
### OpenMP (-fopenmp)
* http://openmp.org/wp/ `(Compiler Flag)`
* If your compiler supports this flag (GCC, Clang, and most other compilers), it provides libopenshot with easy methods of using parallel programming techniques to improve performance and take advantage of multi-core processors.
@@ -98,25 +100,25 @@ git clone https://github.com/OpenShot/libopenshot-audio.git
The source code is divided up into the following folders.
* ### build/
### build/
* This folder needs to be manually created, and is used by cmake to store the temporary build files, such as makefiles, as well as the final binaries (library and test executables).
* ### cmake/
### cmake/
* This folder contains custom modules not included by default in cmake, used to find dependency libraries and headers and determine if these libraries are installed.
* ### doc/
### doc/
* This folder contains documentation and related files, such as logos and images required by the doxygen auto-generated documentation.
* ### include/
### include/
* This folder contains all headers (*.h) used by libopenshot.
* ### src/
### src/
* This folder contains all source code (*.cpp) used by libopenshot.
* ### tests/
### tests/
* This folder contains all unit test code. Each class has its own test file (*.cpp), and uses UnitTest++ macros to keep the test code simple and manageable.
* ### thirdparty/
### thirdparty/
* This folder contains code not written by the OpenShot team. For example, jsoncpp, an open-source JSON parser.
## Install Dependencies

View File

@@ -1,3 +1,5 @@
# Building libopenshot for Windows
## Getting Started
The best way to get started with libopenshot, is to learn about our build system, obtain all the
@@ -24,47 +26,47 @@ The following libraries are required to build libopenshot. Instructions on how
install these dependencies vary for each operating system. Libraries and Executables
have been labeled in the list below to help distinguish between them.
* ### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
* http://www.ffmpeg.org/ `(Library)`
* This library is used to decode and encode video, audio, and image files. It is also used to obtain information about media files, such as frame rate, sample rate, aspect ratio, and other common attributes.
* ### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
* http://www.imagemagick.org/script/magick++.php `(Library)`
* This library is **optional**, and used to decode and encode images.
* ### OpenShot Audio Library (libopenshot-audio)
### OpenShot Audio Library (libopenshot-audio)
* https://github.com/OpenShot/libopenshot-audio/ `(Library)`
* This library is used to mix, resample, host plug-ins, and play audio. It is based on the JUCE project, which is an outstanding audio library used by many different applications
* ### Qt 5 (libqt5)
### Qt 5 (libqt5)
* http://www.qt.io/qt5/ `(Library)`
* Qt5 is used to display video, store image data, composite images, apply image effects, and many other utility functions, such as file system manipulation, high resolution timers, etc...
* ### CMake (cmake)
### CMake (cmake)
* http://www.cmake.org/ `(Executable)`
* This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshots cross-platform build process.
* ### SWIG (swig)
### SWIG (swig)
* http://www.swig.org/ `(Executable)`
* This executable is used to generate the Python and Ruby bindings for libopenshot. It is a simple and powerful wrapper for C++ libraries, and supports many languages.
* ### Python 3 (libpython)
### Python 3 (libpython)
* http://www.python.org/ `(Executable and Library)`
* This library is used by swig to create the Python (version 3+) bindings for libopenshot. This is also the official language used by OpenShot Video Editor (a graphical interface to libopenshot).
* ### Doxygen (doxygen)
### Doxygen (doxygen)
* http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
* This executable is used to auto-generate the documentation used by libopenshot.
* ### UnitTest++ (libunittest++)
### UnitTest++ (libunittest++)
* https://github.com/unittest-cpp/ `(Library)`
* This library is used to execute unit tests for libopenshot. It contains many macros used to keep our unit testing code very clean and simple.
* ### ZeroMQ (libzmq)
### ZeroMQ (libzmq)
* http://zeromq.org/ `(Library)`
* This library is used to communicate between libopenshot and other applications (publisher / subscriber). Primarily used to send debug data from libopenshot.
* ### OpenMP (-fopenmp)
### OpenMP (-fopenmp)
* http://openmp.org/wp/ `(Compiler Flag)`
* If your compiler supports this flag (GCC, Clang, and most other compilers), it provides libopenshot with easy methods of using parallel programming techniques to improve performance and take advantage of multi-core processors.
@@ -109,7 +111,7 @@ check each folder path for accuracy, as your paths will likely be different than
* UNITTEST_DIR (`C:\UnitTest++`)
* ZMQDIR (`C:\msys2\usr\local\`)
* PATH (`The following paths are an example`)
* C:\Qt5\bin; C:\Qt5\MinGW\bin\; C:\msys\1.0\local\lib; C:\Program Files\CMake 2.8\bin; C:\UnitTest++\build; C:\libopenshot\build\src; C:\Program Files\doxygen\bin; C:\ffmpeg-git-95f163b-win32-dev\lib; C:\swigwin-2.0.4; C:\Python33; C:\Program Files\Project\lib; C:\msys2\usr\local\
* `C:\Qt5\bin; C:\Qt5\MinGW\bin\; C:\msys\1.0\local\lib; C:\Program Files\CMake 2.8\bin; C:\UnitTest++\build; C:\libopenshot\build\src; C:\Program Files\doxygen\bin; C:\ffmpeg-git-95f163b-win32-dev\lib; C:\swigwin-2.0.4; C:\Python33; C:\Program Files\Project\lib; C:\msys2\usr\local\`
@@ -130,29 +132,29 @@ git clone https://github.com/OpenShot/libopenshot-audio.git
The source code is divided up into the following folders.
* ### build/
### build/
* This folder needs to be manually created, and is used by cmake to store the temporary
build files, such as makefiles, as well as the final binaries (library and test executables).
* ### cmake/
### cmake/
* This folder contains custom modules not included by default in cmake, used to find
dependency libraries and headers and determine if these libraries are installed.
* ### doc/
### doc/
* This folder contains documentation and related files, such as logos and images
required by the doxygen auto-generated documentation.
* ### include/
### include/
* This folder contains all headers (*.h) used by libopenshot.
* ### src/
### src/
* This folder contains all source code (*.cpp) used by libopenshot.
* ### tests/
### tests/
* This folder contains all unit test code. Each class has its own test file (*.cpp), and
uses UnitTest++ macros to keep the test code simple and manageable.
* ### thirdparty/
### thirdparty/
* This folder contains code not written by the OpenShot team. For example, jsoncpp, an
open-source JSON parser.
@@ -240,28 +242,28 @@ mingw32-make install
## Manual Dependencies
* ### DLfcn
### DLfcn
* https://github.com/dlfcn-win32/dlfcn-win32
* Download and Extract the Win32 Static (.tar.bz2) archive to a local folder: C:\libdl\
* Create an environment variable called DL_DIR and set the value to C:\libdl\. This environment variable will be used by CMake to find the binary and header file.
* Download and Extract the Win32 Static (.tar.bz2) archive to a local folder: `C:\libdl\`
* Create an environment variable called DL_DIR and set the value to `C:\libdl\`. This environment variable will be used by CMake to find the binary and header file.
* ### DirectX SDK / Windows SDK
### DirectX SDK / Windows SDK
* Windows 7: (DirectX SDK) http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812
* Windows 8: (Windows SDK)
* https://msdn.microsoft.com/en-us/windows/desktop/aa904949
* Download and Install the SDK Setup program. This is needed for the JUCE library to play audio on Windows.
Create an environment variable called DXSDK_DIR and set the value to C:\Program Files\Microsoft DirectX SDK (June 2010)\ (your path might be different). This environment variable will be used by CMake to find the binaries and header files.
Create an environment variable called DXSDK_DIR and set the value to `C:\Program Files\Microsoft DirectX SDK (June 2010)\` (your path might be different). This environment variable will be used by CMake to find the binaries and header files.
* ### libSndFile
### libSndFile
* http://www.mega-nerd.com/libsndfile/#Download
* Download and Install the Win32 Setup program.
* Create an environment variable called SNDFILE_DIR and set the value to C:\Program Files\libsndfile. This environment variable will be used by CMake to find the binary and header files.
* Create an environment variable called SNDFILE_DIR and set the value to `C:\Program Files\libsndfile`. This environment variable will be used by CMake to find the binary and header files.
* ### libzmq
### libzmq
* http://zeromq.org/intro:get-the-software
* Download source code (zip)
* Follow their instructions, and build with mingw
* Create an environment variable called ZMQDIR and set the value to C:\libzmq\build\ (the location of the compiled version). This environment variable will be used by CMake to find the binary and header files.
* Create an environment variable called ZMQDIR and set the value to `C:\libzmq\build\` (the location of the compiled version). This environment variable will be used by CMake to find the binary and header files.
## Windows Build Instructions (libopenshot-audio)
In order to compile libopenshot-audio, launch a command prompt and enter the following commands. This does not require the MSYS2 prompt, but it should work in both the Windows command prompt and the MSYS2 prompt.
@@ -314,8 +316,8 @@ built, we need to install it (i.e. copy it to the correct folder, so other libra
mingw32-make install
```
This should copy the binary files to C:\Program Files\openshot\lib\, and the header
files to C:\Program Files\openshot\include\... This is where other projects will
This should copy the binary files to `C:\Program Files\openshot\lib\`, and the header
files to `C:\Program Files\openshot\include\...` This is where other projects will
look for the libopenshot files when building.. Python 3 bindings are also installed
at this point. let's verify the python bindings work: