diff --git a/app/node/globals.h b/app/node/globals.h index 42d527ed0..be1d11d6f 100644 --- a/app/node/globals.h +++ b/app/node/globals.h @@ -24,6 +24,7 @@ #include #include "common/timerange.h" +#include "render/videoparams.h" namespace olive { @@ -32,46 +33,19 @@ class NodeGlobals public: NodeGlobals(){} - NodeGlobals(const QVector2D &resolution, const rational &pixel_aspect, const TimeRange &time) : - resolution_(resolution), - pixel_aspect_(pixel_aspect), + NodeGlobals(const VideoParams &vparam, const TimeRange &time) : + video_params_(vparam), time_(time) { - resolution_by_par_ = QVector2D(resolution_.x() * pixel_aspect_.toDouble(), resolution_.y()); } - const QVector2D &resolution() const - { - return resolution_; - } - - const QVector2D &resolution_by_par() const - { - return resolution_by_par_; - } - - const rational &pixel_aspect() const - { - return pixel_aspect_; - } - - const TimeRange &time() const - { - return time_; - } - - void set_time(const TimeRange &time) - { - time_ = time; - } + QVector2D resolution() const { return video_params_.resolution(); } + QVector2D resolution_by_par() const { return video_params_.square_resolution(); } + const VideoParams &video_params() const { return video_params_; } + const TimeRange &time() const { return time_; } private: - QVector2D resolution_; - - rational pixel_aspect_; - - QVector2D resolution_by_par_; - + VideoParams video_params_; TimeRange time_; }; diff --git a/app/node/traverser.cpp b/app/node/traverser.cpp index 3c8053e10..6b1dae1cf 100644 --- a/app/node/traverser.cpp +++ b/app/node/traverser.cpp @@ -171,7 +171,7 @@ void NodeTraverser::Transform(QTransform *transform, const Node *start, const No NodeGlobals NodeTraverser::GenerateGlobals(const VideoParams ¶ms, const TimeRange &time) { - return NodeGlobals(QVector2D(params.width(), params.height()), params.pixel_aspect_ratio(), time); + return NodeGlobals(params, time); } int NodeTraverser::GetChannelCountFromJob(const GenerateJob &job) diff --git a/app/render/videoparams.h b/app/render/videoparams.h index 1a75d2bed..e7cbcb883 100644 --- a/app/render/videoparams.h +++ b/app/render/videoparams.h @@ -107,6 +107,16 @@ public: return par_width_; } + QVector2D resolution() const + { + return QVector2D(width_, height_); + } + + QVector2D square_resolution() const + { + return QVector2D(par_width_, height_); + } + int height() const { return height_;