jdkmidi class library documentation

Copyright © 2004 J.D. Koftinoff Software, Ltd.

Released under the GNU General Public License (GPL)




Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

jdkmidi::MIDITimedMessage Class Reference

#include <msg.h>

Inheritance diagram for jdkmidi::MIDITimedMessage:

jdkmidi::MIDIMessage List of all members.

Public Member Functions

 MIDITimedMessage ()
 MIDITimedMessage (const MIDITimedMessage &m)
 MIDITimedMessage (const MIDIMessage &m)
void Clear ()
void Copy (const MIDITimedMessage &m)
const MIDITimedMessageoperator= (const MIDITimedMessage &m)
const MIDITimedMessageoperator= (const MIDIMessage &m)
MIDIClockTime GetTime () const
void SetTime (MIDIClockTime t)

Static Public Member Functions

int CompareEvents (const MIDITimedMessage &a, const MIDITimedMessage &b)

Protected Attributes

MIDIClockTime time

Constructor & Destructor Documentation

jdkmidi::MIDITimedMessage::MIDITimedMessage  ) 
 

Definition at line 830 of file jdkmidi_msg.cpp.

00831     : time(0)
00832   {
00833   } 

jdkmidi::MIDITimedMessage::MIDITimedMessage const MIDITimedMessage m  ) 
 

Definition at line 835 of file jdkmidi_msg.cpp.

00836     : MIDIMessage( m ), time(m.GetTime())
00837   {
00838   } 

jdkmidi::MIDITimedMessage::MIDITimedMessage const MIDIMessage m  ) 
 

Definition at line 840 of file jdkmidi_msg.cpp.

00841     : MIDIMessage( m ), time(0)
00842   {
00843   } 


Member Function Documentation

void jdkmidi::MIDITimedMessage::Clear  ) 
 

Reimplemented from jdkmidi::MIDIMessage.

Definition at line 845 of file jdkmidi_msg.cpp.

References time.

00846   {
00847     time=0;
00848     MIDIMessage::Clear();
00849   } 

int jdkmidi::MIDITimedMessage::CompareEvents const MIDITimedMessage a,
const MIDITimedMessage b
[static]
 

Definition at line 895 of file jdkmidi_msg.cpp.

References jdkmidi::MIDIMessage::byte1, jdkmidi::MIDIMessage::byte2, jdkmidi::MIDIMessage::GetStatus(), GetTime(), jdkmidi::MIDIMessage::IsNoOp(), jdkmidi::NOTE_OFF, and jdkmidi::NOTE_ON.

00899   {
00900     bool n1 = m1.IsNoOp();
00901     bool n2 = m2.IsNoOp();
00902       
00903       // NOP's always are larger.
00904       
00905       if( n1 && n2 )
00906                       return 0; // same, do not care.
00907       
00908       if( n2 )
00909                 return 2; // m2 is larger
00910       
00911       if( n1 )
00912                 return 1; // m1 is larger
00913       
00914       if( m1.GetTime() > m2.GetTime() )
00915                                          return 1;  // m1 is larger
00916       
00917       if( m2.GetTime() > m1.GetTime() )
00918                                          return 2;  // m2 is larger
00919       
00920       // if times are the same, a note off is always larger
00921       
00922       if(     m1.byte1 == m2.byte1
00923               && m1.GetStatus()==NOTE_ON
00924               &&  ((m2.GetStatus()==NOTE_ON && m2.byte2==0) || (m2.GetStatus()==NOTE_OFF))
00925         )
00926            return 2;  // m2 is larger
00927       
00928       if(   m1.byte1 == m2.byte1
00929                 && m2.GetStatus()==NOTE_ON
00930                 &&  ((m1.GetStatus()==NOTE_ON && m1.byte2==0) || (m1.GetStatus()==NOTE_OFF))
00931         )
00932            return 1;  // m1 is larger
00933       
00934       
00935       return 0;   // both are equal.
00936       
00937   } 

void jdkmidi::MIDITimedMessage::Copy const MIDITimedMessage m  ) 
 

Definition at line 851 of file jdkmidi_msg.cpp.

References GetTime(), and time.

00852   {
00853     time=m.GetTime();
00854     MIDIMessage::Copy( m );
00855   } 

MIDIClockTime jdkmidi::MIDITimedMessage::GetTime  )  const
 

Definition at line 879 of file jdkmidi_msg.cpp.

References jdkmidi::MIDIClockTime, and time.

00880   {
00881     return time;
00882   }

const MIDITimedMessage & jdkmidi::MIDITimedMessage::operator= const MIDIMessage m  ) 
 

Reimplemented from jdkmidi::MIDIMessage.

Definition at line 868 of file jdkmidi_msg.cpp.

References time.

00869   {
00870     time=0;
00871     MIDIMessage::operator = (m);
00872     return *this;
00873   } 

const MIDITimedMessage & jdkmidi::MIDITimedMessage::operator= const MIDITimedMessage m  ) 
 

Definition at line 861 of file jdkmidi_msg.cpp.

References GetTime(), and time.

00862   {
00863     time=m.GetTime();
00864     MIDIMessage::operator = (m);
00865     return *this;
00866   } 

void jdkmidi::MIDITimedMessage::SetTime MIDIClockTime  t  ) 
 

Definition at line 888 of file jdkmidi_msg.cpp.

References jdkmidi::MIDIClockTime, and time.

00889   {
00890     time=t;
00891   }


Member Data Documentation

MIDIClockTime jdkmidi::MIDITimedMessage::time [protected]
 

Definition at line 361 of file msg.h.


The documentation for this class was generated from the following files: