Skip to content

Commit 7319201

Browse files
committed
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.
1 parent 5292661 commit 7319201

File tree

4 files changed

+75
-67
lines changed

4 files changed

+75
-67
lines changed

Doxyfile.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -804,7 +804,9 @@ WARN_LOGFILE =
804804
# Note: If this tag is empty the current directory is searched.
805805

806806
INPUT = "@CMAKE_CURRENT_SOURCE_DIR@/include" \
807-
"@CMAKE_CURRENT_SOURCE_DIR@/src"
807+
"@CMAKE_CURRENT_SOURCE_DIR@/src" \
808+
"@CMAKE_CURRENT_SOURCE_DIR@/doc"
809+
808810

809811
# This tag can be used to specify the character encoding of the source files
810812
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses

doc/INSTALL-LINUX.md

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# Building libopenshot for Linux
2+
13
## Getting Started
24

35
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
2224
dependencies vary for each operating system. Libraries and Executables have been labeled in the
2325
list below to help distinguish between them.
2426

25-
* ### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
27+
### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
2628
* http://www.ffmpeg.org/ `(Library)`
2729
* 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.
2830

29-
* ### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
31+
### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
3032
* http://www.imagemagick.org/script/magick++.php `(Library)`
3133
* This library is **optional**, and used to decode and encode images.
3234

33-
* ### OpenShot Audio Library (libopenshot-audio)
35+
### OpenShot Audio Library (libopenshot-audio)
3436
* https://github.com/OpenShot/libopenshot-audio/ `(Library)`
3537
* 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
3638

37-
* ### Qt 5 (libqt5)
39+
### Qt 5 (libqt5)
3840
* http://www.qt.io/qt5/ `(Library)`
3941
* 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...
4042

41-
* ### CMake (cmake)
43+
### CMake (cmake)
4244
* http://www.cmake.org/ `(Executable)`
4345
* This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshot’s cross-platform build process.
4446

45-
* ### SWIG (swig)
47+
### SWIG (swig)
4648
* http://www.swig.org/ `(Executable)`
4749
* 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.
4850

49-
* ### Python 3 (libpython)
51+
### Python 3 (libpython)
5052
* http://www.python.org/ `(Executable and Library)`
5153
* 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).
5254

53-
* ### Doxygen (doxygen)
55+
### Doxygen (doxygen)
5456
* http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
5557
* This executable is used to auto-generate the documentation used by libopenshot.
5658

57-
* ### UnitTest++ (libunittest++)
59+
### UnitTest++ (libunittest++)
5860
* https://github.com/unittest-cpp/ `(Library)`
5961
* 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.
6062

61-
* ### ZeroMQ (libzmq)
63+
### ZeroMQ (libzmq)
6264
* http://zeromq.org/ `(Library)`
6365
* This library is used to communicate between libopenshot and other applications (publisher / subscriber). Primarily used to send debug data from libopenshot.
6466

65-
* ### OpenMP (-fopenmp)
67+
### OpenMP (-fopenmp)
6668
* http://openmp.org/wp/ `(Compiler Flag)`
6769
* 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.
6870

@@ -99,25 +101,25 @@ git clone https://github.com/OpenShot/libopenshot-audio.git
99101

100102
The source code is divided up into the following folders.
101103

102-
* ### build/
104+
### build/
103105
* 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).
104106

105-
* ### cmake/
107+
### cmake/
106108
* 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.
107109

108-
* ### doc/
110+
### doc/
109111
* This folder contains documentation and related files, such as logos and images required by the doxygen auto-generated documentation.
110112

111-
* ### include/
113+
### include/
112114
* This folder contains all headers (*.h) used by libopenshot.
113115

114-
* ### src/
116+
### src/
115117
* This folder contains all source code (*.cpp) used by libopenshot.
116118

117-
* ### tests/
119+
### tests/
118120
* This folder contains all unit test code. Each class has it’s own test file (*.cpp), and uses UnitTest++ macros to keep the test code simple and manageable.
119121

120-
* ### thirdparty/
122+
### thirdparty/
121123
* This folder contains code not written by the OpenShot team. For example, jsoncpp, an open-source JSON parser.
122124

123125
## Install Dependencies

doc/INSTALL-MAC.md

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# Building libopenshot for MacOS
2+
13
## Getting Started
24

35
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
2224
dependencies vary for each operating system. Libraries and Executables have been labeled in the
2325
list below to help distinguish between them.
2426

25-
* ### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
27+
### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
2628
* http://www.ffmpeg.org/ `(Library)`
2729
* 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.
2830

