Files
tlib/synth/midi_event.h
Christopher Herb d0fcc225a1 formatting
2023-07-10 18:11:42 +02:00

49 lines
969 B
C++

#pragma once
namespace trnr {
enum midi_event_type {
note_on = 0,
note_off,
pitch_wheel,
mod_wheel
};
class midi_event {
public:
midi_event_type type;
int offset = 0;
int midi_note = 0;
float velocity = 1.f;
double data = 0;
void make_note_on(int _midi_note, float _velocity, int _offset = 0)
{
type = midi_event_type::note_on;
midi_note = _midi_note;
velocity = _velocity;
offset = _offset;
}
void make_note_off(int _midi_note, float _velocity, int _offset = 0)
{
type = midi_event_type::note_off;
midi_note = _midi_note;
velocity = _velocity;
offset = _offset;
}
void make_pitch_weel(double _pitch, int _offset = 0)
{
type = midi_event_type::pitch_wheel;
data = _pitch;
}
void make_mod_weel(double _mod, int _offset = 0)
{
type = midi_event_type::pitch_wheel;
data = _mod;
}
};
}