NAP
sequencetracksegmentevent.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // Local Includes
8 #include "sequencetracksegment.h"
9 #include "sequenceevent.h"
10 
11 // External Includes
12 #include <nap/event.h>
13 
14 namespace nap
15 {
17 
22  {
24 
25  RTTI_ENABLE(SequenceTrackSegment)
26  private:
31  virtual SequenceEventPtr createEvent() = 0;
32  };
33 
38  template<typename T>
40  {
42  public:
43  T mValue;
44  private:
45  virtual SequenceEventPtr createEvent() override;
46  };
47 
49  // Definitions of all supported sequence track event segments
51 
58 
60  // Template definitions
62 
63  template<typename T>
65  {
66  return std::make_unique<SequenceEvent<T>>(mValue);
67  }
68 }
nap::SequenceTrackSegment
Definition: sequencetracksegment.h:19
nap::SequenceEventPtr
std::unique_ptr< SequenceEventBase > SequenceEventPtr
Definition: sequenceevent.h:68
nap::SequenceTrackSegmentEvent
Definition: sequencetracksegmentevent.h:39
nap::SequenceTrackSegmentEvent::mValue
T mValue
Definition: sequencetracksegmentevent.h:43
nap::SequenceTrackSegmentEventBase
Definition: sequencetracksegmentevent.h:21
nap
Definition: templateapp.h:17
nap::SequencePlayerEventAdapter
Definition: sequenceplayereventadapter.h:24