ReactOS 0.4.16-dev-311-g9382aa2
miditest.c
Go to the documentation of this file.
1#include <windows.h>
2#include <stdio.h>
3#include <mmsystem.h>
4
5// WINE's mmsystem.h doesn't seem to define these properly:
6
7#define MIDIOUTCAPS MIDIOUTCAPSA
8#define MIDIINCAPS MIDIINCAPSA
9#undef midiOutGetDevCaps
10#define midiOutGetDevCaps midiOutGetDevCapsA
11#undef midiInGetDevCaps
12#define midiInGetDevCaps midiInGetDevCapsA
13
14
15int main()
16{
17 UINT outs = midiOutGetNumDevs();
18// UINT ins = midiInGetNumDevs();
19
20 MIDIOUTCAPS outcaps;
21// MIDIINCAPS incaps;
22
23 int c;
24
25 HMIDIOUT Handle = NULL;
27
28 printf("MIDI output devices: %d\n", outs);
29
30 for (c = 0; c < outs; c ++)
31 {
32 if (midiOutGetDevCaps(c, &outcaps, sizeof(MIDIOUTCAPS)) == MMSYSERR_NOERROR)
33 printf("Device #%d: %s\n", c, outcaps.szPname);
34 }
35
36 printf("Opening MIDI output #0\n");
37
39 printf("Result == %d Handle == %p\n", Result, Handle);
40
41 // play something:
42 midiOutShortMsg(Handle, 0x007f3090);
43
44/*
45 printf("\nMIDI input devices: %d\n", ins);
46
47 for (c = 0; c < ins; c ++)
48 {
49 midiInGetDevCaps(c, &incaps, sizeof(incaps));
50 printf("Device #%d: %s\n", c, incaps.szPname);
51 }
52*/
53 return 0;
54}
#define NULL
Definition: types.h:112
#define printf
Definition: freeldr.h:97
ULONG Handle
Definition: gdb_input.c:15
const GLubyte * c
Definition: glext.h:8905
#define c
Definition: ke_i.h:80
#define midiOutGetDevCaps
Definition: miditest.c:10
int main()
Definition: miditest.c:15
#define MMSYSERR_NOERROR
Definition: mmsystem.h:96
#define CALLBACK_NULL
Definition: mmsystem.h:147
unsigned int UINT
Definition: ndis.h:50
CHAR szPname[MAXPNAMELEN]
Definition: mmsystem.h:1114
UINT WINAPI midiOutGetNumDevs(void)
Definition: winmm.c:806
UINT WINAPI midiOutShortMsg(HMIDIOUT hMidiOut, DWORD dwMsg)
Definition: winmm.c:1039
MMRESULT WINAPI midiOutOpen(LPHMIDIOUT lphMidiOut, UINT uDeviceID, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD dwFlags)
Definition: winmm.c:939
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409