diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-08-22 19:14:33 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-08-22 19:14:33 +0100 |
| commit | 5d9c51436fe44785dec918af133c9f2e09d5d8d0 (patch) | |
| tree | b4a3991d09e04ee98294e41e9d8adf83081fb6a1 | |
| parent | 737c1fa7c4822365c0d548c7a8a3d3f3e8cc32a5 (diff) | |
Use make_dcp example in documentation.
| -rw-r--r-- | Doxyfile | 3 | ||||
| -rw-r--r-- | doc/mainpage.txt | 88 | ||||
| -rw-r--r-- | examples/make_dcp.cc | 21 |
3 files changed, 22 insertions, 90 deletions
@@ -656,6 +656,7 @@ WARN_LOGFILE = # with spaces. INPUT = src \ + examples \ doc/mainpage.txt # This tag can be used to specify the character encoding of the source files @@ -783,7 +784,7 @@ FILTER_SOURCE_PATTERNS = # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. -SOURCE_BROWSER = NO +SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. diff --git a/doc/mainpage.txt b/doc/mainpage.txt index b73e9164..497b6a01 100644 --- a/doc/mainpage.txt +++ b/doc/mainpage.txt @@ -12,96 +12,12 @@ libdcp is distributed under the GNU GPL. Creating DCPs -- -Typical use for creating DCPs might be: -@code -#include <libdcp/dcp.h> -using namespace std; - -libdcp::DCP dcp ("My Film DCP", "My Film", libdcp::DCP::FEATURE, 24, 50000); - -vector<string> j2k_files; -j2k_files.push_back ("1.j2c"); -... -j2k_files.push_back ("50000.j2c"); - -// These images are 1998x1080 pixels (DCI Flat) -dcp.add_picture_asset (j2k_files, 1998, 1080); - -vector<string> wav_files; -wav_files.push_back ("L.wav"); -wav_files.push_back ("R.wav"); -wav_files.push_back ("C.wav"); -wav_files.push_back ("Lfe.wav"); -wav_files.push_back ("Ls.wav"); -wav_files.push_back ("Rs.wav"); -dcp.add_sound_asset (wav_files); - -dcp.write_xml (); - -@endcode - -This will create a DCP at 24 frames per second with 50000 frames, writing -data to a directory "My Film DCP", naming the DCP "My Film" and marking -as a Feature. We then add the picture and sound files (which creates -MXF files inside the DCP directory) and then write the required XML files. - -If you want to report progress for long jobs (add_picture_asset() can -take a long time, in particular, as it must do a lot of disk I/O for -large DCPs), connect to the libdcp::DCP::Progress signal and report its parameter -to the user (it will range between 0 for 0% and 1 for 100%) using something like - -@code -void -report (float p) -{ - cout << "We are " << int (p * 100) << "% done.\n"; -} - -dcp.Progress.connect (sigc::ptr_fun (&report)); -@endcode - -If you can generate content paths algorithmically, you may prefer to do something -like this: - -@code - -string -j2k_path (int frame) -{ - stringstream s; - s << "my_j2ks/" << frame << ".j2c" - return s.str (); -} - -string -wav_path (libdcp::Channel channel) -{ - switch (channel) { - case LEFT: - return "left.wav"; - case RIGHT: - return "right.wav"; - } - - return ""; -} - -... - -// Our images are 1998x1080 (DCI Flat) -dcp.add_picture_asset (sigc::ptr_fun (&j2k_path), 1998, 1080); -// We have two sound channels -dcp.add_sound_asset (sigc::ptr_fun (&wav_path), 2); - -... - -@endcode +An example of DCP creation is given in examples/make_dcp.cc. Reading existing DCPs -- -Alternatively libdcp can be used to read existing DCPs and examine their content. You -might do +Alternatively libdcp can be used to read existing DCPs and examine their content. You might do @code #include <libdcp/dcp.h> diff --git a/examples/make_dcp.cc b/examples/make_dcp.cc index 41026cc2..5b764393 100644 --- a/examples/make_dcp.cc +++ b/examples/make_dcp.cc @@ -17,13 +17,20 @@ */ -/* This example file shows how to make a DCP from some JPEG2000 and WAV files - using libdcp. -*/ +/** @file examples/make_dcp.cc + * @brief Shows how to make a DCP from some JPEG2000 and WAV files. + */ #include <vector> #include <string> #include <sigc++/sigc++.h> + +/* If you are using an installed libdcp, these #includes would need to be changed to +#include <libdcp/dcp.h> +#include <libdcp/picture_asset.h> +... etc. ... +*/ + #include "dcp.h" #include "picture_asset.h" #include "sound_asset.h" @@ -67,6 +74,14 @@ main () /* Now we will create a `sound asset', which is made up of a WAV file for each channel of audio. Here we're using stereo, so we add two WAV files to a vector. + + We could add more files here to use more channels; the file order is: + Left + Right + Centre + LFE (sub) + Left surround + Right surround */ std::vector<std::string> sound_files; sound_files.push_back ("examples/sine_440_-12dB.wav"); |
