NAP
nap
system_modules
napsequence
src
sequenceplayereventoutput.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 "sequenceplayeroutput.h"
9
#include "sequenceevent.h"
10
11
// nap includes
12
#include <nap/resourceptr.h>
13
#include <nap/signalslot.h>
14
15
// external includes
16
#include <queue>
17
18
namespace
nap
19
{
21
22
// forward declares
23
class
SequenceService;
24
29
class
NAPAPI
SequencePlayerEventOutput
final :
public
SequencePlayerOutput
30
{
31
friend
class
SequencePlayerEventAdapter
;
32
33
RTTI_ENABLE(
SequencePlayerOutput
);
34
public
:
39
SequencePlayerEventOutput
(
SequenceService
& service);
40
44
nap::Signal<const SequenceEventBase&>
mSignal
;
45
protected
:
50
void
update(
double
deltaTime)
override
;
51
56
void
addEvent(
SequenceEventPtr
event);
57
58
private
:
59
// the queue of events
60
std::queue<SequenceEventPtr> mEvents;
61
62
// thread mutex
63
std::mutex mEventMutex;
64
};
65
66
using
SequencePlayerEventOutputObjectCreator
=
rtti::ObjectCreator<SequencePlayerEventOutput, SequenceService>
;
67
}
nap::SequenceService
Definition:
sequenceservice.h:42
nap::rtti::ObjectCreator
Definition:
factory.h:49
nap::Signal
Definition:
signalslot.h:28
nap::SequencePlayerOutput
Definition:
sequenceplayeroutput.h:23
nap::SequenceEventPtr
std::unique_ptr< SequenceEventBase > SequenceEventPtr
Definition:
sequenceevent.h:68
nap::SequencePlayerEventOutput
Definition:
sequenceplayereventoutput.h:29
nap::SequencePlayerEventOutput::mSignal
nap::Signal< const SequenceEventBase & > mSignal
Definition:
sequenceplayereventoutput.h:44
nap
Definition:
templateapp.h:17
nap::SequencePlayerEventAdapter
Definition:
sequenceplayereventadapter.h:24
Generated by doxygen