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>
28 class SequenceService;
76 void setIsPlaying(
bool isPlaying);
82 void setIsPaused(
bool isPaused);
88 void setIsLooping(
bool isLooping);
94 void setPlayerTime(
double time);
100 void setPlaybackSpeed(
float speed);
105 double getPlayerTime()
const;
110 double getDuration()
const;
115 bool getIsPlaying()
const;
120 bool getIsLooping()
const;
125 bool getIsPaused()
const;
130 float getPlaybackSpeed()
const;
135 void stop()
override;
147 const Sequence& getSequenceConst()
const;
152 const std::string& getSequenceFilename()
const;
207 bool mCreateEmptySequenceOnLoadFail =
true;
208 std::vector<ResourcePtr<SequencePlayerOutput>>
mOutputs;
234 bool createAdapter(
const std::string& objectID,
const std::string& trackID);
236 void tick(
double deltaTime);
239 std::vector<std::unique_ptr<rtti::Object>> mReadObjects;
242 std::unordered_set<std::string> mReadObjectIDs;
248 void createAdapters();
253 void destroyAdapters();
259 void performEditAction(std::function<
void()> &action);
268 bool mIsPlaying =
false;
271 bool mIsPaused =
false;
274 bool mIsLooping =
false;
283 std::unordered_map<std::string, std::unique_ptr<SequencePlayerAdapter>> mAdapters;
Definition: sequenceplayer.h:36
std::vector< ResourcePtr< SequencePlayerOutput > > mOutputs
Property: 'Outputs' linked outputs.
Definition: sequenceplayer.h:208
Signal< SequencePlayer &, double > playerTimeChanged
Definition: sequenceplayer.h:167
Signal< SequencePlayer & > postTick
Definition: sequenceplayer.h:193
Definition: sequenceeditor.h:32
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:218
Signal< SequencePlayer &, bool > pauseStateChanged
Definition: sequenceplayer.h:183
Definition: errorstate.h:19
Signal< SequencePlayer &, float > playbackSpeedChanged
Definition: sequenceplayer.h:160
ResourcePtr< SequencePlayerClock > mClock
Property: 'Clock' Controls timing of playback.
Definition: sequenceplayer.h:209
Definition: signalslot.h:28
Signal< SequencePlayer & > edited
Definition: sequenceplayer.h:203
std::string mSequenceFileName
Property: 'Default Sequence' linked default Sequence file.
Definition: sequenceplayer.h:206
Definition: templateapp.h:17
Signal< SequencePlayer &, std::string > sequenceLoaded
Definition: sequenceplayer.h:198
Definition: sequence.h:22
Signal< SequencePlayer &, bool > playStateChanged
Definition: sequenceplayer.h:175
Signal< SequencePlayer & > preTick
Definition: sequenceplayer.h:188
SequenceService & mService
Definition: sequenceplayer.h:221