Source: track.h


Annotated List
Files
Globals
Hierarchy
Index
#ifndef _TRACK_H_
#define _TRACK_H_

#include "compound.h"
#include "position.h"

#include "config.h"

#ifdef HAVE_ARTS_ENVIRONMENT
#include "arts/artsmodules.h"
#endif

class String;
class PrTrack;
class Event;
class Note;
class Reference;
class Part;
class Table;

class Track : public Compound
{

 private:
  String * _name;
  bool _mute;
  bool _lock;

  void initEnvironment();
#ifdef HAVE_ARTS_ENVIRONMENT
  Arts::Environment::InstrumentItem _arts_instument;
#endif


 protected:
  PrTrack * _pr;

 public:

  Track();
  Track(const Track&,Type);
  ~Track();

  String * name() const { return _name; }
  bool mute() const { return _mute; }
  bool lock() const { return _lock; }

  /** returns the pitch */
  int pitch(Note*) const;

  /** returns the velocity */
  int vel(Note*) const;

  /** returns the delay */
  int delay() const;

  int channel() const;
  int program() const;

  void setName(String*);
  void setName(const char*);
  void setMute(bool);
  void setLock(bool);

#ifdef HAVE_ARTS_ENVIRONMENT
  Arts::Environment::InstrumentItem envInstrument() const { return _arts_instument; }
#endif

  PrTrack * presentation() const { return _pr; }

  virtual void add(Element *);
  virtual void hide();
  virtual void show();

  virtual ostream & printOptions(int,ostream&) const = 0;

  virtual ostream & print(int,ostream&) const;
  virtual void flush(const char*) const;
  virtual Element * copy() const = 0;

  static Element * load(char*,ifstream*&,Element*);

  virtual bool isTrack() const;
  virtual bool isMixable() const;
};

#endif

Generated by: wuerthne on clouseau on Fri Sep 21 19:20:46 2001, using kdoc 2.0a53.