ardour
Public Member Functions | Private Attributes | List of all members
Evoral::PatchChange< Time > Class Template Reference

#include <PatchChange.hpp>

Public Member Functions

 PatchChange (Time t, uint8_t c, uint8_t p, int b)
 
 PatchChange (const PatchChange &other)
 
event_id_t id () const
 
void set_id (event_id_t id)
 
Time time () const
 
void set_time (Time t)
 
void set_channel (uint8_t c)
 
uint8_t program () const
 
void set_program (uint8_t p)
 
int bank () const
 
void set_bank (int b)
 
uint8_t bank_msb () const
 
uint8_t bank_lsb () const
 
uint8_t channel () const
 
bool operator< (const PatchChange< Time > &o) const
 
bool operator== (const PatchChange< Time > &o) const
 
MIDIEvent< Time > const & message (int i) const
 
int messages () const
 

Private Attributes

MIDIEvent< Time > _bank_change_msb
 
MIDIEvent< Time > _bank_change_lsb
 
MIDIEvent< Time > _program_change
 

Detailed Description

template<typename Time>
class Evoral::PatchChange< Time >

Event representing a `patch change', composed of a LSB and MSB bank select and then a program change.

Definition at line 33 of file PatchChange.hpp.

Constructor & Destructor Documentation

template<typename Time>
Evoral::PatchChange< Time >::PatchChange ( Time  t,
uint8_t  c,
uint8_t  p,
int  b 
)
inline
Parameters
tTime.
cChannel.
pProgram change number (counted from 0).
bBank number (counted from 0, 14-bit).

Definition at line 41 of file PatchChange.hpp.

template<typename Time>
Evoral::PatchChange< Time >::PatchChange ( const PatchChange< Time > &  other)
inline

Definition at line 58 of file PatchChange.hpp.

Member Function Documentation

template<typename Time>
int Evoral::PatchChange< Time >::bank ( ) const
inline

Definition at line 103 of file PatchChange.hpp.

template<typename Time>
uint8_t Evoral::PatchChange< Time >::bank_lsb ( ) const
inline

Definition at line 116 of file PatchChange.hpp.

template<typename Time>
uint8_t Evoral::PatchChange< Time >::bank_msb ( ) const
inline

Definition at line 112 of file PatchChange.hpp.

template<typename Time>
uint8_t Evoral::PatchChange< Time >::channel ( ) const
inline

Definition at line 120 of file PatchChange.hpp.

template<typename Time>
event_id_t Evoral::PatchChange< Time >::id ( ) const
inline

Definition at line 66 of file PatchChange.hpp.

template<typename Time>
MIDIEvent<Time> const& Evoral::PatchChange< Time >::message ( int  i) const
inline

The PatchChange is made up of messages() MIDI messages; this method returns them by index.

Parameters
iindex of message to return.

Definition at line 141 of file PatchChange.hpp.

template<typename Time>
int Evoral::PatchChange< Time >::messages ( ) const
inline
Returns
Number of MIDI messages that make up this change

Definition at line 156 of file PatchChange.hpp.

template<typename Time>
bool Evoral::PatchChange< Time >::operator< ( const PatchChange< Time > &  o) const
inline

Definition at line 122 of file PatchChange.hpp.

template<typename Time>
bool Evoral::PatchChange< Time >::operator== ( const PatchChange< Time > &  o) const
inline

Definition at line 134 of file PatchChange.hpp.

template<typename Time>
uint8_t Evoral::PatchChange< Time >::program ( ) const
inline

Definition at line 95 of file PatchChange.hpp.

template<typename Time>
void Evoral::PatchChange< Time >::set_bank ( int  b)
inline

Definition at line 107 of file PatchChange.hpp.

template<typename Time>
void Evoral::PatchChange< Time >::set_channel ( uint8_t  c)
inline

Definition at line 86 of file PatchChange.hpp.

template<typename Time>
void Evoral::PatchChange< Time >::set_id ( event_id_t  id)
inline

Definition at line 70 of file PatchChange.hpp.

template<typename Time>
void Evoral::PatchChange< Time >::set_program ( uint8_t  p)
inline

Definition at line 99 of file PatchChange.hpp.

template<typename Time>
void Evoral::PatchChange< Time >::set_time ( Time  t)
inline

Definition at line 80 of file PatchChange.hpp.

template<typename Time>
Time Evoral::PatchChange< Time >::time ( ) const
inline

Definition at line 76 of file PatchChange.hpp.

Member Data Documentation

template<typename Time>
MIDIEvent<Time> Evoral::PatchChange< Time >::_bank_change_lsb
private

Definition at line 162 of file PatchChange.hpp.

template<typename Time>
MIDIEvent<Time> Evoral::PatchChange< Time >::_bank_change_msb
private

Definition at line 161 of file PatchChange.hpp.

template<typename Time>
MIDIEvent<Time> Evoral::PatchChange< Time >::_program_change
private

Definition at line 163 of file PatchChange.hpp.


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