#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. |