NAP
sequenceplayeraudiooutputcomponent.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 "sequenceplayeraudiooutput.h"
9 
10 // Nap includes
11 #include <component.h>
12 #include <componentptr.h>
13 #include <audio/utility/safeptr.h>
14 
15 // Audio includes
16 #include <audio/component/audiocomponentbase.h>
17 
18 namespace nap
19 {
20  namespace audio
21  {
23 
24  class SequencePlayerAudioOutputComponentInstance;
25 
32  {
33  RTTI_ENABLE(AudioComponentBase)
35  public:
41  {
42  }
43 
45  };
46 
48  {
49  RTTI_ENABLE(AudioComponentBaseInstance)
50 
51  public:
58  :AudioComponentBaseInstance(entity, resource)
59  {
60  }
61 
62 
67  int getChannelCount() const override
68  {
69  return mSequencePlayerAudioOutput->getChannelCount();
70  }
71 
72 
78  OutputPin* getOutputForChannel(int channel) override
79  {
80  return mSequencePlayerAudioOutput->getOutputForChannel(channel);
81  }
82 
83 
87  void onDestroy() override;
88 
89  // Initialize the component
90  bool init(utility::ErrorState& errorState) override;
91 
92  private:
93  // raw pointer to sequence player audio output
94  SequencePlayerAudioOutput* mSequencePlayerAudioOutput;
95  };
96  }
97 }
nap::audio::SequencePlayerAudioOutputComponentInstance::SequencePlayerAudioOutputComponentInstance
SequencePlayerAudioOutputComponentInstance(EntityInstance &entity, Component &resource)
Definition: sequenceplayeraudiooutputcomponent.h:57
nap::audio::SequencePlayerAudioOutputComponentInstance
Definition: sequenceplayeraudiooutputcomponent.h:47
nap::rtti::ObjectPtr
Definition: objectptr.h:154
nap::utility::ErrorState
Definition: errorstate.h:19
nap::audio::AudioComponentBaseInstance
Definition: audiocomponentbase.h:47
nap::audio::SequencePlayerAudioOutputComponentInstance::getOutputForChannel
OutputPin * getOutputForChannel(int channel) override
Definition: sequenceplayeraudiooutputcomponent.h:78
nap::audio::AudioComponentBase
Definition: audiocomponentbase.h:31
nap::audio::SequencePlayerAudioOutputComponent
Definition: sequenceplayeraudiooutputcomponent.h:31
nap::EntityInstance
Definition: entity.h:34
nap::audio::OutputPin
Definition: audiopin.h:204
nap::audio::SequencePlayerAudioOutputComponent::mSequencePlayerAudioOutput
ResourcePtr< SequencePlayerAudioOutput > mSequencePlayerAudioOutput
Property: 'Sequence Player Audio Output' resource ptr to audio output of Sequencer.
Definition: sequenceplayeraudiooutputcomponent.h:44
nap::SequencePlayerAudioOutput
Definition: sequenceplayeraudiooutput.h:42
nap::Component
Definition: component.h:151
nap::audio::SequencePlayerAudioOutputComponent::SequencePlayerAudioOutputComponent
SequencePlayerAudioOutputComponent()
Definition: sequenceplayeraudiooutputcomponent.h:39
nap::audio::SequencePlayerAudioOutputComponentInstance::getChannelCount
int getChannelCount() const override
Definition: sequenceplayeraudiooutputcomponent.h:67
nap
Definition: templateapp.h:17