21 #ifndef EVORAL_PATCH_CHANGE_HPP
22 #define EVORAL_PATCH_CHANGE_HPP
35 template<
typename Time>
224 template<
typename Time>
226 o <<
"Patch Change " << p.
id() <<
" @ " << p.
time() <<
" bank " << (int) p.
bank() <<
" program " << (int) p.
program();
std::ostream & operator<<(std::ostream &o, const Evoral::PatchChange< Time > &p)
void set_program(uint8_t p)
Event< Time > _bank_change_msb
Event< Time > _program_change
Event< Time > const & message(int i) const
PatchChange(const PatchChange &other)
void set_channel(uint8_t c)
Event< Time > _bank_change_lsb
PatchChange(Time t, uint8_t c, uint8_t p, int b)
bool operator==(const PatchChange< Time > &o) const
bool operator<(const PatchChange< Time > &o) const
PatchChange & operator=(PatchChange const &other)
void set_id(event_id_t id)
#define MIDI_CTL_MSB_BANK
#define MIDI_CTL_LSB_BANK
#define MIDI_CMD_PGM_CHANGE