Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::playback::ProgramWireNoteEventRecord Struct Reference

This happens to hold the same fields in the same order as NoteProgramEvent, and that correspondence is coincidental and must not be relied on. More...

#include <program_wire.hpp>

Public Attributes

std::int64_t sample = 0
std::int64_t tick = 0
std::uint64_t clip_id = 0
std::uint64_t note_id = 0
std::uint16_t velocity = 0
std::uint8_t pitch = 0
std::uint8_t channel = 0
std::uint8_t kind = 0
std::uint8_t pad [3] = {}

Detailed Description

This happens to hold the same fields in the same order as NoteProgramEvent, and that correspondence is coincidental and must not be relied on.

Do not reinterpret_cast between the two, in a native adapter or anywhere else: NoteProgramEvent is a program type free to gain a field, while this is a wire type whose layout is frozen by the byte golden, and the day they diverge the cast keeps compiling and starts reading the wrong offsets. Copy field by field; the encoder does.

Member Data Documentation

◆ channel

std::uint8_t pulp::playback::ProgramWireNoteEventRecord::channel = 0

◆ clip_id

std::uint64_t pulp::playback::ProgramWireNoteEventRecord::clip_id = 0

◆ kind

std::uint8_t pulp::playback::ProgramWireNoteEventRecord::kind = 0

◆ note_id

std::uint64_t pulp::playback::ProgramWireNoteEventRecord::note_id = 0

◆ pad

std::uint8_t pulp::playback::ProgramWireNoteEventRecord::pad[3] = {}

◆ pitch

std::uint8_t pulp::playback::ProgramWireNoteEventRecord::pitch = 0

◆ sample

std::int64_t pulp::playback::ProgramWireNoteEventRecord::sample = 0

◆ tick

std::int64_t pulp::playback::ProgramWireNoteEventRecord::tick = 0

◆ velocity

std::uint16_t pulp::playback::ProgramWireNoteEventRecord::velocity = 0

The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/playback/include/pulp/playback/program_wire.hpp