From c58a86f73fac9a8c906ff8dd94f201682bf80d08 Mon Sep 17 00:00:00 2001 From: Patrick Reisert Date: Fri, 8 Dec 2017 20:48:06 +0100 Subject: [PATCH] Upgrade to winapi 0.3 --- Cargo.toml | 3 +-- src/backend/winmm/handler.rs | 11 ++++++---- src/backend/winmm/mod.rs | 41 +++++++++++++----------------------- 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index fabde8a..e873cdf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,5 +33,4 @@ libc = "0.2.21" coremidi = "0.3.0" [target.'cfg(windows)'.dependencies] -winapi = "0.2.4" -winmm-sys = "0.2.0" \ No newline at end of file +winapi = { version = "0.3", features = ["mmsystem", "mmeapi"] } \ No newline at end of file diff --git a/src/backend/winmm/handler.rs b/src/backend/winmm/handler.rs index 2a4e6bd..36184b3 100644 --- a/src/backend/winmm/handler.rs +++ b/src/backend/winmm/handler.rs @@ -1,10 +1,13 @@ use std::{mem, slice}; -use std::io::{Write, stderr}; +use std::io::{Write, stderr}; -use super::winapi::*; -use super::winmm_sys::midiInAddBuffer; +use super::winapi::shared::basetsd::DWORD_PTR; +use super::winapi::shared::minwindef::{DWORD, UINT}; +use super::winapi::um::mmeapi::midiInAddBuffer; +use super::winapi::um::mmsystem::{HMIDIIN, MIDIHDR, MMSYSERR_NOERROR, MM_MIM_DATA, + MM_MIM_LONGDATA, MM_MIM_LONGERROR}; use super::HandlerData; -use ::Ignore; +use Ignore; pub extern "system" fn handle_input(_: HMIDIIN, input_status: UINT, diff --git a/src/backend/winmm/mod.rs b/src/backend/winmm/mod.rs index 90ea3ed..4c68748 100644 --- a/src/backend/winmm/mod.rs +++ b/src/backend/winmm/mod.rs @@ -1,41 +1,30 @@ extern crate winapi; -extern crate winmm as winmm_sys; use std::{mem, ptr, slice}; use std::ffi::OsString; use std::os::windows::ffi::OsStringExt; use std::sync::Mutex; -use std::io::{stderr, Write}; +use std::io::{Write, stderr}; use std::thread::sleep; use std::time::Duration; use memalloc::{allocate, deallocate}; -use self::winapi::*; +use self::winapi::shared::basetsd::{DWORD_PTR, UINT_PTR}; +use self::winapi::shared::minwindef::{DWORD, UINT}; -use self::winmm_sys::{ - midiInGetNumDevs, - midiInGetDevCapsW, - midiInOpen, - midiInStart, - midiInClose, - midiInReset, - midiInStop, - midiInAddBuffer, - midiInPrepareHeader, - midiInUnprepareHeader, - midiOutGetNumDevs, - midiOutGetDevCapsW, - midiOutOpen, - midiOutReset, - midiOutClose, - midiOutPrepareHeader, - midiOutUnprepareHeader, - midiOutLongMsg, - midiOutShortMsg, -}; +use self::winapi::um::mmeapi::{midiInAddBuffer, midiInClose, midiInGetDevCapsW, midiInGetNumDevs, + midiInOpen, midiInPrepareHeader, midiInReset, midiInStart, + midiInStop, midiInUnprepareHeader, midiOutClose, + midiOutGetDevCapsW, midiOutGetNumDevs, midiOutLongMsg, midiOutOpen, + midiOutPrepareHeader, midiOutReset, midiOutShortMsg, + midiOutUnprepareHeader}; -use ::{MidiMessage, Ignore}; -use ::errors::*; +use self::winapi::um::mmsystem::{CALLBACK_FUNCTION, CALLBACK_NULL, HMIDIIN, HMIDIOUT, LPMIDIHDR, + MIDIERR_NOTREADY, MIDIERR_STILLPLAYING, MIDIHDR, MIDIINCAPSW, + MIDIOUTCAPSW, MMSYSERR_BADDEVICEID, MMSYSERR_NOERROR}; + +use {Ignore, MidiMessage}; +use errors::*; mod handler;