// ****************************************************************************//// CEchoGals_midi.cpp//// Implementation file for the CEchoGals driver class (midi functions).//// Set editor tabs to 3 for your viewing pleasure.//// ----------------------------------------------------------------------------//// This file is part of Echo Digital Audio's generic driver library.// Copyright Echo Digital Audio Corporation (c) 1998 - 2005// All rights reserved// www.echoaudio.com//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//// ****************************************************************************#include "CEchoGals.h"#ifdef MIDI_SUPPORT/****************************************************************************MIDI output****************************************************************************///===========================================================================//// Write a bunch of MIDI data to the MIDI output//// The DSP only buffers up 64 bytes internally for MIDI output; if you try// to send more than the DSP can handle, the actual count sent will be returned// to you. ECHOSTATUS_BUSY is returned if the DSP is still processing the// last driver command.////===========================================================================ECHOSTATUS CEchoGals::WriteMidi(DWORD dwExpectedCt,PBYTE pBuffer,PDWORD pdwActualCt){return GetDspCommObject()->WriteMidi( pBuffer,dwExpectedCt,pdwActualCt );} // ECHOSTATUS CLayla24::WriteMidi/****************************************************************************MIDI input****************************************************************************///===========================================================================//// Read a single MIDI byte from the circular MIDI input buffer////===========================================================================ECHOSTATUS CEchoGals::ReadMidiByte(ECHOGALS_MIDI_IN_CONTEXT *pContext,DWORD &dwMidiData,LONGLONG &llTimestamp){return m_MidiIn.GetMidi(pContext,dwMidiData,llTimestamp);} // ReadMidiByte//===========================================================================//// Open and enable the MIDI input//// The context struct should be set to zero before calling OpenMidiInput////===========================================================================ECHOSTATUS CEchoGals::OpenMidiInput(ECHOGALS_MIDI_IN_CONTEXT *pContext){return m_MidiIn.Arm(pContext);} // OpenMidiInput//===========================================================================//// Close and disable the MIDI input////===========================================================================ECHOSTATUS CEchoGals::CloseMidiInput(ECHOGALS_MIDI_IN_CONTEXT *pContext){return m_MidiIn.Disarm(pContext);}//===========================================================================//// Reset the MIDI input, but leave it open and enabled////===========================================================================ECHOSTATUS CEchoGals::ResetMidiInput(ECHOGALS_MIDI_IN_CONTEXT *pContext){m_MidiIn.Reset(pContext);return ECHOSTATUS_OK;}#endif // MIDI_SUPPORT