Source: midimountain/mcList.h


Annotated List
Files
Globals
Hierarchy
Index
//=============================================================================
// TMidiList class definition
//=============================================================================
// Author  : Adrian Meyer
// Version : 0.2.2
// Log     :
//=============================================================================
// 10.04.2001 building class
// 16.04.2001 adding index array
// 19.04.2001 adding TMidiItem class
//=============================================================================
// to do:
//=============================================================================

#include <mcBase.h>

#ifndef __MCMIDILIST__
#define __MCMIDILIST__

class TMidiItem: public TMidiBase                     // struture for item
{
  public:	
    TMidiItem( void );                                // constructor
    TMidiItem* Next;                                  // next item
    TMidiItem* Prev;                                  // previous item
    long Offset;                                      // offset of midi item
};

class TMidiList
  {
    private:
      TMidiItem* fFirstItem;                          // first item in list
      TMidiItem* fLastItem;                           // last item in list
      bool fValidIndex;                               // is the index valid?
      TMidiItem** fIndex;                             // index array
      long fCount;                                    // item count
      void BuildIndex( void );                        // build index array

    public:
      TMidiList( void );
      ~TMidiList( void );

      void AddTop( TMidiItem* aMidiItem );            // add item on top
      void AddEnd( TMidiItem* aMidiItem );            // add item at the end
      void Add( TMidiItem* aMidiItem );               // add item at the right position
      void Delete( TMidiItem* aMidiItem );            // delete item
      void SetOffsetSorted( long aOffset, TMidiItem* aMidiItem ); // set new offset and keep list sorted

      long GetCount( void );                          // read item count
      TMidiItem* GetItem( long aIndex );              // read item
  };

#endif

Generated by: root@castle on Fri Jul 20 00:33:17 2001, using kdoc 2.0a36.