#ifndef _MIDISEQ_MIDIOUTDEVICE_HPP_ #define _MIDISEQ_MIDIOUTDEVICE_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_MMSYSTEM_HPP_ #include #endif #ifndef _MIDISEQ_PUREEVENT_HPP_ #include #endif #ifndef _MIDISEQ_MIDIOUTCAPS_HPP_ #include #endif class MIDIOutputDevice { public: MIDIOutputDevice(void); virtual ~MIDIOutputDevice(); WORD midiEvent(const PureEvent &somePureEvent); WORD hasDevice(void)const; void closeDevice(void); WORD openDevice(void); WORD getRightVolume(void)const; WORD getLeftVolume(void)const; WORD setRightVolume(WORD volumeLevel); WORD setLeftVolume(WORD volumeLevel); private: typedef HMIDIOUT MIDIHandle; void hasDevice(WORD hasDevice); WORD getDeviceCapabilities(void); UINT mMIDIDeviceID; WORD mHasDevice; MIDIHandle mhMIDIOutput; MIDIOutCaps mMIDIOutDevCaps; }; inline MIDIOutputDevice::~MIDIOutputDevice(void) { closeDevice(); } inline WORD MIDIOutputDevice::hasDevice(void)const { return mHasDevice; } inline void MIDIOutputDevice::hasDevice(WORD hasDevice) { mHasDevice=hasDevice; } #endif