X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdefinitions.h;h=dd04bd2da09708fbf5d282d06b56bd61b16113db;hb=4ae3260592acc87712db77b7d3fe0cc2be7d76bc;hp=5b6c2541f1989707951a69e3307a17cc3e4ab7e1;hpb=b01ec0dcade4544f2ced655c373619c96ab163ec;p=kdenlive diff --git a/src/definitions.h b/src/definitions.h index 5b6c2541..dd04bd2d 100644 --- a/src/definitions.h +++ b/src/definitions.h @@ -28,19 +28,21 @@ #include #include - #include +#include const int MAXCLIPDURATION = 15000; + namespace Kdenlive { - enum MONITORID { noMonitor, clipMonitor, projectMonitor, recordMonitor, stopmotionMonitor, dvdMonitor }; - /*const QString clipMonitor("clipMonitor"); +enum MONITORID { noMonitor, clipMonitor, projectMonitor, recordMonitor, stopmotionMonitor, dvdMonitor }; +const int DefaultThumbHeight = 100; +/*const QString clipMonitor("clipMonitor"); const QString recordMonitor("recordMonitor"); const QString projectMonitor("projectMonitor"); const QString stopmotionMonitor("stopmotionMonitor");*/ } -enum OPERATIONTYPE { NONE = 0, MOVE = 1, RESIZESTART = 2, RESIZEEND = 3, FADEIN = 4, FADEOUT = 5, TRANSITIONSTART = 6, TRANSITIONEND = 7, MOVEGUIDE = 8, KEYFRAME = 9, SEEK = 10, SPACER = 11, RUBBERSELECTION = 12}; +enum OPERATIONTYPE { NONE = 0, MOVE = 1, RESIZESTART = 2, RESIZEEND = 3, FADEIN = 4, FADEOUT = 5, TRANSITIONSTART = 6, TRANSITIONEND = 7, MOVEGUIDE = 8, KEYFRAME = 9, SEEK = 10, SPACER = 11, RUBBERSELECTION = 12, SCROLLTIMELINE = 13}; enum CLIPTYPE { UNKNOWN = 0, AUDIO = 1, VIDEO = 2, AV = 3, COLOR = 4, IMAGE = 5, TEXT = 6, SLIDESHOW = 7, VIRTUAL = 8, PLAYLIST = 9 }; enum PROJECTITEMTYPE { PROJECTCLIPTYPE = QTreeWidgetItem::UserType, PROJECTFOLDERTYPE, PROJECTSUBCLIPTYPE }; @@ -70,7 +72,8 @@ enum TRACKTYPE { AUDIOTRACK = 0, VIDEOTRACK = 1 }; enum CLIPJOBSTATUS { NOJOB = 0, JOBWAITING = -1, JOBWORKING = -2, JOBDONE = -3, JOBCRASHED = -4, JOBABORTED = -5}; -struct TrackInfo { +class TrackInfo { +public: TRACKTYPE type; QString trackName; bool isMute; @@ -78,12 +81,19 @@ struct TrackInfo { bool isLocked; EffectsList effectsList; int duration; + TrackInfo() : + type(VIDEOTRACK), + isMute(0), + isBlind(0), + isLocked(0), + duration(0) {} }; typedef QMap stringMap; typedef QMap > audioByteArray; -struct ItemInfo { +class ItemInfo { +public: /** startPos is the position where the clip starts on the track */ GenTime startPos; /** endPos is the duration where the clip ends on the track */ @@ -93,10 +103,12 @@ struct ItemInfo { /** cropDuration is the duration of the clip */ GenTime cropDuration; int track; + ItemInfo() : track(0) {} }; -struct TransitionInfo { -/** startPos is the position where the clip starts on the track */ +class TransitionInfo { +public: + /** startPos is the position where the clip starts on the track */ GenTime startPos; /** endPos is the duration where the clip ends on the track */ GenTime endPos; @@ -106,9 +118,14 @@ struct TransitionInfo { int a_track; /** Does the user request for a special a_track */ bool forceTrack; + TransitionInfo() : + b_track(0), + a_track(0), + forceTrack(0) {} }; -struct MltVideoProfile { +class MltVideoProfile { +public: QString path; QString description; int frame_rate_num; @@ -121,18 +138,29 @@ struct MltVideoProfile { int display_aspect_num; int display_aspect_den; int colorspace; + MltVideoProfile() : + frame_rate_num(0), + frame_rate_den(0), + width(0), + height(0), + progressive(0), + sample_aspect_num(0), + sample_aspect_den(0), + display_aspect_num(0), + display_aspect_den(0), + colorspace(0) {} bool operator==(const MltVideoProfile& point) const { if (!description.isEmpty() && point.description == description) return true; return point.frame_rate_num == frame_rate_num && - point.frame_rate_den == frame_rate_den && - point.width == width && - point.height == height && - point.progressive == progressive && - point.sample_aspect_num == sample_aspect_num && - point.sample_aspect_den == sample_aspect_den && - point.display_aspect_den == display_aspect_den && - point.colorspace == colorspace; + point.frame_rate_den == frame_rate_den && + point.width == width && + point.height == height && + point.progressive == progressive && + point.sample_aspect_num == sample_aspect_num && + point.sample_aspect_den == sample_aspect_den && + point.display_aspect_den == display_aspect_den && + point.colorspace == colorspace; } bool operator!=(const MltVideoProfile &other) const { return !(*this == other); @@ -155,20 +183,20 @@ public: QString groupName; QString toString() const { QStringList data; - // effect collapsed state: 0 = effect not collapsed, 1 = effect collapsed, - // 2 = group collapsed - effect not, 3 = group and effect collapsed - int collapsedState = (int) isCollapsed; - if (groupIsCollapsed) collapsedState += 2; - data << QString::number(collapsedState) << QString::number(groupIndex) << groupName; - return data.join("/"); + // effect collapsed state: 0 = effect not collapsed, 1 = effect collapsed, + // 2 = group collapsed - effect not, 3 = group and effect collapsed + int collapsedState = (int) isCollapsed; + if (groupIsCollapsed) collapsedState += 2; + data << QString::number(collapsedState) << QString::number(groupIndex) << groupName; + return data.join("/"); } void fromString(QString value) { - if (value.isEmpty()) return; - QStringList data = value.split("/"); - isCollapsed = data.at(0).toInt() == 1 || data.at(0).toInt() == 3; - groupIsCollapsed = data.at(0).toInt() == 3; - if (data.count() > 1) groupIndex = data.at(1).toInt(); - if (data.count() > 2) groupName = data.at(2); + if (value.isEmpty()) return; + QStringList data = value.split("/"); + isCollapsed = data.at(0).toInt() == 1 || data.at(0).toInt() == 3; + groupIsCollapsed = data.at(0).toInt() >= 2; + if (data.count() > 1) groupIndex = data.at(1).toInt(); + if (data.count() > 2) groupName = data.at(2); } }; @@ -199,23 +227,23 @@ class EffectsParameterList: public QList < EffectParameter > public: EffectsParameterList(): QList < EffectParameter >() {} bool hasParam(const QString &name) const { - for (int i = 0; i < size(); i++) + for (int i = 0; i < size(); ++i) if (at(i).name() == name) return true; return false; } void setParamValue(const QString &name, const QString &value) { - bool found = false; - for (int i = 0; i < size(); i++) + bool found = false; + for (int i = 0; i < size(); ++i) if (at(i).name() == name) { - // update value - replace(i, EffectParameter(name, value)); - found = true; - } - if (!found) addParam(name, value); + // update value + replace(i, EffectParameter(name, value)); + found = true; + } + if (!found) addParam(name, value); } - - QString paramValue(const QString &name, QString defaultValue = QString()) const { - for (int i = 0; i < size(); i++) { + + QString paramValue(const QString &name, const QString &defaultValue = QString()) const { + for (int i = 0; i < size(); ++i) { if (at(i).name() == name) return at(i).value(); } return defaultValue; @@ -225,7 +253,7 @@ public: append(EffectParameter(name, value)); } void removeParam(const QString &name) { - for (int i = 0; i < size(); i++) + for (int i = 0; i < size(); ++i) if (at(i).name() == name) { removeAt(i); break; @@ -236,9 +264,9 @@ public: class CommentedTime { public: - CommentedTime(): t(GenTime(0)) {} - CommentedTime(const GenTime &time, QString comment) - : t(time), c(comment) { } + CommentedTime(): t(GenTime(0)), type(0) {} + CommentedTime(const GenTime &time, const QString& comment, int markerType = 0) + : t(time), c(comment), type(markerType) { } QString comment() const { return (c.isEmpty() ? i18n("Marker") : c); @@ -246,9 +274,34 @@ public: GenTime time() const { return t; } - void setComment(QString comm) { + void setComment(const QString &comm) { c = comm; } + void setMarkerType(int t) { + type = t; + } + int markerType() const { + return type; + } + static QColor markerColor(int type) { + switch (type) { + case 0: + return Qt::red; + break; + case 1: + return Qt::blue; + break; + case 2: + return Qt::green; + break; + case 3: + return Qt::yellow; + break; + default: + return Qt::cyan; + break; + } + } /* Implementation of > operator; Works identically as with basic types. */ bool operator>(CommentedTime op) const { @@ -278,8 +331,7 @@ public: private: GenTime t; QString c; - - + int type; }; QDebug operator << (QDebug qd, const ItemInfo &info);