29-
* ### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
31+
### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
3032
* http://www.imagemagick.org/script/magick++.php `(Library)`
3133
* This library is **optional**, and used to decode and encode images.
3234

33-
* ### OpenShot Audio Library (libopenshot-audio)
35+
### OpenShot Audio Library (libopenshot-audio)
3436
* https://github.com/OpenShot/libopenshot-audio/ `(Library)`
3537
* 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
3638

37-
* ### Qt 5 (libqt5)
39+
### Qt 5 (libqt5)
3840
* http://www.qt.io/qt5/ `(Library)`
3941
* 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...
4042

41-
* ### CMake (cmake)
43+
### CMake (cmake)
4244
* http://www.cmake.org/ `(Executable)`
4345
* This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshot’s cross-platform build process.
4446

45-
* ### SWIG (swig)
47+
### SWIG (swig)
4648
* http://www.swig.org/ `(Executable)`
4749
* 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.
4850

49-
* ### Python 3 (libpython)
51+
### Python 3 (libpython)
5052
* http://www.python.org/ `(Executable and Library)`
5153
* 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).
5254

53-
* ### Doxygen (doxygen)
55+
### Doxygen (doxygen)
5456
* http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
5557
* This executable is used to auto-generate the documentation used by libopenshot.
5658

57-
* ### UnitTest++ (libunittest++)
59+
### UnitTest++ (libunittest++)
5860
* https://github.com/unittest-cpp/ `(Library)`
5961
* 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.
6062

61-
* ### ZeroMQ (libzmq)
63+
### ZeroMQ (libzmq)
6264
* http://zeromq.org/ `(Library)`
6365
* This library is used to communicate between libopenshot and other applications (publisher / subscriber). Primarily used to send debug data from libopenshot.
6466

65-
* ### OpenMP (-fopenmp)
67+
### OpenMP (-fopenmp)
6668
* http://openmp.org/wp/ `(Compiler Flag)`
6769
* 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.
6870

@@ -98,25 +100,25 @@ git clone https://github.com/OpenShot/libopenshot-audio.git
98100

99101
The source code is divided up into the following folders.
100102

101-
* ### build/
103+
### build/
102104
* 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).
103105

104-
* ### cmake/
106+
### cmake/
105107
* 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.
106108

107-
* ### doc/
109+
### doc/
108110
* This folder contains documentation and related files, such as logos and images required by the doxygen auto-generated documentation.
109111

110-
* ### include/
112+
### include/
111113
* This folder contains all headers (*.h) used by libopenshot.
112114

113-
* ### src/
115+
### src/
114116
* This folder contains all source code (*.cpp) used by libopenshot.
115117

116-
* ### tests/
118+
### tests/
117119
* This folder contains all unit test code. Each class has it’s own test file (*.cpp), and uses UnitTest++ macros to keep the test code simple and manageable.
118120

119-
* ### thirdparty/
121+
### thirdparty/
120122
* This folder contains code not written by the OpenShot team. For example, jsoncpp, an open-source JSON parser.
121123

122124
## Install Dependencies

doc/INSTALL-WINDOWS.md

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# Building libopenshot for Windows
2+
13
## Getting Started
24

35
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
2426
install these dependencies vary for each operating system. Libraries and Executables
2527
have been labeled in the list below to help distinguish between them.
2628

27-
* ### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
29+
### FFmpeg (libavformat, libavcodec, libavutil, libavdevice, libavresample, libswscale)
2830
* http://www.ffmpeg.org/ `(Library)`
2931
* 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.
3032

31-
* ### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
33+
### ImageMagick++ (libMagick++, libMagickWand, libMagickCore)
3234
* http://www.imagemagick.org/script/magick++.php `(Library)`
3335
* This library is **optional**, and used to decode and encode images.
3436

35-
* ### OpenShot Audio Library (libopenshot-audio)
37+
### OpenShot Audio Library (libopenshot-audio)
3638
* https://github.com/OpenShot/libopenshot-audio/ `(Library)`
3739
* 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
3840

39-
* ### Qt 5 (libqt5)
41+
### Qt 5 (libqt5)
4042
* http://www.qt.io/qt5/ `(Library)`
4143
* 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...
4244

43-
* ### CMake (cmake)
45+
### CMake (cmake)
4446
* http://www.cmake.org/ `(Executable)`
4547
* This executable is used to automate the generation of Makefiles, check for dependencies, and is the backbone of libopenshot’s cross-platform build process.
4648

47-
* ### SWIG (swig)
49+
### SWIG (swig)
4850
* http://www.swig.org/ `(Executable)`
4951
* 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.
5052

51-
* ### Python 3 (libpython)
53+
### Python 3 (libpython)
5254
* http://www.python.org/ `(Executable and Library)`
5355
* 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).
5456

