- Fix some msvc issues in rostests
[reactos.git] / rostests / tests / miditest / miditest.c
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
15 int 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;
26 UINT Result;
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
38 Result = midiOutOpen(&Handle, 0, 0, 0, CALLBACK_NULL);
39 printf("Result == %d Handle == %d\n", Result, (int)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 }