MIDIMsg.h
上传用户:fs3633
上传日期:2021-05-14
资源大小:909k
文件大小:2k
源码类别:

midi

开发平台:

Visual C++

  1. #ifndef MIDI_MSG_H
  2. #define MIDI_MSG_H
  3. /*
  4.   MIDIMsg.h
  5.   Interface for the CMIDIMsg class. This is the base class for all MIDI
  6.   message classes.
  7.   Copyright (C) 2002 Leslie Sanford
  8.   This library is free software; you can redistribute it and/or
  9.   modify it under the terms of the GNU Lesser General Public
  10.   License as published by the Free Software Foundation; either
  11.   version 2.1 of the License, or (at your option) any later version.
  12.   This library is distributed in the hope that it will be useful,
  13.   but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.   Lesser General Public License for more details.
  16.   You should have received a copy of the GNU Lesser General Public
  17.   License along with this library; if not, write to the Free Software
  18.   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 
  19.   USA
  20.   Contact: Leslie Sanford (jabberdabber@hotmail.com)
  21.   Last modified: 12/14/2002
  22. */
  23. //---------------------------------------------------------------------
  24. // Dependencies
  25. //---------------------------------------------------------------------
  26. #include "stdafx.h"    // For DWORD data type
  27. //---------------------------------------------------------------------
  28. // Forward declarations
  29. //---------------------------------------------------------------------
  30. namespace midi
  31. {
  32.     class CMIDIOutDevice;
  33. }
  34. namespace midi
  35. {
  36.     //------------------------------------------------------------------
  37.     // CMIDIMsg class
  38.     //
  39.     // This class represents the base class for all MIDI messages.
  40.     //------------------------------------------------------------------
  41.     class CMIDIMsg
  42.     {
  43.     public:
  44.         virtual ~CMIDIMsg() {}
  45.         // Sends MIDI message
  46.         virtual void SendMsg(midi::CMIDIOutDevice &OutDevice) = 0; 
  47.         // Gets the MIDI message length
  48.         virtual DWORD GetLength() const = 0;
  49.         // Gets the MIDI message
  50.         virtual const char *GetMsg() const = 0;
  51.         // Get/Set time stamp
  52.         DWORD GetTimeStamp() const { return m_TimeStamp; }
  53.         void SetTimeStamp(DWORD TimeStamp) { m_TimeStamp = TimeStamp; }
  54.     private:
  55.         DWORD m_TimeStamp;
  56.     };
  57. }
  58. #endif