diff --git a/src/doc/kdenlivedoc.cpp b/src/doc/kdenlivedoc.cpp index db10d07fc305099957f8dca867f42a1df5b04733..4d4da38a875e829af8709f907965b44fa664ef08 100644 --- a/src/doc/kdenlivedoc.cpp +++ b/src/doc/kdenlivedoc.cpp @@ -370,7 +370,7 @@ QDomDocument KdenliveDoc::createEmptyDocument(const QList &tracks) QString compositeService = TransitionsRepository::get()->getCompositingTransition(); if (!compositeService.isEmpty()) { for (int i = 0; i <= tracks.count(); i++) { - if (i > 0) { + if (i > 0 && tracks.at(i - 1).type == AudioTrack) { Mlt::Transition tr(docProfile, "mix"); tr.set("a_track", 0); tr.set("b_track", i); diff --git a/src/timeline2/model/timelineitemmodel.cpp b/src/timeline2/model/timelineitemmodel.cpp index 012ba974ac3a20415af2a1d9d21491051049277c..204b4e5cf19422636cfe99bc16657faa6c5375cc 100644 --- a/src/timeline2/model/timelineitemmodel.cpp +++ b/src/timeline2/model/timelineitemmodel.cpp @@ -400,7 +400,7 @@ int TimelineItemModel::getFirstVideoTrackIndex() const auto it = m_allTracks.cbegin(); while (it != m_allTracks.cend()) { trackId = getTrackMltIndex((*it)->getId()); - if ((*it)->getProperty("kdenlive:audio_track").toInt() != 1) { + if (!(*it)->isAudioTrack()) { break; } ++it; @@ -423,21 +423,22 @@ void TimelineItemModel::buildTrackCompositing() QString composite = TransitionsRepository::get()->getCompositingTransition(); while (it != m_allTracks.cend()) { int trackId = getTrackMltIndex((*it)->getId()); - if (!composite.isEmpty() && (*it)->getProperty("kdenlive:audio_track").toInt() != 1) { + if (!composite.isEmpty() && !(*it)->isAudioTrack()) { // video track, add composition Mlt::Transition *transition = TransitionsRepository::get()->getTransition(composite); transition->set("internal_added", 237); transition->set("always_active", 1); field->plant_transition(*transition, 0, trackId); transition->set_tracks(0, trackId); + } else if ((*it)->isAudioTrack()) { + // audio mix + Mlt::Transition *transition = TransitionsRepository::get()->getTransition(QStringLiteral("mix")); + transition->set("internal_added", 237); + transition->set("always_active", 1); + transition->set("sum", 1); + field->plant_transition(*transition, 0, trackId); + transition->set_tracks(0, trackId); } - // audio mix - Mlt::Transition *transition = TransitionsRepository::get()->getTransition(QStringLiteral("mix")); - transition->set("internal_added", 237); - transition->set("always_active", 1); - transition->set("sum", 1); - field->plant_transition(*transition, 0, trackId); - transition->set_tracks(0, trackId); ++it; } field->unlock();