- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- File List
- File Members

# 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