summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/mmeapi.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/winapi/src/um/mmeapi.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/winapi/src/um/mmeapi.rs')
-rw-r--r--vendor/winapi/src/um/mmeapi.rs336
1 files changed, 336 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/mmeapi.rs b/vendor/winapi/src/um/mmeapi.rs
new file mode 100644
index 0000000..cc5153b
--- /dev/null
+++ b/vendor/winapi/src/um/mmeapi.rs
@@ -0,0 +1,336 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+use shared::basetsd::{DWORD_PTR, UINT_PTR};
+use shared::minwindef::{DWORD, LPBYTE, LPDWORD, LPWORD, PDWORD, UINT};
+use um::imm::LPUINT;
+use um::mmsystem::{
+ HMIDI, HMIDIIN, HMIDIOUT, HMIDISTRM, HWAVEIN, HWAVEOUT, LPCWAVEFORMATEX, LPHMIDIIN, LPHMIDIOUT,
+ LPHMIDISTRM, LPHWAVEIN, LPHWAVEOUT, LPMIDIHDR, LPMIDIINCAPSW, LPMIDIOUTCAPSW, LPMMTIME,
+ LPWAVEHDR, LPWAVEINCAPSW, LPWAVEOUTCAPSW, MMRESULT
+};
+use um::winnt::{LPWSTR, PVOID};
+extern "system" {
+ pub fn waveOutGetNumDevs() -> UINT;
+ // pub fn waveOutGetDevCapsA();
+ pub fn waveOutGetDevCapsW(
+ uDeviceID: UINT_PTR,
+ pwoc: LPWAVEOUTCAPSW,
+ cbwoc: UINT,
+ ) -> MMRESULT;
+ pub fn waveOutGetVolume(
+ hwo: HWAVEOUT,
+ pdwVolume: LPDWORD,
+ ) -> MMRESULT;
+ pub fn waveOutSetVolume(
+ hwo: HWAVEOUT,
+ dwVolume: DWORD,
+ ) -> MMRESULT;
+ // pub fn waveOutGetErrorTextA();
+ pub fn waveOutGetErrorTextW(
+ mmrError: MMRESULT,
+ pszText: LPWSTR,
+ cchText: UINT,
+ ) -> MMRESULT;
+ pub fn waveOutOpen(
+ phwo: LPHWAVEOUT,
+ uDeviceID: UINT,
+ pwfx: LPCWAVEFORMATEX,
+ dwCallback: DWORD_PTR,
+ dwInstance: DWORD_PTR,
+ fdwOpen: DWORD,
+ ) -> MMRESULT;
+ pub fn waveOutClose(
+ hwo: HWAVEOUT,
+ ) -> MMRESULT;
+ pub fn waveOutPrepareHeader(
+ hwo: HWAVEOUT,
+ pwh: LPWAVEHDR,
+ cbwh: UINT,
+ ) -> MMRESULT;
+ pub fn waveOutUnprepareHeader(
+ hwo: HWAVEOUT,
+ pwh: LPWAVEHDR,
+ cbwh: UINT,
+ ) -> MMRESULT;
+ pub fn waveOutWrite(
+ hwo: HWAVEOUT,
+ pwh: LPWAVEHDR,
+ cbwh: UINT,
+ ) -> MMRESULT;
+ pub fn waveOutPause(
+ hwo: HWAVEOUT,
+ ) -> MMRESULT;
+ pub fn waveOutRestart(
+ hwo: HWAVEOUT,
+ ) -> MMRESULT;
+ pub fn waveOutReset(
+ hwo: HWAVEOUT,
+ ) -> MMRESULT;
+ pub fn waveOutBreakLoop(
+ hwo: HWAVEOUT,
+ ) -> MMRESULT;
+ pub fn waveOutGetPosition(
+ hwo: HWAVEOUT,
+ pmmt: LPMMTIME,
+ cbmmt: UINT,
+ ) -> MMRESULT;
+ pub fn waveOutGetPitch(
+ hwo: HWAVEOUT,
+ pdwPitch: LPDWORD,
+ ) -> MMRESULT;
+ pub fn waveOutSetPitch(
+ hwo: HWAVEOUT,
+ dwPitch: DWORD,
+ ) -> MMRESULT;
+ pub fn waveOutGetPlaybackRate(
+ hwo: HWAVEOUT,
+ pdwRate: LPDWORD,
+ ) -> MMRESULT;
+ pub fn waveOutSetPlaybackRate(
+ hwo: HWAVEOUT,
+ dwRate: DWORD,
+ ) -> MMRESULT;
+ // pub fn waveOutGetID();
+ pub fn waveOutMessage(
+ hwo: HWAVEOUT,
+ uMsg: UINT,
+ dw1: DWORD_PTR,
+ dw2: DWORD_PTR,
+ ) -> MMRESULT;
+ pub fn waveInGetNumDevs() -> UINT;
+ // pub fn waveInGetDevCapsA();
+ pub fn waveInGetDevCapsW(
+ uDeviceID: UINT_PTR,
+ pwic: LPWAVEINCAPSW,
+ cbwic: UINT,
+ ) -> MMRESULT;
+ // pub fn waveInGetErrorTextA();
+ pub fn waveInGetErrorTextW(
+ mmrError: MMRESULT,
+ pszText: LPWSTR,
+ cchText: UINT,
+ ) -> MMRESULT;
+ pub fn waveInOpen(
+ phwi: LPHWAVEIN,
+ uDeviceID: UINT,
+ pwfx: LPCWAVEFORMATEX,
+ dwCallback: DWORD_PTR,
+ dwInstance: DWORD_PTR,
+ fdwOpen: DWORD,
+ ) -> MMRESULT;
+ pub fn waveInClose(
+ hwi: HWAVEIN,
+ ) -> MMRESULT;
+ pub fn waveInPrepareHeader(
+ hwi: HWAVEIN,
+ pwh: LPWAVEHDR,
+ cbwh: UINT,
+ ) -> MMRESULT;
+ pub fn waveInUnprepareHeader(
+ hwi: HWAVEIN,
+ pwh: LPWAVEHDR,
+ cbwh: UINT,
+ ) -> MMRESULT;
+ pub fn waveInAddBuffer(
+ hwi: HWAVEIN,
+ pwh: LPWAVEHDR,
+ cbwh: UINT,
+ ) -> MMRESULT;
+ pub fn waveInStart(
+ hwi: HWAVEIN,
+ ) -> MMRESULT;
+ pub fn waveInStop(
+ hwi: HWAVEIN,
+ ) -> MMRESULT;
+ pub fn waveInReset(
+ hwi: HWAVEIN,
+ ) -> MMRESULT;
+ pub fn waveInGetPosition(
+ hwi: HWAVEIN,
+ pmmt: LPMMTIME,
+ cbmmt: UINT,
+ ) -> MMRESULT;
+ // pub fn waveInGetID();
+ pub fn waveInMessage(
+ hwi: HWAVEIN,
+ uMsg: UINT,
+ dw1: DWORD_PTR,
+ dw2: DWORD_PTR,
+ ) -> MMRESULT;
+ pub fn midiOutGetNumDevs() -> UINT;
+ pub fn midiStreamOpen(
+ lphStream: LPHMIDISTRM,
+ puDeviceID: LPUINT,
+ cMidi: DWORD,
+ dwCallback: DWORD_PTR,
+ dwInstance: DWORD_PTR,
+ fdwOpen: DWORD,
+ ) -> MMRESULT;
+ pub fn midiStreamClose(
+ hStream: HMIDISTRM,
+ ) -> MMRESULT;
+ pub fn midiStreamProperty(
+ hm: HMIDISTRM,
+ lppropdata: LPBYTE,
+ dwProperty: DWORD,
+ ) -> MMRESULT;
+ pub fn midiStreamPosition(
+ hms: HMIDISTRM,
+ pmmt: LPMMTIME,
+ cbmmt: UINT,
+ ) -> MMRESULT;
+ pub fn midiStreamOut(
+ hMidiStream: HMIDISTRM,
+ lpMidiHdr: LPMIDIHDR,
+ cbMidiHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiStreamPause(
+ hms: HMIDISTRM,
+ ) -> MMRESULT;
+ pub fn midiStreamRestart(
+ hms: HMIDISTRM,
+ ) -> MMRESULT;
+ pub fn midiStreamStop(
+ hms: HMIDISTRM,
+ ) -> MMRESULT;
+ pub fn midiConnect(
+ hMidi: HMIDI,
+ hmo: HMIDIOUT,
+ pReserved: PVOID,
+ ) -> MMRESULT;
+ pub fn midiDisconnect(
+ hMidi: HMIDI,
+ hmo: HMIDIOUT,
+ pReserved: PVOID,
+ ) -> MMRESULT;
+ pub fn midiOutGetDevCapsW(
+ uDeviceID: UINT_PTR,
+ lpMidiOutCaps: LPMIDIOUTCAPSW,
+ cbMidiOutCaps: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutGetVolume(
+ hmo: HMIDIOUT,
+ lpdwVolume: PDWORD,
+ ) -> MMRESULT;
+ pub fn midiOutSetVolume(
+ hmo: HMIDIOUT,
+ dwVolume: DWORD,
+ ) -> MMRESULT;
+ pub fn midiOutGetErrorTextW(
+ mmrError: MMRESULT,
+ lpText: LPWSTR,
+ cchText: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutOpen(
+ lphmo: LPHMIDIOUT,
+ uDeviceID: UINT,
+ dwCallback: DWORD_PTR,
+ dwCallbackInstance: DWORD_PTR,
+ dwFlags: DWORD,
+ ) -> MMRESULT;
+ pub fn midiOutClose(
+ hmo: HMIDIOUT,
+ ) -> MMRESULT;
+ pub fn midiOutPrepareHeader(
+ hmo: HMIDIOUT,
+ lpMidiOutHdr: LPMIDIHDR,
+ cbMidiOutHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutUnprepareHeader(
+ hmo: HMIDIOUT,
+ lpMidiOutHdr: LPMIDIHDR,
+ cbMidiOutHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutShortMsg(
+ hmo: HMIDIOUT,
+ dwMsg: DWORD,
+ ) -> MMRESULT;
+ pub fn midiOutLongMsg(
+ hmo: HMIDIOUT,
+ lpMidiOutHdr: LPMIDIHDR,
+ cbMidiOutHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutReset(
+ hmo: HMIDIOUT,
+ ) -> MMRESULT;
+ pub fn midiOutCachePatches(
+ hmo: HMIDIOUT,
+ wBank: UINT,
+ lpPatchArray: LPWORD,
+ wFlags: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutCacheDrumPatches(
+ hmo: HMIDIOUT,
+ wPatch: UINT,
+ lpKeyArray: LPWORD,
+ wFlags: UINT,
+ ) -> MMRESULT;
+ pub fn midiOutGetID(
+ hmo: HMIDIOUT,
+ puDeviceID: LPUINT,
+ ) -> MMRESULT;
+ pub fn midiOutMessage(
+ deviceID: HMIDIOUT,
+ msg: UINT,
+ dw1: DWORD_PTR,
+ dw2: DWORD_PTR,
+ ) -> MMRESULT;
+ pub fn midiInGetNumDevs() -> UINT;
+ pub fn midiInGetDevCapsW(
+ uDeviceID: UINT_PTR,
+ lpMidiInCaps: LPMIDIINCAPSW,
+ cbMidiInCaps: UINT,
+ ) -> MMRESULT;
+ pub fn midiInGetErrorTextW(
+ wError: MMRESULT,
+ lpText: LPWSTR,
+ cchText: UINT,
+ ) -> MMRESULT;
+ pub fn midiInOpen(
+ lphMidiIn: LPHMIDIIN,
+ uDeviceID: UINT,
+ dwCallback: DWORD_PTR,
+ dwCallbackInstance: DWORD_PTR,
+ dwFlags: DWORD,
+ ) -> MMRESULT;
+ pub fn midiInClose(
+ hMidiIn: HMIDIIN,
+ ) -> MMRESULT;
+ pub fn midiInPrepareHeader(
+ hMidiIn: HMIDIIN,
+ lpMidiInHdr: LPMIDIHDR,
+ cbMidiInHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiInUnprepareHeader(
+ hMidiIn: HMIDIIN,
+ lpMidiInHdr: LPMIDIHDR,
+ cbMidiInHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiInAddBuffer(
+ hMidiIn: HMIDIIN,
+ lpMidiInHdr: LPMIDIHDR,
+ cbMidiInHdr: UINT,
+ ) -> MMRESULT;
+ pub fn midiInStart(
+ hMidiIn: HMIDIIN,
+ ) -> MMRESULT;
+ pub fn midiInStop(
+ hMidiIn: HMIDIIN,
+ ) -> MMRESULT;
+ pub fn midiInReset(
+ hMidiIn: HMIDIIN,
+ ) -> MMRESULT;
+ pub fn midiInGetID(
+ hmi: HMIDIIN,
+ puDeviceID: LPUINT,
+ ) -> MMRESULT;
+ pub fn midiInMessage(
+ deviceID: HMIDIIN,
+ msg: UINT,
+ dw1: DWORD_PTR,
+ dw2: DWORD_PTR,
+ ) -> MMRESULT;
+}