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
3
#include <
pulp/format/aax_editor.hpp
>
4
#include <
pulp/format/aax_model.hpp
>
5
#include <
pulp/format/processor.hpp
>
6
#include <
pulp/state/store.hpp
>
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
20
namespace
pulp::format::aax::testing
{
21
23
std::size_t
private_data_block_size
();
24
27
AAX_Result
reset_private_data
(IACFUnknown* model,
void
* block, std::size_t size);
28
30
int32_t
instance_init_for_test
(
void
* block, AAX_EComponentInstanceInitAction action);
31
33
Processor
*
algorithm_processor
(
void
* block);
34
36
state::StateStore
*
algorithm_store
(
void
* block);
37
39
EditorHost
*
editor_host
(IACFUnknown* model);
42
int
pending_latency_report_for_test
(IACFUnknown* model);
43
45
std::size_t
select_layout_for_test
(
const
std::vector<ComponentLayout>& components,
46
StemKind
input_stem,
StemKind
output_stem);
49
void
adopt_layout_for_test
(
void
* block,
StemKind
input_stem,
StemKind
output_stem,
50
double
sample_rate);
51
std::size_t
instance_component_index
(
void
* block);
53
bool
render_for_test
(
void
* block,
float
** inputs,
float
** outputs,
int
frames,
double
sample_rate);
54
55
}
// namespace pulp::format::aax::testing
aax_editor.hpp
aax_model.hpp
pulp::format::Processor
Definition
processor.hpp:174
pulp::format::aax::EditorHost
The editor-facing surface of the AAX data model.
Definition
aax_editor.hpp:102
pulp::state::StateStore
Centralized parameter storage with lock-free value access.
Definition
store.hpp:164
pulp::format::aax::testing
Definition
aax_runtime_testing.hpp:20
pulp::format::aax::testing::instance_component_index
std::size_t instance_component_index(void *block)
pulp::format::aax::testing::editor_host
EditorHost * editor_host(IACFUnknown *model)
The model's editor-facing surface.
pulp::format::aax::testing::render_for_test
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.
pulp::format::aax::testing::pending_latency_report_for_test
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...
pulp::format::aax::testing::reset_private_data
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...
pulp::format::aax::testing::algorithm_processor
Processor * algorithm_processor(void *block)
The Processor that renders audio for block, or null when none exists.
pulp::format::aax::testing::adopt_layout_for_test
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,...
pulp::format::aax::testing::instance_init_for_test
int32_t instance_init_for_test(void *block, AAX_EComponentInstanceInitAction action)
Drive the algorithm's instance-init callback for block.
pulp::format::aax::testing::private_data_block_size
std::size_t private_data_block_size()
Size of the private-data block the algorithm registers with the host.
pulp::format::aax::testing::algorithm_store
state::StateStore * algorithm_store(void *block)
Its store, or null.
pulp::format::aax::testing::select_layout_for_test
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.
pulp::format::aax::StemKind
StemKind
Definition
aax_model.hpp:20
processor.hpp
store.hpp
core
format
include
pulp
format
aax_runtime_testing.hpp
Generated by
1.15.0