6#include "dsp/graph_node.h"
7#include "dsp/itransport.h"
8#include "dsp/tempo_map.h"
10#include <gmock/gmock.h>
12namespace zrythm::dsp::graph_test
33 const dsp::TempoMap &),
34 (
noexcept,
override));
42 (std::pair<units::sample_t, units::sample_t>),
45 (
const,
noexcept,
override));
47 (std::pair<units::sample_t, units::sample_t>),
50 (
const,
noexcept,
override));
51 MOCK_METHOD (PlayState, get_play_state, (), (
const,
noexcept,
override));
56 (
const,
noexcept,
override));
57 MOCK_METHOD (
bool, loop_enabled, (), (
const,
noexcept,
override));
58 MOCK_METHOD (
bool, punch_enabled, (), (
const,
noexcept,
override));
64 (
const,
noexcept,
override));
69 (
const,
noexcept,
override));
virtual units::sample_t recording_preroll_frames_remaining() const noexcept=0
Frames remaining to preroll (playing back some time earlier before actually recording/rolling).
virtual bool recording_enabled() const noexcept=0
Returns whether recording is enabled.
virtual std::pair< units::sample_t, units::sample_t > get_loop_range_positions() const noexcept=0
Returns the loop range positions in samples.
virtual std::pair< units::sample_t, units::sample_t > get_punch_range_positions() const noexcept=0
Returns the punch recording range positions in samples.
virtual units::sample_t get_playhead_position_in_audio_thread() const noexcept=0
Get the playhead position.
virtual units::sample_t metronome_countin_frames_remaining() const noexcept=0
Frames remaining for metronome countin.
Represents a node in a DSP graph.
Interface for objects that can be processed in the DSP graph.
virtual void prepare_for_processing(const GraphNode *node, units::sample_rate_t sample_rate, units::sample_u32_t max_block_length)
Called to allocate resources required for processing.
virtual utils::Utf8String get_node_name() const =0
Returns a human friendly name of the node.
virtual void release_resources()
Called to release resources allocated by prepare_for_processing().
virtual units::sample_u32_t get_single_playback_latency() const
Returns the latency of only the given processable, without adding the previous/next latencies (zero l...
Lightweight UTF-8 string wrapper with safe conversions.
Common struct to pass around during processing to avoid repeating the data in function arguments.