--- /dev/null
+libdcp
+======
+
+Hello.
+
+
+Acknowledgements
+================
+
+Wolfgang Woehl's cinemaslides was most informative on the
+nasty details of encryption.
+
+
+Building
+========
+
+ ./waf configure
+ ./waf
+ sudo ./waf install
+
+
+Dependencies
+============
+
+boost filesystem, signals2 and unit testing libraries
+openssl
+libsigc++
+libxml++
+xmlsec
+openjpeg (1.5.0 or above)
+
+
+Documentation
+=============
+
+Run doxygen in the top-level directory and then see build/doc/html/index.html.
+
+There are some examples in the examples/ directory.
return true;
}
+/** Set the file that holds this asset on disk. Calling this function
+ * clears this object's store of its hash, so you should call ::hash
+ * after this.
+ *
+ * @param file New file's path.
+ */
void
Asset::set_file (boost::filesystem::path file) const
{
*/
void write_to_pkl (xmlpp::Node* node, Standard standard) const;
+ /** @return the most recent disk file used to read or write this asset; may be empty */
boost::filesystem::path file () const {
return _file;
}
*/
+/** @file src/local_time.cc
+ * @brief LocalTime class.
+ */
+
#include "local_time.h"
#include "exceptions.h"
#include <boost/lexical_cast.hpp>
using boost::lexical_cast;
using namespace dcp;
+/** Construct a LocalTime from the current time */
LocalTime::LocalTime ()
{
time_t now = time (0);
set_local_time_zone ();
}
+/** Construct a LocalTime from a boost::posix_time::ptime using the local
+ * time zone.
+ */
LocalTime::LocalTime (boost::posix_time::ptime t)
{
_year = t.date().year ();
set_local_time_zone ();
}
+/** Set our UTC offset to be according to the local time zone */
void
LocalTime::set_local_time_zone ()
{
}
}
+/** @return A string of the form 2013-01-05T18:06:59+04:00 */
string
LocalTime::as_string () const
{
return buffer;
}
+/** @return The date in the form YYYY-MM-DD */
string
LocalTime::date () const
{
return buffer;
}
+/** @return The time in the form HH:MM:SS */
string
LocalTime::time_of_day () const
{
*/
+/** @file src/local_time.h
+ * @brief LocalTime class.
+ */
+
#ifndef LIBDCP_LOCAL_TIME_H
#define LIBDCP_LOCAL_TIME_H
namespace dcp {
-/** I tried to use boost for this, really I did, but I could not get it
+/** @class LocalTime
+ * @brief A representation of a local time (down to the second), including its offset
+ * from GMT.
+ *
+ * I tried to use boost for this, really I did, but I could not get it
* to parse strings of the required format (those that include time zones).
*/
class LocalTime
int _minute; ///< minute number of the hour (0-59)
int _second; ///< second number of the minute (0-59)
- /* Amount by which this time is offset from UTC */
- int _tz_hour;
- int _tz_minute;
+ int _tz_hour; ///< hours by which this time is offset from UTC
+ int _tz_minute; ///< minutes by which this time is offset from UTC
};
}
*/
+/** @file src/modified_gamma_transfer_function.h
+ * @brief ModifiedGammaTransferFunction class.
+ */
+
#include "transfer_function.h"
namespace dcp {
/*
- Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
+/** @file src/reel_mxf_asset.h
+ * @brief ReelMXFAsset
+ */
+
#ifndef LIBDCP_REEL_MXF_ASSET_H
#define LIBDCP_REEL_MXF_ASSET_H
namespace dcp {
-class MXF;
+class MXF;
+/** @class ReelMXFAsset
+ * @brief Part of a Reel's description which refers to an MXF.
+ */
class ReelMXFAsset : public ReelAsset
{
public:
virtual void write_to_cpl (xmlpp::Node* node, Standard standard) const;
virtual bool equals (boost::shared_ptr<const ReelAsset>, EqualityOptions, NoteHandler) const;
+ /** @return the PictureMXF that this object refers to */
boost::shared_ptr<PictureMXF> mxf () {
return boost::dynamic_pointer_cast<PictureMXF> (_content.object ());
}
+ /** @return picture frame rate */
Fraction frame_rate () const {
return _frame_rate;
}
+ /** Set the ScreenAspectRatio of this asset.
+ * @param a New aspect ratio.
+ */
void set_screen_aspect_ratio (Fraction a) {
_screen_aspect_ratio = a;
}
ReelSoundAsset (boost::shared_ptr<dcp::SoundMXF> content, int64_t entry_point);
ReelSoundAsset (boost::shared_ptr<const cxml::Node>);
+ /** @return the SoundMXF that this object refers to */
boost::shared_ptr<SoundMXF> mxf () {
return boost::dynamic_pointer_cast<SoundMXF> (_content.object ());
}
+ /** @return the SoundMXF that this object refers to */
boost::shared_ptr<const SoundMXF> mxf () const {
return boost::dynamic_pointer_cast<const SoundMXF> (_content.object ());
}