NAP
sequenceplayeraudioadapter.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 // nap includes
8 #include <sequenceplayer.h>
9 #include <sequenceplayeradapter.h>
10 
11 // local include
12 #include "sequencetracksegmentaudio.h"
13 
14 namespace nap
15 {
17 
18  // forward declares
19  class SequencePlayerAudioOutput;
20 
26  {
27  public:
35  const SequencePlayer& player);
36 
41  void tick(double time) override;
42 
46  void destroy() override;
47 
48  private:
49  // reference to track linked to adapter
50  const SequenceTrack& mTrack;
51 
52  // reference to output linked to adapter
54 
55  // reference to player
56  const SequencePlayer& mPlayer;
57 
58  // the current segment ID being player
59  std::string mCurrentStartedSegmentID;
60 
61  // previous time in segment
62  double mPrevTimeInSegment = 0.0;
63 
64  // previous time in sequence player, used to calculate delta time
65  double mPrevTime = 0.0;
66 
67  // when adapter is created, it checks wether player is using an AudioClock, if not this bool is set to true
68  bool mDisabled = false;
69  };
70 }
nap::SequencePlayer
Definition: sequenceplayer.h:36
nap::SequencePlayerAudioAdapter
Definition: sequenceplayeraudioadapter.h:25
nap::SequencePlayerAdapter
Definition: sequenceplayeradapter.h:26
nap::SequenceTrack
Definition: sequencetrack.h:22
nap::SequencePlayerAudioOutput
Definition: sequenceplayeraudiooutput.h:42
nap::SequencePlayerAudioAdapter::SequencePlayerAudioAdapter
SequencePlayerAudioAdapter(const SequenceTrack &track, SequencePlayerAudioOutput &output, const SequencePlayer &player)
nap::SequencePlayerAudioAdapter::tick
void tick(double time) override
nap
Definition: templateapp.h:17
nap::SequencePlayerAudioAdapter::destroy
void destroy() override