NAP
pullnode.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 // Std includes
8 #include <atomic>
9 
10 // Audio includes
11 #include <audio/core/audionode.h>
12 #include <audio/utility/safeptr.h>
13 #include <audio/core/process.h>
14 
15 namespace nap
16 {
17  namespace audio
18  {
19 
20  // Forward declarations
21  class AudioService;
22 
28  class NAPAPI PullNode final : public Node
29  {
30  RTTI_ENABLE(Node)
31  public:
36  PullNode(NodeManager& nodeManager, bool rootProcess = true);
37 
38  ~PullNode() override final;
39 
43  InputPin audioInput = {this};
44 
45  private:
46  void process() override;
47 
48  bool mRootProcess = false;
49  };
50 
51 
52  }
53 }
54 
55 
56 
57 
58 
nap::audio::NodeManager
Definition: audionodemanager.h:33
nap::audio::Node
Definition: audionode.h:33
nap::audio::InputPin
Definition: audiopin.h:87
nap
Definition: templateapp.h:17
nap::audio::PullNode
Definition: pullnode.h:28