Olive
sequence.h
Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef SEQUENCE_H
22 #define SEQUENCE_H
23 
24 #include <QVector>
25 
26 #include "project/clip.h"
27 #include "project/marker.h"
28 #include "project/transition.h"
29 #include "project/selection.h"
30 
31 class Sequence {
32 public:
33  Sequence();
34  ~Sequence();
35  SequencePtr copy();
36  QString name;
37  void getTrackLimits(int* video_tracks, int* audio_tracks);
38  long getEndFrame();
39  int width;
40  int height;
41  double frame_rate;
44 
45  void RefreshClips(Media* m = nullptr);
46 
47  QVector<Selection> selections;
48  long playhead;
49 
53 
55 
56  int save_id;
57 
58  QVector<Marker> markers;
59  QVector<ClipPtr> clips;
60 };
61 
62 using SequencePtr = std::shared_ptr<Sequence>;
63 
64 // static variable for the currently active sequence
65 namespace olive {
67 }
68 
69 #endif // SEQUENCE_H
bool wrapper_sequence
Definition: sequence.h:54
int width
Definition: sequence.h:39
Definition: sequence.h:31
int audio_frequency
Definition: sequence.h:42
QVector< Marker > markers
Definition: sequence.h:58
QString name
Definition: sequence.h:36
Sequence()
Definition: sequence.cpp:27
int height
Definition: sequence.h:40
void RefreshClips(Media *m=nullptr)
Definition: sequence.cpp:70
QVector< Selection > selections
Definition: sequence.h:47
long workarea_in
Definition: sequence.h:51
void getTrackLimits(int *video_tracks, int *audio_tracks)
Definition: sequence.cpp:81
Definition: debugdialog.h:39
bool using_workarea
Definition: sequence.h:50
Definition: media.h:42
SequencePtr ActiveSequence
Definition: sequence.cpp:99
long workarea_out
Definition: sequence.h:52
long playhead
Definition: sequence.h:48
std::shared_ptr< Sequence > SequencePtr
Definition: clip.h:48
SequencePtr copy()
Definition: sequence.cpp:37
double frame_rate
Definition: sequence.h:41
long getEndFrame()
Definition: sequence.cpp:59
int save_id
Definition: sequence.h:56
QVector< ClipPtr > clips
Definition: sequence.h:59
int audio_layout
Definition: sequence.h:43
~Sequence()
Definition: sequence.cpp:35