diff --git a/dialogs/newsequencedialog.cpp b/dialogs/newsequencedialog.cpp index 225a1c840..d40297249 100644 --- a/dialogs/newsequencedialog.cpp +++ b/dialogs/newsequencedialog.cpp @@ -41,6 +41,10 @@ #include "rendering/audio.h" #include "global/config.h" +// FIXME: TEST CODE +#include "nodes/nodes/nodemedia.h" +// END TEST CODE + extern "C" { #include } @@ -107,6 +111,10 @@ void NewSequenceDialog::accept() { s->set_audio_frequency(audio_frequency_combobox->currentData().toInt()); s->set_audio_layout(AV_CH_LAYOUT_STEREO); + // FIXME: TEST CODE + new NodeMedia(s.get()); + // END TEST CODE + ComboAction* ca = new ComboAction(); olive::project_model.CreateSequence(ca, s, true, nullptr); olive::undo_stack.push(ca); diff --git a/panels/timeline.cpp b/panels/timeline.cpp index 5af3267d3..5656fb9be 100644 --- a/panels/timeline.cpp +++ b/panels/timeline.cpp @@ -221,7 +221,16 @@ void Timeline::SetSequence(SequencePtr sequence) return; } + if (sequence_ != nullptr) { + sequence_->SetGLContext(nullptr); + } + sequence_ = sequence; + + if (sequence_ != nullptr) { + sequence_->SetGLContext(QOpenGLContext::globalShareContext()); + } + update_sequence(); video_area->SetTrackType(sequence_.get(), olive::kTypeVideo); audio_area->SetTrackType(sequence_.get(), olive::kTypeAudio); diff --git a/timeline/sequence.cpp b/timeline/sequence.cpp index 77b885e40..71b68e132 100644 --- a/timeline/sequence.cpp +++ b/timeline/sequence.cpp @@ -42,8 +42,8 @@ Sequence::Sequence() : SequencePtr Sequence::copy() { SequencePtr s = std::make_shared(); s->name_ = tr("%1 (copy)").arg(name_); - s->width_ = width_; - s->height_ = height_; + s->set_width(width()); + s->set_height(height()); s->frame_rate_ = frame_rate_; s->audio_frequency_ = audio_frequency_; s->audio_layout_ = audio_layout_; @@ -72,8 +72,8 @@ void Sequence::Save(QXmlStreamWriter &stream) stream.writeStartElement("sequence"); stream.writeAttribute("id", QString::number(save_id)); stream.writeAttribute("name", name_); - stream.writeAttribute("width", QString::number(width_)); - stream.writeAttribute("height", QString::number(height_)); + stream.writeAttribute("width", QString::number(width())); + stream.writeAttribute("height", QString::number(height())); stream.writeAttribute("framerate", QString::number(frame_rate_, 'f', 10)); stream.writeAttribute("afreq", QString::number(audio_frequency_)); stream.writeAttribute("alayout", QString::number(audio_layout_)); @@ -108,29 +108,7 @@ const QString &Sequence::name() void Sequence::set_name(const QString &s) { name_ = s; - emit SequenceParametersChanged(); -} - -const int &Sequence::width() -{ - return width_; -} - -const int &Sequence::height() -{ - return height_; -} - -void Sequence::set_width(const int& w) -{ - width_ = w; - emit SequenceParametersChanged(); -} - -void Sequence::set_height(const int& h) -{ - height_ = h; - emit SequenceParametersChanged(); + emit ParametersChanged(); } const double &Sequence::frame_rate() @@ -141,7 +119,7 @@ const double &Sequence::frame_rate() void Sequence::set_frame_rate(const double& d) { frame_rate_ = d; - emit SequenceParametersChanged(); + emit ParametersChanged(); } const int &Sequence::audio_frequency() @@ -152,7 +130,7 @@ const int &Sequence::audio_frequency() void Sequence::set_audio_frequency(const int& f) { audio_frequency_ = f; - emit SequenceParametersChanged(); + emit ParametersChanged(); } const int &Sequence::audio_layout() @@ -163,7 +141,7 @@ const int &Sequence::audio_layout() void Sequence::set_audio_layout(const int& l) { audio_layout_ = l; - emit SequenceParametersChanged(); + emit ParametersChanged(); } long Sequence::GetEndFrame() { diff --git a/timeline/sequence.h b/timeline/sequence.h index c4366a059..45b16666c 100644 --- a/timeline/sequence.h +++ b/timeline/sequence.h @@ -41,12 +41,6 @@ public: const QString& name(); void set_name(const QString& s); - const int& width(); - void set_width(const int& w); - - const int& height(); - void set_height(const int& h); - const double& frame_rate(); void set_frame_rate(const double& d); @@ -141,8 +135,7 @@ public: int save_id; QVector markers; -signals: - void SequenceParametersChanged(); + private: Track *AddTrack(olive::TrackType type); @@ -153,8 +146,6 @@ private: bool SplitSelection(ComboAction* ca, QVector selections); QString name_; - int width_; - int height_; double frame_rate_; int audio_frequency_; int audio_layout_;