4 |
* * |
* * |
5 |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
* Copyright (C) 2003, 2004 by Benno Senoner and Christian Schoenebeck * |
6 |
* Copyright (C) 2004 Grame * |
* Copyright (C) 2004 Grame * |
7 |
|
* Copyright (C) 2014 Christian Schoenebeck * |
8 |
* * |
* * |
9 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
10 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
70 |
MidiAcceptType(hMidiFilter, typeKeyOn, 1); |
MidiAcceptType(hMidiFilter, typeKeyOn, 1); |
71 |
MidiAcceptType(hMidiFilter, typeKeyOff, 1); |
MidiAcceptType(hMidiFilter, typeKeyOff, 1); |
72 |
MidiAcceptType(hMidiFilter, typeCtrlChange, 1); |
MidiAcceptType(hMidiFilter, typeCtrlChange, 1); |
73 |
//MidiAcceptType(hMidiFilter, typeProgChange, 1); |
MidiAcceptType(hMidiFilter, typeProgChange, 1); |
74 |
MidiAcceptType(hMidiFilter, typePitchWheel, 1); |
MidiAcceptType(hMidiFilter, typePitchWheel, 1); |
75 |
|
MidiAcceptType(hMidiFilter, typeChanPress, 1); |
76 |
|
MidiAcceptType(hMidiFilter, typeKeyPress, 1); |
77 |
|
|
78 |
/* set the filter */ |
/* set the filter */ |
79 |
MidiSetFilter(hRefnum, hMidiFilter); |
MidiSetFilter(hRefnum, hMidiFilter); |
177 |
driver->DispatchPitchbend(((MidiGetField(ev,0)+(MidiGetField(ev,1) << 7)) - 8192),Chan(ev)); |
driver->DispatchPitchbend(((MidiGetField(ev,0)+(MidiGetField(ev,1) << 7)) - 8192),Chan(ev)); |
178 |
MidiFreeEv(ev); |
MidiFreeEv(ev); |
179 |
break; |
break; |
180 |
|
|
181 |
|
case typeChanPress: |
182 |
|
driver->DispatchChannelPressure(MidiGetField(ev,0),Chan(ev)); |
183 |
|
MidiFreeEv(ev); |
184 |
|
break; |
185 |
|
|
186 |
|
case typeKeyPress: |
187 |
|
driver->DispatchPolyphonicKeyPressure(Pitch(ev),Vel(ev),Chan(ev)); |
188 |
|
MidiFreeEv(ev); |
189 |
|
break; |
190 |
|
|
191 |
case typeNote: |
case typeNote: |
192 |
driver->DispatchNoteOn(Pitch(ev),Vel(ev),Chan(ev)); |
driver->DispatchNoteOn(Pitch(ev),Vel(ev),Chan(ev)); |
193 |
MidiTask(KeyOffTask,Date(ev)+Dur(ev),ref,(long)ev,0,0); |
MidiTask(KeyOffTask,Date(ev)+Dur(ev),ref,(long)ev,0,0); |