#include <cs_glue.hpp>
Public Member Functions | |
CsoundMidiInputStream (CSOUND *csound) | |
CsoundMidiInputStream (Csound *csound) | |
~CsoundMidiInputStream () | |
void | EnableMidiInput (CsoundArgVList *argv) |
void | SendMessage (int msg) |
void | SendMessage (int status, int channel, int data1, int data2) |
void | SendNoteOn (int channel, int key, int velocity) |
void | SendNoteOff (int channel, int key, int velocity) |
void | SendNoteOff (int channel, int key) |
void | SendPolyphonicPressure (int channel, int key, int value) |
void | SendControlChange (int channel, int ctl, int value) |
void | SendProgramChange (int channel, int pgm) |
void | SendChannelPressure (int channel, int value) |
void | SendPitchBend (int channel, int value) |
Protected Member Functions | |
int | GetMidiData (unsigned char *buf, int nBytes) |
Static Private Member Functions | |
static int | midiInOpenCallback (CSOUND *, void **, const char *) |
static int | midiInReadCallback (CSOUND *, void *, unsigned char *, int) |
static int | midiInCloseCallback (CSOUND *, void *) |
Private Attributes | |
unsigned char | buf_ [4096] |
CSOUND * | csound |
Friends | |
class | CsoundCallbackWrapper |
CsoundMidiInputStream::CsoundMidiInputStream | ( | CSOUND * | csound | ) |
CsoundMidiInputStream::CsoundMidiInputStream | ( | Csound * | csound | ) |
CsoundMidiInputStream::~CsoundMidiInputStream | ( | ) | [inline] |
void CsoundMidiInputStream::EnableMidiInput | ( | CsoundArgVList * | argv | ) |
Enables MIDI input for the associated Csound instance. Should be called between csoundPreCompile() and csoundCompile(). If 'argv' is not NULL, the command line arguments required for MIDI input are appended.
static int CsoundMidiInputStream::midiInOpenCallback | ( | CSOUND * | , | |
void ** | , | |||
const char * | ||||
) | [static, private] |
static int CsoundMidiInputStream::midiInReadCallback | ( | CSOUND * | , | |
void * | , | |||
unsigned char * | , | |||
int | ||||
) | [static, private] |
static int CsoundMidiInputStream::midiInCloseCallback | ( | CSOUND * | , | |
void * | ||||
) | [static, private] |
void CsoundMidiInputBuffer::SendMessage | ( | int | msg | ) | [inherited] |
Sends a MIDI message, 'msg' is calculated as follows: STATUS + DATA1 * 256 + DATA2 * 65536
void CsoundMidiInputBuffer::SendMessage | ( | int | status, | |
int | channel, | |||
int | data1, | |||
int | data2 | |||
) | [inherited] |
Sends a MIDI message; 'channel' should be in the range 1 to 16, and data1 and data2 should be in the range 0 to 127.
void CsoundMidiInputBuffer::SendNoteOn | ( | int | channel, | |
int | key, | |||
int | velocity | |||
) | [inherited] |
Sends a note-on message on 'channel' (1 to 16) for 'key' (0 to 127) with 'velocity' (0 to 127).
void CsoundMidiInputBuffer::SendNoteOff | ( | int | channel, | |
int | key, | |||
int | velocity | |||
) | [inherited] |
Sends a note-off message on 'channel' (1 to 16) for 'key' (0 to 127) with 'velocity' (0 to 127).
void CsoundMidiInputBuffer::SendNoteOff | ( | int | channel, | |
int | key | |||
) | [inherited] |
Sends a note-off message on 'channel' (1 to 16) for 'key', using a 0x90 status with zero velocity.
void CsoundMidiInputBuffer::SendPolyphonicPressure | ( | int | channel, | |
int | key, | |||
int | value | |||
) | [inherited] |
Sets polyphonic pressure on 'channel' (1 to 16) to 'value' (0 to 127) for 'key' (0 to 127).
void CsoundMidiInputBuffer::SendControlChange | ( | int | channel, | |
int | ctl, | |||
int | value | |||
) | [inherited] |
Sets controller 'ctl' (0 to 127) to 'value' (0 to 127) on 'channel' (1 to 16).
void CsoundMidiInputBuffer::SendProgramChange | ( | int | channel, | |
int | pgm | |||
) | [inherited] |
Sends program change to 'pgm' (1 to 128) on 'channel' (1 to 16).
void CsoundMidiInputBuffer::SendChannelPressure | ( | int | channel, | |
int | value | |||
) | [inherited] |
Sets channel pressure to 'value' (0 to 127) on 'channel' (1 to 16).
void CsoundMidiInputBuffer::SendPitchBend | ( | int | channel, | |
int | value | |||
) | [inherited] |
Sets pitch bend to 'value' (-8192 to 8191) on 'channel' (1 to 16).
int CsoundMidiInputBuffer::GetMidiData | ( | unsigned char * | buf, | |
int | nBytes | |||
) | [protected, inherited] |
Copies at most 'nBytes' bytes of MIDI data from the buffer to 'buf'. Returns the number of bytes copied.
friend class CsoundCallbackWrapper [friend, inherited] |
unsigned char CsoundMidiInputStream::buf_[4096] [private] |
CSOUND* CsoundMidiInputStream::csound [private] |