CMidiTrack.hpp

Go to the documentation of this file.
00001 #ifndef __CMidiTrack__
00002 #define __CMidiTrack__
00003 
00004 //  ===========================================================================
00005 
00006 #include <Collections/TCountedPointerArray.hpp>
00007 #include <Basics/CSystemString.hpp>
00008 #include "CMidiEvent.hpp"
00009 #include "../Music/CTimeSignature.hpp"
00010 using Exponent::Collections::TCountedPointerArray;
00011 using Exponent::Basics::CSystemString;
00012 using Exponent::Midi::CMidiEvent;
00013 using Exponent::Music::CTimeSignature;
00014 
00015 //  ===========================================================================
00016 
00017 namespace Exponent
00018 {
00019     namespace Midi
00020     {
00045         class CMidiTrack : public CCountedObject
00046         {
00048             EXPONENT_CLASS_DECLARATION;
00051 //  ===========================================================================
00052 
00053         public:
00054 
00055 //  ===========================================================================
00056 
00060             CMidiTrack();
00061 
00065             virtual ~CMidiTrack();
00066 
00067 //  ===========================================================================
00068 
00073             void addEvent(CMidiEvent *event);
00074 
00079             void setMidiChannel(const long midiChannel) { m_midiChannel = midiChannel; }
00080 
00085             void setTrackName(const CString &name) { m_trackName = name; }
00086 
00091             long getMidiChannel() const { return m_midiChannel; }
00092 
00097             const CString &getTrackName() const { return m_trackName; }
00098 
00103             long getNumberOfEvents() const { return m_events.getArraySize(); }
00104 
00110             const CMidiEvent *getEventAtIndex(const long index) const { return m_events.constElementAtIndex(index); }
00111 
00117             CMidiEvent *getMutableEventAtIndex(const long index) { return m_events.elementAtIndex(index); }
00118 
00123             void adjustDeltaTimeBy(const double offset);
00124 
00125 //  ===========================================================================
00126 
00127         protected:
00128 
00129 //  ===========================================================================
00130         
00131             TCountedPointerArray<CMidiEvent> m_events;          
00132             long m_midiChannel;                                 
00133             CString m_trackName;                                
00134         };
00135     }
00136 }
00137 #endif  // End of CMidiTrack.hpp

Infinity API - CMidiTrack.hpp Source File generated on 7 Mar 2007