55-
* ### Doxygen (doxygen)
57+
### Doxygen (doxygen)
5658
* http://www.stack.nl/~dimitri/doxygen/ `(Executable)`
5759
* This executable is used to auto-generate the documentation used by libopenshot.
5860

59-
* ### UnitTest++ (libunittest++)
61+
### UnitTest++ (libunittest++)
6062
* https://github.com/unittest-cpp/ `(Library)`
6163
* 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.
6264

63-
* ### ZeroMQ (libzmq)
65+
### ZeroMQ (libzmq)
6466
* http://zeromq.org/ `(Library)`
6567
* This library is used to communicate between libopenshot and other applications (publisher / subscriber). Primarily used to send debug data from libopenshot.
6668

67-
* ### OpenMP (-fopenmp)
69+
### OpenMP (-fopenmp)
6870
* http://openmp.org/wp/ `(Compiler Flag)`
6971
* 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.
7072

@@ -109,7 +111,7 @@ check each folder path for accuracy, as your paths will likely be different than
109111
* UNITTEST_DIR (`C:\UnitTest++`)
110112
* ZMQDIR (`C:\msys2\usr\local\`)
111113
* PATH (`The following paths are an example`)
112-
* 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\
114+
* `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\`
113115

114116

115117

@@ -130,29 +132,29 @@ git clone https://github.com/OpenShot/libopenshot-audio.git
130132

131133
The source code is divided up into the following folders.
132134

133-
* ### build/
135+
### build/
134136
* This folder needs to be manually created, and is used by cmake to store the temporary
135137
build files, such as makefiles, as well as the final binaries (library and test executables).
136138

137-
* ### cmake/
139+
### cmake/
138140
* This folder contains custom modules not included by default in cmake, used to find
139141
dependency libraries and headers and determine if these libraries are installed.
140142

141-
* ### doc/
143+
### doc/
142144
* This folder contains documentation and related files, such as logos and images
143145
required by the doxygen auto-generated documentation.
144146

145-
* ### include/
147+
### include/
146148
* This folder contains all headers (*.h) used by libopenshot.
147149

148-
* ### src/
150+
### src/
149151
* This folder contains all source code (*.cpp) used by libopenshot.
150152

151-
* ### tests/
153+
### tests/
152154
* This folder contains all unit test code. Each class has it’s own test file (*.cpp), and
153155
uses UnitTest++ macros to keep the test code simple and manageable.
154156

155-
* ### thirdparty/
157+
### thirdparty/
156158
* This folder contains code not written by the OpenShot team. For example, jsoncpp, an
157159
open-source JSON parser.
158160

@@ -240,28 +242,28 @@ mingw32-make install
240242

241243
## Manual Dependencies
242244

243-
* ### DLfcn
245+
### DLfcn
244246
* https://github.com/dlfcn-win32/dlfcn-win32
245-
* Download and Extract the Win32 Static (.tar.bz2) archive to a local folder: C:\libdl\
246-
* 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.
247+
* Download and Extract the Win32 Static (.tar.bz2) archive to a local folder: `C:\libdl\`
248+
* 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.
247249

248-
* ### DirectX SDK / Windows SDK
250+
### DirectX SDK / Windows SDK
249251
* Windows 7: (DirectX SDK) http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812
250252
* Windows 8: (Windows SDK)
251253
* https://msdn.microsoft.com/en-us/windows/desktop/aa904949
252254
* Download and Install the SDK Setup program. This is needed for the JUCE library to play audio on Windows.
253-
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.
255+
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.
254256

255-
* ### libSndFile
257+
### libSndFile
256258
* http://www.mega-nerd.com/libsndfile/#Download
257259
* Download and Install the Win32 Setup program.
258-
* 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.
260+
* 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.
259261

260-
* ### libzmq
262+
### libzmq
261263
* http://zeromq.org/intro:get-the-software
262264
* Download source code (zip)
263265
* Follow their instructions, and build with mingw
264-
* 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.
266+
* 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.
265267

266268
## Windows Build Instructions (libopenshot-audio)
267269
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
314316
mingw32-make install
315317
```
316318

317-
This should copy the binary files to C:\Program Files\openshot\lib\, and the header
318-
files to C:\Program Files\openshot\include\... This is where other projects will
319+
This should copy the binary files to `C:\Program Files\openshot\lib\`, and the header
320+
files to `C:\Program Files\openshot\include\...` This is where other projects will
319321
look for the libopenshot files when building.. Python 3 bindings are also installed
320322
at this point. let's verify the python bindings work:
321323

0 commit comments

Comments
 (0)