Initial
This commit is contained in:
58
midiseq/ChannelModeMessage.hpp
Normal file
58
midiseq/ChannelModeMessage.hpp
Normal file
@@ -0,0 +1,58 @@
|
||||
#ifndef _MIDISEQ_CHANNELMODEMESSAGE_HPP_
|
||||
#define _MIDISEQ_CHANNELMODEMESSAGE_HPP_
|
||||
#ifndef _MIDISEQ_PUREEVENT_HPP_
|
||||
#include <midiseq/pureevnt.hpp>
|
||||
#endif
|
||||
|
||||
class ChannelModeMessage
|
||||
{
|
||||
public:
|
||||
typedef enum ChannelMessage{AllNotesOff,LocalControlOff,LocalControlOn,
|
||||
Modulation,MainVolume,Pan,Expression,Sustain,ResetAllControllers};
|
||||
ChannelModeMessage(ChannelMessage channelMessage=AllNotesOff);
|
||||
virtual ~ChannelModeMessage();
|
||||
PureEvent getEvent(BYTE deltaTime=0,BYTE channel=0,BYTE value=0);
|
||||
private:
|
||||
ChannelMessage mChannelMessage;
|
||||
};
|
||||
|
||||
inline
|
||||
ChannelModeMessage::ChannelModeMessage(ChannelMessage channelMessage)
|
||||
: mChannelMessage(channelMessage)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ChannelModeMessage::~ChannelModeMessage()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
PureEvent ChannelModeMessage::getEvent(BYTE deltaTime,BYTE channel,BYTE value)
|
||||
{
|
||||
switch(mChannelMessage)
|
||||
{
|
||||
case AllNotesOff :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,123,0);
|
||||
case LocalControlOff :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,122,0);
|
||||
case LocalControlOn :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,122,127);
|
||||
case Modulation :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,1,value);
|
||||
case MainVolume :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,7,value);
|
||||
case Pan :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,10,value);
|
||||
case Expression :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,11,value);
|
||||
case Sustain :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,64,value);
|
||||
case ResetAllControllers :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,121,0);
|
||||
default :
|
||||
return PureEvent(MIDIParameter,deltaTime,channel,123,0); // default is all notes off
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user