InsertTrackCommand::InsertTrackCommand(MultitrackModel& model, int trackIndex, QUndoCommand* parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_trackType(model.trackList().size() > 0 ? model.trackList().at(trackIndex).type : VideoTrackType) { if (m_trackType == AudioTrackType) setText(QObject::tr("Insert audio track")); else if (m_trackType == VideoTrackType) setText(QObject::tr("Insert video track")); }
HideTrackCommand::HideTrackCommand(MultitrackModel &model, int trackIndex, QUndoCommand *parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_oldValue(model.data(m_model.index(trackIndex), MultitrackModel::IsHiddenRole).toBool()) { setText(QObject::tr("Toggle track hidden")); }
CompositeTrackCommand::CompositeTrackCommand(MultitrackModel &model, int trackIndex, Qt::CheckState value, QUndoCommand *parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_value(value) , m_oldValue(Qt::CheckState(model.data(m_model.index(trackIndex), MultitrackModel::IsCompositeRole).toInt())) { setText(QObject::tr("Change track compositing")); }
LockTrackCommand::LockTrackCommand(MultitrackModel &model, int trackIndex, bool value, QUndoCommand *parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_value(value) , m_oldValue(model.data(m_model.index(trackIndex), MultitrackModel::IsLockedRole).toBool()) { setText(QObject::tr("Lock track")); }
NameTrackCommand::NameTrackCommand(MultitrackModel &model, int trackIndex, const QString &name, QUndoCommand *parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_name(name) , m_oldName(model.data(m_model.index(trackIndex), MultitrackModel::NameRole).toString()) { setText(QObject::tr("Change track name")); }
FadeOutCommand::FadeOutCommand(MultitrackModel &model, int trackIndex, int clipIndex, int duration, QUndoCommand *parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_clipIndex(clipIndex) , m_duration(duration) { QModelIndex modelIndex = m_model.index(clipIndex, 0, m_model.index(trackIndex)); m_previous = model.data(modelIndex, MultitrackModel::FadeOutRole).toInt(); setText(QObject::tr("Adjust fade out")); }
MoveClipCommand::MoveClipCommand(MultitrackModel &model, int fromTrackIndex, int toTrackIndex, int clipIndex, int position, QUndoCommand *parent) : QUndoCommand(parent) , m_model(model) , m_fromTrackIndex(fromTrackIndex) , m_toTrackIndex(toTrackIndex) , m_fromClipIndex(clipIndex) , m_toClipIndex(-1) , m_fromStart(model.data( m_model.index(clipIndex, 0, m_model.index(fromTrackIndex)), MultitrackModel::StartRole).toInt()) , m_toStart(position) { setText(QObject::tr("Move clip")); }
RemoveTrackCommand::RemoveTrackCommand(MultitrackModel& model, int trackIndex, QUndoCommand* parent) : QUndoCommand(parent) , m_model(model) , m_trackIndex(trackIndex) , m_trackType(model.trackList().at(trackIndex).type) { if (m_trackType == AudioTrackType) setText(QObject::tr("Remove audio track")); else if (m_trackType == VideoTrackType) setText(QObject::tr("Remove video track")); // Save track XML. int mlt_index = m_model.trackList().at(m_trackIndex).mlt_index; QScopedPointer<Mlt::Producer> producer(m_model.tractor()->multitrack()->track(mlt_index)); if (producer && producer->is_valid()) { m_xml = MLT.XML(producer.data()); m_trackName = QString::fromUtf8(producer->get(kTrackNameProperty)); } }