unsigned int -> unsigned and trimmed whitespace.
This commit is contained in:
parent
601ddb3773
commit
c4d5d76f4a
12
src/MIDI.cpp
12
src/MIDI.cpp
|
|
@ -3,7 +3,7 @@
|
|||
* Project Arduino MIDI Library
|
||||
* @brief MIDI Library for the Arduino
|
||||
* @version 4.0
|
||||
* @author Francois Best
|
||||
* @author Francois Best
|
||||
* @date 24/02/11
|
||||
* license GPL Forty Seven Effects - 2011
|
||||
*/
|
||||
|
|
@ -37,7 +37,7 @@ BEGIN_MIDI_NAMESPACE
|
|||
|
||||
/*! \brief Encode System Exclusive messages.
|
||||
SysEx messages are encoded to guarantee transmission of data bytes higher than
|
||||
127 without breaking the MIDI protocol. Use this static method to convert the
|
||||
127 without breaking the MIDI protocol. Use this static method to convert the
|
||||
data you want to send.
|
||||
\param inData The data to encode.
|
||||
\param outSysEx The output buffer where to store the encoded message.
|
||||
|
|
@ -59,7 +59,7 @@ unsigned encodeSysEx(const byte* inData, byte* outSysEx, unsigned inLength)
|
|||
|
||||
outSysEx[0] |= (msb << count);
|
||||
outSysEx[1 + count] = body;
|
||||
|
||||
|
||||
if (count++ == 6)
|
||||
{
|
||||
outSysEx += 8;
|
||||
|
|
@ -73,7 +73,7 @@ unsigned encodeSysEx(const byte* inData, byte* outSysEx, unsigned inLength)
|
|||
|
||||
/*! \brief Decode System Exclusive messages.
|
||||
SysEx messages are encoded to guarantee transmission of data bytes higher than
|
||||
127 without breaking the MIDI protocol. Use this static method to reassemble
|
||||
127 without breaking the MIDI protocol. Use this static method to reassemble
|
||||
your received message.
|
||||
\param inSysEx The SysEx data received from MIDI in.
|
||||
\param outData The output buffer where to store the decrypted message.
|
||||
|
|
@ -85,13 +85,13 @@ unsigned decodeSysEx(const byte* inSysEx, byte* outData, unsigned inLength)
|
|||
{
|
||||
unsigned count = 0;
|
||||
byte msbStorage = 0;
|
||||
|
||||
|
||||
for (unsigned i = 0; i < inLength; ++i)
|
||||
{
|
||||
if ((i % 8) == 0)
|
||||
{
|
||||
msbStorage = inSysEx[i];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
outData[count++] = inSysEx[i] | ((msbStorage & 1) << 7);
|
||||
|
|
|
|||
122
src/MIDI.h
122
src/MIDI.h
|
|
@ -3,7 +3,7 @@
|
|||
* Project Arduino MIDI Library
|
||||
* @brief MIDI Library for the Arduino
|
||||
* @version 4.0
|
||||
* @author Francois Best
|
||||
* @author Francois Best
|
||||
* @date 24/02/11
|
||||
* license GPL Forty Seven Effects - 2011
|
||||
*/
|
||||
|
|
@ -33,113 +33,113 @@ class MidiInterface
|
|||
public:
|
||||
MidiInterface(SerialPort& inSerial);
|
||||
~MidiInterface();
|
||||
|
||||
|
||||
public:
|
||||
void begin(Channel inChannel = 1);
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// MIDI Output
|
||||
|
||||
|
||||
#if MIDI_BUILD_OUTPUT
|
||||
|
||||
|
||||
public:
|
||||
inline void sendNoteOn(DataByte inNoteNumber,
|
||||
DataByte inVelocity,
|
||||
Channel inChannel);
|
||||
|
||||
|
||||
inline void sendNoteOff(DataByte inNoteNumber,
|
||||
DataByte inVelocity,
|
||||
Channel inChannel);
|
||||
|
||||
|
||||
inline void sendProgramChange(DataByte inProgramNumber,
|
||||
Channel inChannel);
|
||||
|
||||
|
||||
inline void sendControlChange(DataByte inControlNumber,
|
||||
DataByte inControlValue,
|
||||
DataByte inControlValue,
|
||||
Channel inChannel);
|
||||
|
||||
|
||||
inline void sendPitchBend(int inPitchValue, Channel inChannel);
|
||||
inline void sendPitchBend(double inPitchValue, Channel inChannel);
|
||||
|
||||
|
||||
inline void sendPolyPressure(DataByte inNoteNumber,
|
||||
DataByte inPressure,
|
||||
Channel inChannel);
|
||||
|
||||
|
||||
inline void sendAfterTouch(DataByte inPressure,
|
||||
Channel inChannel);
|
||||
|
||||
inline void sendSysEx(unsigned int inLength,
|
||||
|
||||
inline void sendSysEx(unsigned inLength,
|
||||
const byte* inArray,
|
||||
bool inArrayContainsBoundaries = false);
|
||||
|
||||
inline void sendTimeCodeQuarterFrame(DataByte inTypeNibble,
|
||||
bool inArrayContainsBoundaries = false);
|
||||
|
||||
inline void sendTimeCodeQuarterFrame(DataByte inTypeNibble,
|
||||
DataByte inValuesNibble);
|
||||
inline void sendTimeCodeQuarterFrame(DataByte inData);
|
||||
|
||||
inline void sendSongPosition(unsigned int inBeats);
|
||||
|
||||
inline void sendSongPosition(unsigned inBeats);
|
||||
inline void sendSongSelect(DataByte inSongNumber);
|
||||
inline void sendTuneRequest();
|
||||
inline void sendRealTime(MidiType inType);
|
||||
|
||||
|
||||
public:
|
||||
void send(MidiType inType,
|
||||
DataByte inData1,
|
||||
DataByte inData2,
|
||||
Channel inChannel);
|
||||
|
||||
|
||||
private:
|
||||
inline StatusByte getStatus(MidiType inType,
|
||||
Channel inChannel) const;
|
||||
|
||||
|
||||
#endif // MIDI_BUILD_OUTPUT
|
||||
|
||||
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// MIDI Input
|
||||
|
||||
|
||||
#if MIDI_BUILD_INPUT
|
||||
|
||||
|
||||
public:
|
||||
bool read();
|
||||
bool read(Channel inChannel);
|
||||
|
||||
|
||||
public:
|
||||
inline MidiType getType() const;
|
||||
inline Channel getChannel() const;
|
||||
inline DataByte getData1() const;
|
||||
inline DataByte getData2() const;
|
||||
inline const byte* getSysExArray() const;
|
||||
inline unsigned int getSysExArrayLength() const;
|
||||
inline unsigned getSysExArrayLength() const;
|
||||
inline bool check() const;
|
||||
|
||||
|
||||
public:
|
||||
inline Channel getInputChannel() const;
|
||||
inline void setInputChannel(Channel inChannel);
|
||||
|
||||
|
||||
public:
|
||||
static inline MidiType getTypeFromStatusByte(byte inStatus);
|
||||
static inline bool isChannelMessage(MidiType inType);
|
||||
|
||||
|
||||
private:
|
||||
bool inputFilter(Channel inChannel);
|
||||
bool parse();
|
||||
void resetInput();
|
||||
|
||||
|
||||
private:
|
||||
StatusByte mRunningStatus_RX;
|
||||
Channel mInputChannel;
|
||||
|
||||
|
||||
byte mPendingMessage[3]; // SysEx are dumped into mMessage directly.
|
||||
unsigned int mPendingMessageExpectedLenght;
|
||||
unsigned int mPendingMessageIndex; // Extended to unsigned int for larger SysEx payloads.
|
||||
unsigned mPendingMessageExpectedLenght;
|
||||
unsigned mPendingMessageIndex; // Extended to unsigned for larger SysEx payloads.
|
||||
Message mMessage;
|
||||
|
||||
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Input Callbacks
|
||||
|
||||
|
||||
#if MIDI_USE_CALLBACKS
|
||||
|
||||
|
||||
public:
|
||||
inline void setHandleNoteOff(void (*fptr)(byte channel, byte note, byte velocity));
|
||||
inline void setHandleNoteOn(void (*fptr)(byte channel, byte note, byte velocity));
|
||||
|
|
@ -150,7 +150,7 @@ public:
|
|||
inline void setHandlePitchBend(void (*fptr)(byte channel, int bend));
|
||||
inline void setHandleSystemExclusive(void (*fptr)(byte * array, byte size));
|
||||
inline void setHandleTimeCodeQuarterFrame(void (*fptr)(byte data));
|
||||
inline void setHandleSongPosition(void (*fptr)(unsigned int beats));
|
||||
inline void setHandleSongPosition(void (*fptr)(unsigned beats));
|
||||
inline void setHandleSongSelect(void (*fptr)(byte songnumber));
|
||||
inline void setHandleTuneRequest(void (*fptr)(void));
|
||||
inline void setHandleClock(void (*fptr)(void));
|
||||
|
|
@ -159,13 +159,13 @@ public:
|
|||
inline void setHandleStop(void (*fptr)(void));
|
||||
inline void setHandleActiveSensing(void (*fptr)(void));
|
||||
inline void setHandleSystemReset(void (*fptr)(void));
|
||||
|
||||
|
||||
inline void disconnectCallbackFromType(MidiType inType);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
void launchCallback();
|
||||
|
||||
|
||||
void (*mNoteOffCallback)(byte channel, byte note, byte velocity);
|
||||
void (*mNoteOnCallback)(byte channel, byte note, byte velocity);
|
||||
void (*mAfterTouchPolyCallback)(byte channel, byte note, byte velocity);
|
||||
|
|
@ -175,7 +175,7 @@ private:
|
|||
void (*mPitchBendCallback)(byte channel, int);
|
||||
void (*mSystemExclusiveCallback)(byte * array, byte size);
|
||||
void (*mTimeCodeQuarterFrameCallback)(byte data);
|
||||
void (*mSongPositionCallback)(unsigned int beats);
|
||||
void (*mSongPositionCallback)(unsigned beats);
|
||||
void (*mSongSelectCallback)(byte songnumber);
|
||||
void (*mTuneRequestCallback)(void);
|
||||
void (*mClockCallback)(void);
|
||||
|
|
@ -184,43 +184,43 @@ private:
|
|||
void (*mStopCallback)(void);
|
||||
void (*mActiveSensingCallback)(void);
|
||||
void (*mSystemResetCallback)(void);
|
||||
|
||||
#endif // MIDI_USE_CALLBACKS
|
||||
|
||||
|
||||
#endif // MIDI_USE_CALLBACKS
|
||||
|
||||
#endif // MIDI_BUILD_INPUT
|
||||
|
||||
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// MIDI Soft Thru
|
||||
|
||||
|
||||
#if MIDI_BUILD_THRU
|
||||
|
||||
|
||||
public:
|
||||
inline MidiFilterMode getFilterMode() const;
|
||||
inline bool getThruState() const;
|
||||
|
||||
|
||||
inline void turnThruOn(MidiFilterMode inThruFilterMode = Full);
|
||||
inline void turnThruOff();
|
||||
inline void setThruFilterMode(MidiFilterMode inThruFilterMode);
|
||||
|
||||
|
||||
|
||||
|
||||
private:
|
||||
void thruFilter(byte inChannel);
|
||||
|
||||
|
||||
private:
|
||||
bool mThruActivated : 1;
|
||||
MidiFilterMode mThruFilterMode : 7;
|
||||
|
||||
|
||||
#endif // MIDI_BUILD_THRU
|
||||
|
||||
|
||||
|
||||
#if MIDI_USE_RUNNING_STATUS
|
||||
|
||||
|
||||
private:
|
||||
StatusByte mRunningStatus_TX;
|
||||
|
||||
|
||||
#endif // MIDI_USE_RUNNING_STATUS
|
||||
|
||||
|
||||
private:
|
||||
SerialPort& mSerial;
|
||||
};
|
||||
|
|
|
|||
402
src/MIDI.hpp
402
src/MIDI.hpp
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue