X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdefinitions.h;h=d5fe0d66c0818d1d1afad82280d8b32309b45a6f;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=5b6c2541f1989707951a69e3307a17cc3e4ab7e1;hpb=b01ec0dcade4544f2ced655c373619c96ab163ec;p=kdenlive diff --git a/src/definitions.h b/src/definitions.h index 5b6c2541..d5fe0d66 100644 --- a/src/definitions.h +++ b/src/definitions.h @@ -24,38 +24,91 @@ #include "gentime.h" #include "effectslist.h" -#include +#include #include #include - #include +#include const int MAXCLIPDURATION = 15000; namespace Kdenlive { - enum MONITORID { noMonitor, clipMonitor, projectMonitor, recordMonitor, stopmotionMonitor, dvdMonitor }; - /*const QString clipMonitor("clipMonitor"); - const QString recordMonitor("recordMonitor"); - const QString projectMonitor("projectMonitor"); - const QString stopmotionMonitor("stopmotionMonitor");*/ + +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 CLIPTYPE { UNKNOWN = 0, AUDIO = 1, VIDEO = 2, AV = 3, COLOR = 4, IMAGE = 5, TEXT = 6, SLIDESHOW = 7, VIRTUAL = 8, PLAYLIST = 9 }; +enum OperationType { + None = 0, + MoveOperation = 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 }; +enum ProjectItemType { + ProjectClipType = QTreeWidgetItem::UserType, + ProjectFoldeType, + ProjectSubclipType +}; -enum GRAPHICSRECTITEM { AVWIDGET = 70000 , LABELWIDGET , TRANSITIONWIDGET , GROUPWIDGET}; +enum GraphicsRectItem { + AVWidget = 70000, + LabelWidget, + TransitionWidget, + GroupWidget +}; -enum PROJECTTOOL { SELECTTOOL = 0 , RAZORTOOL = 1 , SPACERTOOL = 2 }; +enum ProjectTool { + SelectTool = 0, + RazorTool = 1, + SpacerTool = 2 +}; -enum TRANSITIONTYPE { +enum TransitionType { /** TRANSITIONTYPE: between 0-99: video trans, 100-199: video+audio trans, 200-299: audio trans */ - LUMA_TRANSITION = 0, - COMPOSITE_TRANSITION = 1, - PIP_TRANSITION = 2, - LUMAFILE_TRANSITION = 3, - MIX_TRANSITION = 200 + LumaTransition = 0, + CompositeTransition = 1, + PipTransition = 2, + LumaFileTransition = 3, + MixTransition = 200 }; enum MessageType { @@ -66,24 +119,43 @@ enum MessageType { MltError }; -enum TRACKTYPE { AUDIOTRACK = 0, VIDEOTRACK = 1 }; +enum TrackType { + AudioTrack = 0, + VideoTrack = 1 +}; + +enum ClipJobStatus { + NoJob = 0, + JobWaiting = -1, + JobWorking = -2, + JobDone = -3, + JobCrashed = -4, + JobAborted = -5 +}; -enum CLIPJOBSTATUS { NOJOB = 0, JOBWAITING = -1, JOBWORKING = -2, JOBDONE = -3, JOBCRASHED = -4, JOBABORTED = -5}; +class TrackInfo { -struct TrackInfo { - TRACKTYPE type; +public: + TrackType type; QString trackName; bool isMute; bool isBlind; 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 +165,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 +180,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,22 +200,9 @@ struct MltVideoProfile { int display_aspect_num; int display_aspect_den; int colorspace; - 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; - } - bool operator!=(const MltVideoProfile &other) const { - return !(*this == other); - } + MltVideoProfile(); + bool operator==(const MltVideoProfile& point) const; + bool operator!=(const MltVideoProfile &other) const; }; /**) @@ -148,43 +214,22 @@ struct MltVideoProfile { class EffectInfo { public: - EffectInfo() {isCollapsed = false; groupIndex = -1; groupIsCollapsed = false;} + EffectInfo(); bool isCollapsed; bool groupIsCollapsed; int groupIndex; 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("/"); - } - 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); - } + QString toString() const; + void fromString(QString value); }; class EffectParameter { public: - EffectParameter(const QString &name, const QString &value): m_name(name), m_value(value) {} - QString name() const { - return m_name; - } - QString value() const { - return m_value; - } - void setValue(const QString &value) { - m_value = value; - } + EffectParameter(const QString &name, const QString &value); + QString name() const; + QString value() const; + void setValue(const QString &value); private: QString m_name; @@ -197,92 +242,47 @@ private: class EffectsParameterList: public QList < EffectParameter > { public: - EffectsParameterList(): QList < EffectParameter >() {} - bool hasParam(const QString &name) const { - 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++) - if (at(i).name() == name) { - // 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++) { - if (at(i).name() == name) return at(i).value(); - } - return defaultValue; - } - void addParam(const QString &name, const QString &value) { - if (name.isEmpty()) return; - append(EffectParameter(name, value)); - } - void removeParam(const QString &name) { - for (int i = 0; i < size(); i++) - if (at(i).name() == name) { - removeAt(i); - break; - } - } + EffectsParameterList(); + bool hasParam(const QString &name) const; + void setParamValue(const QString &name, const QString &value); + + QString paramValue(const QString &name, const QString &defaultValue = QString()) const; + void addParam(const QString &name, const QString &value); + void removeParam(const QString &name); }; class CommentedTime { public: - CommentedTime(): t(GenTime(0)) {} - CommentedTime(const GenTime &time, QString comment) - : t(time), c(comment) { } - - QString comment() const { - return (c.isEmpty() ? i18n("Marker") : c); - } - GenTime time() const { - return t; - } - void setComment(QString comm) { - c = comm; - } + CommentedTime(); + CommentedTime(const GenTime &time, const QString& comment, int markerType = 0); + + QString comment() const; + GenTime time() const; + void setComment(const QString &comm); + void setMarkerType(int t); + int markerType() const; + static QColor markerColor(int type); /* Implementation of > operator; Works identically as with basic types. */ - bool operator>(CommentedTime op) const { - return t > op.time(); - } + bool operator>(CommentedTime op) const; /* Implementation of < operator; Works identically as with basic types. */ - bool operator<(CommentedTime op) const { - return t < op.time(); - } + bool operator<(CommentedTime op) const; /* Implementation of >= operator; Works identically as with basic types. */ - bool operator>=(CommentedTime op) const { - return t >= op.time(); - } + bool operator>=(CommentedTime op) const; /* Implementation of <= operator; Works identically as with basic types. */ - bool operator<=(CommentedTime op) const { - return t <= op.time(); - } + bool operator<=(CommentedTime op) const; /* Implementation of == operator; Works identically as with basic types. */ - bool operator==(CommentedTime op) const { - return t == op.time(); - } + bool operator==(CommentedTime op) const; /* Implementation of != operator; Works identically as with basic types. */ - bool operator!=(CommentedTime op) const { - return t != op.time(); - } + bool operator!=(CommentedTime op) const; private: GenTime t; QString c; - - + int type; }; QDebug operator << (QDebug qd, const ItemInfo &info); - #endif