2 #include <Process/Execution/ProcessComponent.hpp>
3 #include <Process/ExecutionContext.hpp>
5 #include <Explorer/DeviceList.hpp>
7 #include <Pd/PdInstance.hpp>
8 #include <Pd/PdProcess.hpp>
10 #include <score/document/DocumentContext.hpp>
11 #include <score/document/DocumentInterface.hpp>
13 #include <ossia/dataflow/graph_node.hpp>
14 #include <ossia/detail/string_view.hpp>
15 #include <ossia/editor/scenario/time_process.hpp>
16 #include <ossia/editor/scenario/time_value.hpp>
18 #include <boost/circular_buffer.hpp>
33 std::shared_ptr<Instance> instance, ossia::string_view folder,
36 const Pd::PatchSpec& spec,
bool midi_in =
true,
bool midi_out =
true);
40 ossia::outlet* get_outlet(
const char* str)
const;
42 ossia::value_port* get_value_port(
const char* str)
const;
44 ossia::midi_port* get_midi_in()
const;
45 ossia::midi_port* get_midi_out()
const;
47 void run(
const ossia::token_request& t, ossia::exec_state_facade e) noexcept
override;
48 void add_dzero(std::string& s)
const;
50 std::shared_ptr<Instance> m_instance;
52 std::size_t m_audioIns{};
53 std::size_t m_audioOuts{};
54 std::vector<Process::Port*> m_inport, m_outport;
55 std::vector<std::string> m_inmess, m_outmess;
57 std::vector<float> m_inbuf, m_outbuf;
58 std::vector<boost::circular_buffer<float>> m_prev_outbuf;
59 std::size_t m_firstInMessage{}, m_firstOutMessage{};
60 ossia::audio_port* m_audio_inlet{};
61 ossia::audio_port* m_audio_outlet{};
62 ossia::midi_port* m_midi_inlet{};
63 ossia::midi_port* m_midi_outlet{};
69 COMPONENT_METADATA(
"78657f42-3a2a-4b80-8736-8736463442b4")
Definition: Process/Execution/ProcessComponent.hpp:119
Definition: Process/Execution/ProcessComponent.hpp:48
Definition: PdExecutor.hpp:68
Definition: PdExecutor.hpp:30
Definition: PdProcess.hpp:40
Definition: ExecutionContext.hpp:75
Definition: PdProcess.hpp:24
Definition: PortForward.hpp:23
Definition: PortForward.hpp:27