*/
#include "audio_content.h"
-#include "analyse_audio_job.h"
-#include "job_manager.h"
#include "film.h"
#include "exceptions.h"
#include "config.h"
#include "frame_rate_change.h"
#include "raw_convert.h"
-#include "playlist.h"
+#include "compose.hpp"
#include <libcxml/cxml.h>
#include <boost/foreach.hpp>
#include "util.h"
#include "film.h"
#include "log.h"
+#include "compose.hpp"
#include <iostream>
#include "i18n.h"
/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-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
*/
#include "cinema.h"
+#include "screen.h"
#include <libcxml/cxml.h>
#include <libxml++/libxml++.h>
{
_screens.remove (s);
}
-
-Screen::Screen (cxml::ConstNodePtr node)
- : name (node->string_child ("Name"))
-{
- if (node->optional_string_child ("Certificate")) {
- certificate = dcp::Certificate (node->string_child ("Certificate"));
- }
-}
-
-void
-Screen::as_xml (xmlpp::Element* parent) const
-{
- parent->add_child("Name")->add_child_text (name);
- if (certificate) {
- parent->add_child("Certificate")->add_child_text (certificate->certificate (true));
- }
-}
-
-
*/
/** @file src/lib/cinema.h
- * @brief Screen and Cinema classes.
+ * @brief Cinema class.
*/
#include <libcxml/cxml.h>
#include <dcp/certificate.h>
#include <boost/enable_shared_from_this.hpp>
-class Cinema;
-
-/** @class Screen
- * @brief A representation of a Screen for KDM generation.
- *
- * This is the name of the screen and the certificate of its
- * server.
- */
-class Screen
-{
-public:
- Screen (std::string const & n, boost::optional<dcp::Certificate> cert)
- : name (n)
- , certificate (cert)
- {}
-
- Screen (cxml::ConstNodePtr);
-
- void as_xml (xmlpp::Element *) const;
-
- boost::shared_ptr<Cinema> cinema;
- std::string name;
- boost::optional<dcp::Certificate> certificate;
-};
+class Screen;
/** @class Cinema
* @brief A description of a Cinema for KDM generation.
#include "film.h"
#include "safe_stringstream.h"
#include "job.h"
+#include "compose.hpp"
#include "raw_convert.h"
#include <libcxml/cxml.h>
#include <libxml++/libxml++.h>
#include "player_video.h"
#include "raw_convert.h"
#include "data.h"
+#include "compose.hpp"
#include <libcxml/cxml.h>
#include <dcp/openjpeg_image.h>
#include <dcp/rgb_xyz.h>
#include <dcp/colour_matrix.h>
-#include <boost/array.hpp>
#include <boost/asio.hpp>
-#include <boost/filesystem.hpp>
-#include <boost/lexical_cast.hpp>
#include <stdint.h>
-#include <cstring>
-#include <cstdlib>
-#include <stdexcept>
-#include <cstdio>
#include <iomanip>
#include <iostream>
-#include <fstream>
-#include <unistd.h>
-#include <errno.h>
#define LOG_GENERAL(...) _log->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
#define LOG_DEBUG_ENCODE(...) _log->log (String::compose (__VA_ARGS__), Log::TYPE_DEBUG_ENCODE);
using std::string;
using std::cout;
using boost::shared_ptr;
-using boost::lexical_cast;
using dcp::Size;
#define DCI_COEFFICENT (48.0 / 52.37)
#include "player.h"
#include "player_video.h"
#include "data.h"
+#include "compose.hpp"
#include <libcxml/cxml.h>
-#include <boost/lambda/lambda.hpp>
#include <boost/foreach.hpp>
#include <iostream>
#define LOG_ERROR(...) _film->log()->log (String::compose (__VA_ARGS__), Log::TYPE_ERROR);
#define LOG_TIMING(...) _film->log()->microsecond_log (String::compose (__VA_ARGS__), Log::TYPE_TIMING);
-using std::pair;
-using std::string;
-using std::vector;
using std::list;
using std::cout;
-using std::min;
-using std::make_pair;
using boost::shared_ptr;
using boost::weak_ptr;
using boost::optional;
-using boost::scoped_array;
int const Encoder::_history_size = 25;
#include "ffmpeg.h"
#include "ffmpeg_content.h"
#include "film.h"
-#include "ffmpeg_audio_stream.h"
-#include "ffmpeg_subtitle_stream.h"
#include "exceptions.h"
#include "util.h"
#include "raw_convert.h"
#include "log.h"
+#include "ffmpeg_subtitle_stream.h"
+#include "compose.hpp"
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include "ffmpeg_content.h"
#include "raw_image_proxy.h"
#include "film.h"
-#include "timer.h"
+#include "compose.hpp"
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
#include <boost/foreach.hpp>
-#include <stdexcept>
#include <vector>
#include <iomanip>
#include <iostream>
#include <stdint.h>
-#include <sndfile.h>
#include "i18n.h"
#define LOG_WARNING(...) _video_content->film()->log()->log (String::compose (__VA_ARGS__), Log::TYPE_WARNING);
using std::cout;
-using std::string;
using std::vector;
using std::list;
using std::min;
using std::pair;
-using std::make_pair;
using std::max;
using boost::shared_ptr;
-using boost::optional;
-using boost::dynamic_pointer_cast;
using dcp::Size;
FFmpegDecoder::FFmpegDecoder (shared_ptr<const FFmpegContent> c, shared_ptr<Log> log)
image_subtitle (period, image, scaled_rect);
}
-
*/
#include "util.h"
-#include "decoder.h"
#include "video_decoder.h"
#include "audio_decoder.h"
#include "subtitle_decoder.h"
#include "ffmpeg.h"
-#include "rect.h"
extern "C" {
#include <libavcodec/avcodec.h>
}
#include <boost/shared_ptr.hpp>
-#include <boost/optional.hpp>
#include <boost/thread/mutex.hpp>
#include <stdint.h>
-#include <vector>
-#include <string>
class Log;
class FilterGraph;
#include "examine_content_job.h"
#include "config.h"
#include "playlist.h"
-#include "player.h"
#include "dcp_content_type.h"
#include "ratio.h"
#include "cross.h"
-#include "cinema.h"
#include "safe_stringstream.h"
#include "environment_info.h"
#include "raw_convert.h"
#include "audio_processor.h"
#include "md5_digester.h"
+#include "compose.hpp"
+#include "screen.h"
#include <libcxml/cxml.h>
#include <dcp/cpl.h>
#include <dcp/certificate_chain.h>
#include <libxml++/libxml++.h>
#include <boost/filesystem.hpp>
#include <boost/algorithm/string.hpp>
-#include <boost/lexical_cast.hpp>
#include <boost/foreach.hpp>
#include <unistd.h>
#include <stdexcept>
#include <iostream>
#include <algorithm>
-#include <fstream>
#include <cstdlib>
#include <iomanip>
#include <set>
#include "i18n.h"
using std::string;
-using std::multimap;
using std::pair;
-using std::map;
using std::vector;
using std::setfill;
using std::min;
using std::max;
using std::make_pair;
-using std::endl;
using std::cout;
using std::list;
using std::set;
using boost::shared_ptr;
using boost::weak_ptr;
using boost::dynamic_pointer_cast;
-using boost::to_upper_copy;
-using boost::ends_with;
-using boost::starts_with;
using boost::optional;
using boost::is_any_of;
-using dcp::Size;
-using dcp::CertificateChain;
#define LOG_GENERAL(...) log()->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
#define LOG_GENERAL_NC(...) log()->log (__VA_ARGS__, Log::TYPE_GENERAL);
shared_ptr<Job> j (new ExamineContentJob (shared_from_this(), c));
_job_connections.push_back (
- j->Finished.connect (bind (&Film::maybe_add_content, this, boost::weak_ptr<Job> (j), boost::weak_ptr<Content> (c)))
+ j->Finished.connect (bind (&Film::maybe_add_content, this, weak_ptr<Job> (j), weak_ptr<Content> (c)))
);
JobManager::instance()->add (j);
}
void
-Film::playlist_content_changed (boost::weak_ptr<Content> c, int p, bool frequent)
+Film::playlist_content_changed (weak_ptr<Content> c, int p, bool frequent)
{
_dirty = true;
* @brief A graph of FFmpeg filters.
*/
+#include "filter_graph.h"
+#include "filter.h"
+#include "exceptions.h"
+#include "image.h"
+#include "ffmpeg_content.h"
+#include "safe_stringstream.h"
+#include "compose.hpp"
extern "C" {
#include <libavfilter/avfiltergraph.h>
#include <libavfilter/buffersrc.h>
#include <libavfilter/buffersink.h>
#include <libavformat/avio.h>
}
-#include "decoder.h"
-#include "filter_graph.h"
-#include "filter.h"
-#include "exceptions.h"
-#include "image.h"
-#include "ffmpeg_content.h"
-#include "safe_stringstream.h"
#include "i18n.h"
#include "util.h"
+struct AVFilterContext;
class Image;
class VideoFilter;
class FFmpegContent;
#include "exceptions.h"
#include "config.h"
#include "cross.h"
+#include "compose.hpp"
#include <dcp/openjpeg_image.h>
#include <dcp/exceptions.h>
#include <Magick++.h>
*/
-/** @file src/job.cc
+/** @file src/job.cc
* @brief A parent class to represent long-running tasks which are run in their own thread.
*/
-#include <boost/thread.hpp>
-#include <boost/filesystem.hpp>
-#include <dcp/exceptions.h>
#include "job.h"
#include "util.h"
#include "cross.h"
#include "exceptions.h"
#include "film.h"
#include "log.h"
+#include "compose.hpp"
+#include <dcp/exceptions.h>
+#include <boost/thread.hpp>
+#include <boost/filesystem.hpp>
#include "i18n.h"
/*
- Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2013-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
*/
-#include <list>
-#include <boost/shared_ptr.hpp>
-#include <zip.h>
-#include <dcp/encrypted_kdm.h>
-#include <dcp/types.h>
#include "kdm.h"
#include "cinema.h"
+#include "screen.h"
#include "exceptions.h"
#include "util.h"
#include "film.h"
#include "config.h"
#include "safe_stringstream.h"
#include "quickmail.h"
+#include "compose.hpp"
+#include <zip.h>
+#include <dcp/encrypted_kdm.h>
+#include <dcp/types.h>
+#include <boost/shared_ptr.hpp>
+#include <list>
using std::list;
using std::string;
*/
+#include <dcp/local_time.h>
+#include <dcp/types.h>
#include <boost/date_time.hpp>
#include <boost/filesystem.hpp>
dcp::LocalTime to,
dcp::Formulation formulation
);
-
--- /dev/null
+/*
+ Copyright (C) 2013-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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "screen.h"
+#include <libxml++/libxml++.h>
+
+Screen::Screen (cxml::ConstNodePtr node)
+ : name (node->string_child ("Name"))
+{
+ if (node->optional_string_child ("Certificate")) {
+ certificate = dcp::Certificate (node->string_child ("Certificate"));
+ }
+}
+
+void
+Screen::as_xml (xmlpp::Element* parent) const
+{
+ parent->add_child("Name")->add_child_text (name);
+ if (certificate) {
+ parent->add_child("Certificate")->add_child_text (certificate->certificate (true));
+ }
+}
--- /dev/null
+/*
+ Copyright (C) 2013-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
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include <dcp/certificate.h>
+#include <libcxml/cxml.h>
+#include <boost/optional.hpp>
+#include <string>
+
+class Cinema;
+
+/** @class Screen
+ * @brief A representation of a Screen for KDM generation.
+ *
+ * This is the name of the screen and the certificate of its
+ * server.
+ */
+class Screen
+{
+public:
+ Screen (std::string const & n, boost::optional<dcp::Certificate> cert)
+ : name (n)
+ , certificate (cert)
+ {}
+
+ Screen (cxml::ConstNodePtr);
+
+ void as_xml (xmlpp::Element *) const;
+
+ boost::shared_ptr<Cinema> cinema;
+ std::string name;
+ boost::optional<dcp::Certificate> certificate;
+};
/*
- 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
#include "data.h"
#include "safe_stringstream.h"
#include "raw_convert.h"
+#include "compose.hpp"
#include <libcxml/cxml.h>
#include <boost/algorithm/string.hpp>
#include <boost/scoped_array.hpp>
#define LOG_ERROR_NC(...) _log->log (__VA_ARGS__, Log::TYPE_ERROR);
using std::string;
-using std::multimap;
using std::vector;
using std::list;
using std::cout;
using std::cerr;
-using std::setprecision;
using std::fixed;
using boost::shared_ptr;
-using boost::algorithm::is_any_of;
-using boost::algorithm::split;
using boost::thread;
using boost::bind;
using boost::scoped_array;
start_accept ();
}
-
* @brief A job which transcodes from one format to another.
*/
-#include <iostream>
-#include <iomanip>
#include "transcode_job.h"
#include "film.h"
#include "transcoder.h"
#include "log.h"
#include "safe_stringstream.h"
+#include "compose.hpp"
+#include <iostream>
+#include <iomanip>
#include "i18n.h"
#include "md5_digester.h"
#include "audio_processor.h"
#include "safe_stringstream.h"
+#include "compose.hpp"
#include <dcp/util.h>
#include <dcp/picture_asset.h>
#include <dcp/sound_asset.h>
#include <dcp/subtitle_asset.h>
+extern "C" {
+#include <libavfilter/avfilter.h>
+}
#include <curl/curl.h>
#include <glib.h>
#include <pangomm/init.h>
#include <boost/algorithm/string.hpp>
-#include <boost/bind.hpp>
-#include <boost/lambda/lambda.hpp>
#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
#ifdef DCPOMATIC_WINDOWS
#ifndef DCPOMATIC_UTIL_H
#define DCPOMATIC_UTIL_H
-#include "compose.hpp"
#include "types.h"
-#include "exceptions.h"
#include "dcpomatic_time.h"
#include <dcp/util.h>
-#include <dcp/picture_asset_writer.h>
extern "C" {
#include <libavcodec/avcodec.h>
-#include <libavfilter/avfilter.h>
}
#include <boost/shared_ptr.hpp>
#include <boost/optional.hpp>
#include "video_decoder.h"
#include "image.h"
-#include "image_proxy.h"
-#include "raw_image_proxy.h"
#include "raw_image_proxy.h"
#include "film.h"
#include "log.h"
+#include "compose.hpp"
#include "i18n.h"
}
/* Fill with black... */
- boost::shared_ptr<const ImageProxy> filler_image (new RawImageProxy (_black_image));
+ shared_ptr<const ImageProxy> filler_image (new RawImageProxy (_black_image));
Part filler_part = PART_WHOLE;
/* ...unless there's some video we can fill with */
}
/* Fill with black... */
- boost::shared_ptr<const ImageProxy> filler_left_image (new RawImageProxy (_black_image));
- boost::shared_ptr<const ImageProxy> filler_right_image (new RawImageProxy (_black_image));
+ shared_ptr<const ImageProxy> filler_left_image (new RawImageProxy (_black_image));
+ shared_ptr<const ImageProxy> filler_right_image (new RawImageProxy (_black_image));
Part filler_left_part = PART_WHOLE;
Part filler_right_part = PART_WHOLE;
and the things we are about to push.
*/
- boost::optional<Frame> from;
- boost::optional<Frame> to;
+ optional<Frame> from;
+ optional<Frame> to;
if (_decoded_video.empty() && _last_seek_time && _last_seek_accurate) {
from = _last_seek_time->frames_round (_video_content->video_frame_rate ());
safe_stringstream.cc
scoped_temporary.cc
scp_uploader.cc
+ screen.cc
send_kdm_email_job.cc
send_problem_report_job.cc
server.cc
#include "lib/update.h"
#include "lib/cross.h"
#include "lib/content_factory.h"
+#include "lib/compose.hpp"
#include "wx/film_viewer.h"
#include "wx/film_editor.h"
#include "wx/job_manager_view.h"
#include "audio_plot.h"
#include "lib/audio_decoder.h"
#include "lib/audio_analysis.h"
+#include "lib/compose.hpp"
#include "wx/wx_util.h"
#include <wx/graphics.h>
#include <boost/bind.hpp>
* @brief Class generating a GTK widget to show the progress of jobs.
*/
+#include "job_manager_view.h"
+#include "wx_util.h"
#include "lib/job_manager.h"
#include "lib/job.h"
#include "lib/util.h"
#include "lib/exceptions.h"
-#include "job_manager_view.h"
-#include "wx_util.h"
+#include "lib/compose.hpp"
using std::string;
using std::list;
* @brief Class which is a wxPanel for showing the progress of jobs.
*/
-#include <string>
-#include <boost/shared_ptr.hpp>
#include <wx/wx.h>
+#include <boost/shared_ptr.hpp>
+#include <string>
+#include <list>
class Job;
class JobRecord;
#include "lib/cinema.h"
#include "lib/config.h"
#include "lib/film.h"
+#include "lib/screen.h"
#include <libcxml/cxml.h>
#ifdef DCPOMATIC_USE_OWN_DIR_PICKER
#include "dir_picker_ctrl.h"