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>
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.
◆ 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