sequence encapsulation

This commit is contained in:
itsmattkc
2019-05-09 00:19:36 +10:00
parent 5f0debb7ec
commit 2905dce3d9
37 changed files with 380 additions and 293 deletions
+16 -16
View File
@@ -18,14 +18,14 @@ SequencePtr olive::project::CreateSequenceFromMedia(QVector<olive::timeline::Med
{
SequencePtr s = std::make_shared<Sequence>();
s->name = olive::project_model.GetNextSequenceName();
s->set_name(olive::project_model.GetNextSequenceName());
// Retrieve default Sequence settings from Config
s->width = olive::config.default_sequence_width;
s->height = olive::config.default_sequence_height;
s->frame_rate = olive::config.default_sequence_framerate;
s->audio_frequency = olive::config.default_sequence_audio_frequency;
s->audio_layout = olive::config.default_sequence_audio_channel_layout;
s->set_width(olive::config.default_sequence_width);
s->set_height(olive::config.default_sequence_height);
s->set_frame_rate(olive::config.default_sequence_framerate);
s->set_audio_frequency(olive::config.default_sequence_audio_frequency);
s->set_audio_layout(olive::config.default_sequence_audio_channel_layout);
bool got_video_values = false;
bool got_audio_values = false;
@@ -39,12 +39,12 @@ SequencePtr olive::project::CreateSequenceFromMedia(QVector<olive::timeline::Med
if (!got_video_values) {
for (int j=0;j<m->video_tracks.size();j++) {
const FootageStream& ms = m->video_tracks.at(j);
s->width = ms.video_width;
s->height = ms.video_height;
s->set_width(ms.video_width);
s->set_height(ms.video_height);
if (!qFuzzyCompare(ms.video_frame_rate, 0.0)) {
s->frame_rate = ms.video_frame_rate * m->speed;
s->set_frame_rate(ms.video_frame_rate * m->speed);
if (ms.video_interlacing != VIDEO_PROGRESSIVE) s->frame_rate *= 2;
if (ms.video_interlacing != VIDEO_PROGRESSIVE) s->set_frame_rate(s->frame_rate() * 2);
// only break with a decent frame rate, otherwise there may be a better candidate
got_video_values = true;
@@ -54,7 +54,7 @@ SequencePtr olive::project::CreateSequenceFromMedia(QVector<olive::timeline::Med
}
if (!got_audio_values && m->audio_tracks.size() > 0) {
const FootageStream& ms = m->audio_tracks.at(0);
s->audio_frequency = ms.audio_frequency;
s->set_audio_frequency(ms.audio_frequency);
got_audio_values = true;
}
}
@@ -65,11 +65,11 @@ SequencePtr olive::project::CreateSequenceFromMedia(QVector<olive::timeline::Med
// Clone all attributes of the original sequence (seq) into the new one (s)
Sequence* seq = media->to_sequence().get();
s->width = seq->width;
s->height = seq->height;
s->frame_rate = seq->frame_rate;
s->audio_frequency = seq->audio_frequency;
s->audio_layout = seq->audio_layout;
s->set_width(seq->width());
s->set_height(seq->height());
s->set_frame_rate(seq->frame_rate());
s->set_audio_frequency(seq->audio_frequency());
s->set_audio_layout(seq->audio_layout());
got_video_values = true;
got_audio_values = true;