53 std::vector<double>& get_audio_buffer_data(
ProcessingToken token, uint32_t channel);
61 [[nodiscard]]
const std::vector<double>& get_audio_buffer_data(
ProcessingToken token, uint32_t channel)
const;
72 [[nodiscard]] uint32_t get_num_audio_out_channels(
ProcessingToken token)
const;
79 [[nodiscard]] uint32_t get_audio_buffer_size(
ProcessingToken token)
const;
93 void ensure_audio_channels(
ProcessingToken token, uint32_t channel_count);
124 std::shared_ptr<RootGraphicsBuffer> get_root_graphics_buffer(
ProcessingToken token);
131 [[nodiscard]] std::shared_ptr<const RootGraphicsBuffer> get_root_graphics_buffer(
ProcessingToken token)
const;
144 const std::shared_ptr<Buffer>& buffer,
146 uint32_t channel = 0);
154 void add_audio_buffer(
155 const std::shared_ptr<AudioBuffer>& buffer,
166 const std::shared_ptr<Buffer>& buffer,
168 uint32_t channel = 0);
176 void remove_audio_buffer(
177 const std::shared_ptr<AudioBuffer>& buffer,
187 [[nodiscard]]
const std::vector<std::shared_ptr<AudioBuffer>>& get_audio_buffers(
189 uint32_t channel)
const;
200 void add_graphics_buffer(
const std::shared_ptr<Buffer>& buffer,
ProcessingToken token);
207 void remove_graphics_buffer(
const std::shared_ptr<Buffer>& buffer,
ProcessingToken token);
214 [[nodiscard]]
const std::vector<std::shared_ptr<VKBuffer>>& get_graphics_buffers(
ProcessingToken token)
const;
222 [[nodiscard]] std::vector<std::shared_ptr<VKBuffer>> get_graphics_buffers_by_usage(
236 std::shared_ptr<BufferProcessingChain> get_audio_processing_chain(
ProcessingToken token, uint32_t channel);
243 std::shared_ptr<BufferProcessingChain> get_graphics_processing_chain(
ProcessingToken token);
248 void initialize_buffer_service();
253 void terminate_active_buffers();