Olive
transition.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 TRANSITION_H
22 #define TRANSITION_H
23 
24 #include "effect.h"
25 
30 };
31 
39 };
40 
41 class Transition;
42 using TransitionPtr = std::shared_ptr<Transition>;
43 
45 
47 
48 class Transition : public Effect {
49  Q_OBJECT
50 public:
51  Transition(ClipPtr c, ClipPtr s, const EffectMeta* em);
52  virtual TransitionPtr copy(ClipPtr c, ClipPtr s);
54 
55  virtual void save(QXmlStreamWriter& stream) override;
56 
57  void set_length(long l);
58  long get_true_length();
59  long get_length();
60 
63 private slots:
65 private:
66  long length; // used only for transitions
68 };
69 
70 #endif // TRANSITION_H
ClipPtr get_opened_clip()
Definition: transition.cpp:83
virtual void save(QXmlStreamWriter &stream) override
Definition: transition.cpp:62
void set_length_from_slider()
Definition: transition.cpp:101
TransitionPtr get_transition_from_meta(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: transition.cpp:106
Definition: transition.h:37
ClipPtr get_closed_clip()
Definition: transition.cpp:92
TransitionPtr create_transition(ClipPtr c, ClipPtr s, const EffectMeta *em, long length=0)
Definition: transition.cpp:129
Definition: effect.h:169
Definition: effect.h:50
Definition: transition.h:27
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
EffectField * length_field
Definition: transition.h:67
Transition(ClipPtr c, ClipPtr s, const EffectMeta *em)
Definition: transition.cpp:44
Definition: transition.h:28
TransitionType
Definition: transition.h:26
virtual TransitionPtr copy(ClipPtr c, ClipPtr s)
Definition: transition.cpp:58
TransitionInternal
Definition: transition.h:32
std::shared_ptr< Transition > TransitionPtr
Definition: transition.h:42
Definition: transition.h:29
Definition: transition.h:34
Definition: transition.h:35
long length
Definition: transition.h:66
Definition: transition.h:38
void set_length(long l)
Definition: transition.cpp:67
long get_length()
Definition: transition.cpp:76
long get_true_length()
Definition: transition.cpp:72
ClipPtr secondary_clip
Definition: transition.h:53
Definition: effectfield.h:43
Definition: transition.h:33
Definition: transition.h:48
Definition: transition.h:36