openMSX
Midi_w32.hh
Go to the documentation of this file.
1 /*
2  * Win32 MIDI utility routines for openMSX.
3  *
4  * Copyright (c) 2003 Reikan. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  *
26  */
27 
28 #ifndef MIDI_W32_HH
29 #define MIDI_W32_HH
30 
31 #ifdef _WIN32
32 #include <string>
33 #include <windows.h>
34 #include <mmsystem.h>
35 #define MAXPATHLEN MAX_PATH
36 
37 namespace openmsx {
38 
39 int w32_midiOutInit();
40 void w32_midiOutClean();
41 unsigned w32_midiOutGetVFNsNum();
42 std::string w32_midiOutGetVFN(unsigned nmb);
43 std::string w32_midiOutGetRDN(unsigned nmb);
44 unsigned w32_midiOutOpen(const char* vfn);
45 int w32_midiOutClose(unsigned idx);
46 int w32_midiOutMsg(unsigned size, const uint8_t* data, unsigned idx);
47 
48 int w32_midiInInit();
49 void w32_midiInClean();
50 unsigned w32_midiInGetVFNsNum();
51 std::string w32_midiInGetVFN(unsigned nmb);
52 std::string w32_midiInGetRDN(unsigned nmb);
53 unsigned w32_midiInOpen(const char* vfn, DWORD thrdid);
54 int w32_midiInClose(unsigned idx);
55 
56 } // namespace openmsx
57 
58 #endif // _WIN32
59 
60 #endif // MIDI_W32_HH
utf8::unchecked::size
size_t size(std::string_view utf8)
Definition: utf8_unchecked.hh:227
openmsx
This file implemented 3 utility functions:
Definition: Autofire.cc:5