Mlt::Service service(m_mltProducer->parent().get_service());
Mlt::Tractor tractor(service);
Mlt::Producer trackProducer(tractor.track(track));
- Mlt::Playlist trackPlaylist((mlt_playlist) trackProducer.get_service());
+
if (mute) {
if (blind) trackProducer.set("hide", 3);
else trackProducer.set("hide", 2);
}
QList <Mlt::Producer *> Render::producersList() {
- QList <Mlt::Producer *> prods;
+ QList <Mlt::Producer *> prods = QList <Mlt::Producer *> ();
QStringList ids;
Mlt::Service service(m_mltProducer->parent().get_service());
Mlt::Tractor tractor(service);
- Mlt::Field *field = tractor.field();
int trackNb = tractor.count();
for (int t = 1; t < trackNb; t++) {
return prods;
}
-void Render::mltInsertTrack(int ix) {
+void Render::mltInsertTrack(int ix, bool videoTrack) {
blockSignals(true);
m_isBlocked = true;
if (service.type() != tractor_type) kWarning() << "// TRACTOR PROBLEM";
Mlt::Tractor tractor(service);
+
Mlt::Playlist *playlist = new Mlt::Playlist();
int ct = tractor.count();
- kDebug() << "// TRACK INSERT: " << ix << ", MAX: " << ct;
+ // kDebug() << "// TRACK INSERT: " << ix << ", MAX: " << ct;
int pos = ix;
if (pos < ct) {
Mlt::Producer *prodToMove = new Mlt::Producer(tractor.track(pos));
tractor.set_track(*playlist, pos);
+ Mlt::Producer newProd(tractor.track(pos));
+ if (!videoTrack) newProd.set("hide", 1);
pos++;
for (; pos <= ct; pos++) {
Mlt::Producer *prodToMove2 = new Mlt::Producer(tractor.track(pos));
tractor.set_track(*prodToMove, pos);
prodToMove = prodToMove2;
}
- } else tractor.set_track(*playlist, ix);
+ } else {
+ tractor.set_track(*playlist, ix);
+ Mlt::Producer newProd(tractor.track(ix));
+ if (!videoTrack) newProd.set("hide", 1);
+ }
// Move transitions
mlt_service serv = m_mltProducer->parent().get_service();