#include <windows.h>
#include <ndk/iofuncs.h>
#include <ndk/obfuncs.h>
#include <ndk/rtlfuncs.h>
#include <stdio.h>
#include <ntddbeep.h>
#include <math.h>
#include <mmddk.h>
#include <mmsystem.h>
Go to the source code of this file.
Data Structures |
| struct | NoteNode |
| struct | DeviceInfo |
Defines |
| #define | TIMESLICE_SIZE 60 |
| #define | ALLOW_DUPLICATE_NOTES |
| #define | POLYPHONY 3 |
| #define | CONTINUOUS_NOTES |
| #define | WIN32_NO_STATUS |
| #define | NTOS_MODE_USER |
| #define | DPRINT FakePrintf |
| #define | MIDI_NOTE_OFF 0x80 |
| #define | MIDI_NOTE_ON 0x90 |
| #define | MIDI_CONTROL_CHANGE 0xB0 |
| #define | MIDI_PROGRAM 0xC0 |
| #define | MIDI_PITCH_BEND 0xE0 |
| #define | MIDI_SYSTEM 0xFF |
| #define | MIDI_RESET 0xFF |
| #define | PACK_MIDI(b1, b2, b3) ((b3 * 65536) + (b2 * 256) + b1); |
Functions |
| void | FakePrintf (char *str,...) |
| DWORD WINAPI | ProcessPlayingNotes (LPVOID parameter) |
| MMRESULT | GetDeviceCapabilities (MIDIOUTCAPS *caps) |
| BOOL | CallClient (DeviceInfo *device_info, DWORD_PTR message, DWORD_PTR parameter1, DWORD_PTR parameter2) |
| MMRESULT | OpenDevice (DeviceInfo **private_data, MIDIOPENDESC *open_desc, DWORD flags) |
| MMRESULT | CloseDevice (DeviceInfo *device_info) |
| MMRESULT | StopNote (DeviceInfo *device_info, UCHAR note) |
| MMRESULT | PlayNote (DeviceInfo *device_info, UCHAR note, UCHAR velocity) |
| MMRESULT | ProcessShortMidiMessage (DeviceInfo *device_info, DWORD message) |
| MMRESULT | ProcessLongMidiMessage (DeviceInfo *device_info, MIDIHDR *header) |
| MMRESULT FAR PASCAL | modMessage (UINT device_id, UINT message, DWORD_PTR private_data, DWORD_PTR parameter1, DWORD_PTR parameter2) |
| LONG FAR PASCAL | DriverProc (DWORD driver_id, HDRVR driver_handle, UINT message, LONG parameter1, LONG parameter2) |
Variables |
| DeviceInfo * | the_device |
| CRITICAL_SECTION | device_lock |