track.h 1.4 KB
//====================================================================
// track.h
//
// Synopsis:
//  Class definition for MIDI track object. MIDI files consist of a
//  number of lists of time-stamped events. These lists are called
//  tracks.
//
// Author(s)
//  Steve Shepard
//
// Copyright 1993, Silicon Graphics, Inc.
// All Rights Reserved.
//
// This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
// the contents of this file may not be disclosed to third parties, copied or
// duplicated in any form, in whole or in part, without the prior written
// permission of Silicon Graphics, Inc.
//
// RESTRICTED RIGHTS LEGEND:
// Use, duplication or disclosure by the Government is subject to restrictions
// as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
// and Computer Software clause at DFARS 252.227-7013, and/or in similar or
// successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
// rights reserved under the Copyright Laws of the United States.
//====================================================================

#pragma once

#include "event.h"

class Track
{
  protected:
    int         trackNum;
    EventList   eventList;
    ListIter    curIter;
    
  public:
    Track(int num);
    ~Track();
    
    void        AddEvent(Event *event);
    int         RemoveEvent(Event *event);
    Event       *GetNextEvent();
    void        Print();
};