Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
aax_runtime_testing.hpp
Go to the documentation of this file.
1#pragma once
2
7
8#include <AAX_Enums.h>
9#include <acfunknown.h>
10
11#include <cstddef>
12#include <cstdint>
13#include <vector>
14
15// A stand-in for the pieces of a host the AAX runtime's lifecycle tests need:
16// the algorithm's private-data block that `ResetFieldData` constructs, and the
17// instance-init callback the host drives. Nothing here is reachable from a
18// shipped plug-in; the per-plugin wrapper never includes this header.
19
21
24
27AAX_Result reset_private_data(IACFUnknown* model, void* block, std::size_t size);
28
30int32_t instance_init_for_test(void* block, AAX_EComponentInstanceInitAction action);
31
34
37
39EditorHost* editor_host(IACFUnknown* model);
42int pending_latency_report_for_test(IACFUnknown* model);
43
45std::size_t select_layout_for_test(const std::vector<ComponentLayout>& components,
46 StemKind input_stem, StemKind output_stem);
49void adopt_layout_for_test(void* block, StemKind input_stem, StemKind output_stem,
50 double sample_rate);
51std::size_t instance_component_index(void* block);
53bool render_for_test(void* block, float** inputs, float** outputs, int frames, double sample_rate);
54
55} // namespace pulp::format::aax::testing
Definition processor.hpp:174
The editor-facing surface of the AAX data model.
Definition aax_editor.hpp:102
Centralized parameter storage with lock-free value access.
Definition store.hpp:164
Definition aax_runtime_testing.hpp:20
std::size_t instance_component_index(void *block)
EditorHost * editor_host(IACFUnknown *model)
The model's editor-facing surface.
bool render_for_test(void *block, float **inputs, float **outputs, int frames, double sample_rate)
Run one render callback over the instance with host-shaped pointer arrays.
int pending_latency_report_for_test(IACFUnknown *model)
The latency the model would republish on its next TimerWakeup, or -1 when the bound processor has not...
AAX_Result reset_private_data(IACFUnknown *model, void *block, std::size_t size)
Run the model's ResetFieldData for the private-data field against block, as the host does when it ins...
Processor * algorithm_processor(void *block)
The Processor that renders audio for block, or null when none exists.
void adopt_layout_for_test(void *block, StemKind input_stem, StemKind output_stem, double sample_rate)
Adopt a stem choice the way ResetFieldData does when the host's controller answers,...
int32_t instance_init_for_test(void *block, AAX_EComponentInstanceInitAction action)
Drive the algorithm's instance-init callback for block.
std::size_t private_data_block_size()
Size of the private-data block the algorithm registers with the host.
state::StateStore * algorithm_store(void *block)
Its store, or null.
std::size_t select_layout_for_test(const std::vector< ComponentLayout > &components, StemKind input_stem, StemKind output_stem)
Layout selection as the model performs it from the controller's stems.
StemKind
Definition aax_model.hpp:20