9 #include "sequenceplayeradapter.h"
10 #include "sequenceplayeroutput.h"
11 #include "sequenceservice.h"
12 #include "sequenceplayerclock.h"
15 #include <rtti/factory.h>
16 #include <nap/device.h>
17 #include <nap/signalslot.h>
20 #include <nap/timer.h>
21 #include <concurrentqueue.h>
22 #include <nap/numeric.h>
29 class SequenceService;
85 void setIsPlaying(
bool isPlaying);
91 void setIsPaused(
bool isPaused);
97 void setIsLooping(
bool isLooping);
103 void setPlayerTime(
double time);
109 void setPlaybackSpeed(
float speed);
114 double getPlayerTime()
const;
119 double getDuration()
const;
124 bool getIsPlaying()
const;
129 bool getIsLooping()
const;
134 bool getIsPaused()
const;
139 float getPlaybackSpeed()
const;
144 void stop()
override;
156 const Sequence& getSequenceConst()
const;
161 const std::string& getSequenceFilename()
const;
216 bool mCreateEmptySequenceOnLoadFail =
true;
217 std::vector<ResourcePtr<SequencePlayerOutput>>
mOutputs;
243 bool createAdapter(
const std::string& objectID,
const std::string& trackID);
245 void tick(
double deltaTime);
248 std::vector<std::unique_ptr<rtti::Object>> mReadObjects;
251 std::unordered_set<std::string> mReadObjectIDs;
257 void createAdapters();
262 void destroyAdapters();
268 void performEditAction(std::function<
void()> &action);
277 bool mIsPlaying =
false;
280 bool mIsPaused =
false;
283 bool mIsLooping =
false;
292 std::unordered_map<std::string, std::unique_ptr<SequencePlayerAdapter>> mAdapters;
Definition: sequenceplayer.h:37
std::vector< ResourcePtr< SequencePlayerOutput > > mOutputs
Property: 'Outputs' linked outputs.
Definition: sequenceplayer.h:217
Signal< SequencePlayer &, double > playerTimeChanged
Definition: sequenceplayer.h:176
Signal< SequencePlayer & > postTick
Definition: sequenceplayer.h:202
Definition: sequenceeditor.h:49
Definition: sequencecontroller.h:25
Definition: objectptr.h:154
Definition: sequenceservice.h:42
Signal< std::function< void(const std::string &, std::unique_ptr< SequencePlayerAdapter >)> & > adaptersCreated
Definition: sequenceplayer.h:227
Signal< SequencePlayer &, bool > pauseStateChanged
Definition: sequenceplayer.h:192
Definition: errorstate.h:19
Signal< SequencePlayer &, float > playbackSpeedChanged
Definition: sequenceplayer.h:169
ResourcePtr< SequencePlayerClock > mClock
Property: 'Clock' Controls timing of playback.
Definition: sequenceplayer.h:218
Definition: signalslot.h:28
Signal< SequencePlayer & > edited
Definition: sequenceplayer.h:212
std::string mSequenceFileName
Property: 'Default Sequence' linked default Sequence file.
Definition: sequenceplayer.h:215
Definition: templateapp.h:17
Signal< SequencePlayer &, std::string > sequenceLoaded
Definition: sequenceplayer.h:207
Definition: sequence.h:22
Signal< SequencePlayer &, bool > playStateChanged
Definition: sequenceplayer.h:184
Signal< SequencePlayer & > preTick
Definition: sequenceplayer.h:197
SequenceService & mService
Definition: sequenceplayer.h:230