Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::dsp::MidiPort Class Referencefinal
Inheritance diagram for zrythm::dsp::MidiPort:
Collaboration diagram for zrythm::dsp::MidiPort:

Public Member Functions

 MidiPort (utils::Utf8String label, PortFlow flow)
void process_block (dsp::graph::ProcessBlockInfo time_nfo, const dsp::ITransport &transport, const dsp::TempoMap &tempo_map) noexcept override
void prepare_for_processing_impl (const graph::GraphNode *node, units::sample_rate_t sample_rate, units::sample_u32_t max_block_length) override
void release_resources () override
 Called to release resources allocated by prepare_for_processing().
void clear_buffer (std::size_t offset, std::size_t nframes) override
 Clears the port buffer.
Public Member Functions inherited from zrythm::dsp::Port
void set_full_designation_provider (FullDesignationProvider provider)
void set_full_designation_provider (const auto *owner)
 Convenience helper for providers that contain a get_full_designation_for_port() method.
bool is_input () const
bool is_output () const
bool is_midi () const
bool is_cv () const
bool is_audio () const
utils::Utf8String get_label () const
auto get_symbol () const
void set_symbol (const utils::Utf8String &sym)
utils::Utf8String get_node_name () const override
 Returns a human friendly name of the node.
utils::Utf8String get_full_designation () const
 Gets a full designation of the port in the format "Track/Port" or "Track/Plugin/Port".
bool has_label () const
PortType type () const
PortFlow flow () const
Public Member Functions inherited from zrythm::utils::UuidIdentifiableObject< Port >
 UuidIdentifiableObject (QObject *parent=nullptr)
auto get_uuid () const
Public Member Functions inherited from zrythm::utils::UuidIdentifiableBase
 UuidIdentifiableBase (QObject *parent=nullptr)
 UuidIdentifiableBase (const QUuid &id, QObject *parent=nullptr)
QUuid raw_uuid () const
Public Member Functions inherited from zrythm::dsp::graph::IProcessable
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 latency by default).
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.
Public Member Functions inherited from zrythm::dsp::PortConnectionsCacheMixin< MidiPort >
auto & port_sources () const
void set_port_sources (this auto &self, utils::RangeOf< MidiPort * > auto source_ports)

Data Fields

dsp::MidiEventBuffer buffer_

Friends

void init_from (MidiPort &obj, const MidiPort &other, utils::ObjectCloneType clone_type)
void to_json (nlohmann::json &j, const MidiPort &p)
void from_json (const nlohmann::json &j, MidiPort &p)

Additional Inherited Members

Public Types inherited from zrythm::dsp::Port
using FullDesignationProvider
Public Types inherited from zrythm::utils::UuidIdentifiableObject< Port >
using uuid_base_type
 Exposes the CRTP parameter for concept checking.
Protected Member Functions inherited from zrythm::dsp::Port
 Port (utils::Utf8String label, PortType type={}, PortFlow flow={}, QObject *parent=nullptr)
Protected Member Functions inherited from zrythm::utils::UuidIdentifiableBase
void set_raw_uuid (const QUuid &id)

Detailed Description

Definition at line 13 of file midi_port.h.

Member Function Documentation

◆ clear_buffer()

void zrythm::dsp::MidiPort::clear_buffer ( std::size_t offset,
std::size_t nframes )
overridevirtual

Clears the port buffer.

Implements zrythm::dsp::Port.

◆ prepare_for_processing_impl()

void zrythm::dsp::MidiPort::prepare_for_processing_impl ( const graph::GraphNode * node,
units::sample_rate_t sample_rate,
units::sample_u32_t max_block_length )
overridevirtual

Reimplemented from zrythm::dsp::graph::IProcessable.

◆ process_block()

void zrythm::dsp::MidiPort::process_block ( dsp::graph::ProcessBlockInfo time_nfo,
const dsp::ITransport & transport,
const dsp::TempoMap & tempo_map )
overridevirtualnoexcept

Reimplemented from zrythm::dsp::graph::IProcessable.

◆ release_resources()

void zrythm::dsp::MidiPort::release_resources ( )
overridevirtual

Called to release resources allocated by prepare_for_processing().

This may be called multiple times.

Reimplemented from zrythm::dsp::graph::IProcessable.

◆ from_json

void from_json ( const nlohmann::json & j,
MidiPort & p )
friend

Definition at line 46 of file midi_port.h.

◆ to_json

void to_json ( nlohmann::json & j,
const MidiPort & p )
friend

Definition at line 42 of file midi_port.h.

Field Documentation

◆ buffer_

dsp::MidiEventBuffer zrythm::dsp::MidiPort::buffer_

Definition at line 52 of file midi_port.h.


The documentation for this class was generated from the following file: