summaryrefslogtreecommitdiff
path: root/muse2/muse/track.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/track.h')
-rw-r--r--muse2/muse/track.h37
1 files changed, 28 insertions, 9 deletions
diff --git a/muse2/muse/track.h b/muse2/muse/track.h
index 531dd2d5..dbd6bbcf 100644
--- a/muse2/muse/track.h
+++ b/muse2/muse/track.h
@@ -45,6 +45,7 @@ class Track {
PartList _parts;
void init();
+ static bool _isVisible;
protected:
static unsigned int _soloRefCnt;
@@ -98,7 +99,7 @@ class Track {
int y() const;
void setY(int n) { _y = n; }
- int height() const { return _height; }
+ virtual int height() const = 0;
void setHeight(int n) { _height = n; }
bool selected() const { return _selected; }
@@ -186,6 +187,8 @@ class Track {
virtual bool canRecord() const { return false; }
virtual AutomationType automationType() const = 0;
virtual void setAutomationType(AutomationType t) = 0;
+ static void setVisible(bool t) { }
+
};
//---------------------------------------------------------
@@ -205,6 +208,7 @@ class MidiTrack : public Track {
EventList* _events; // tmp Events during midi import
MPEventList* _mpevents; // tmp Events druring recording
+ static bool _isVisible;
public:
MidiTrack();
@@ -232,6 +236,7 @@ class MidiTrack : public Track {
virtual void read(Xml&);
virtual void write(int, Xml&) const;
+ virtual int height() const;
virtual MidiTrack* newTrack() const { return new MidiTrack(); }
//virtual MidiTrack* clone() const { return new MidiTrack(*this); }
virtual MidiTrack* clone(bool cloneParts) const { return new MidiTrack(*this, cloneParts); }
@@ -267,6 +272,7 @@ class MidiTrack : public Track {
//bool soloMode() const { return _soloRefCnt; }
virtual bool canRecord() const { return true; }
+ static void setVisible(bool t) { _isVisible = t; }
};
//---------------------------------------------------------
@@ -299,6 +305,7 @@ class AudioTrack : public Track {
//void readRecfile(Xml& xml);
void readAuxSend(Xml& xml);
+
protected:
float** outBuffers;
//float* outBuffers[MAX_CHANNELS];
@@ -425,6 +432,7 @@ class AudioTrack : public Track {
class AudioInput : public AudioTrack {
void* jackPorts[MAX_CHANNELS];
virtual bool getData(unsigned, int, unsigned, float**);
+ static bool _isVisible;
public:
AudioInput();
@@ -441,7 +449,9 @@ class AudioInput : public AudioTrack {
void setJackPort(int channel, void*p) { jackPorts[channel] = p; }
virtual void setChannels(int n);
virtual bool hasAuxSend() const { return true; }
- };
+ static void setVisible(bool t) { _isVisible = t; }
+ virtual int height() const;
+ };
//---------------------------------------------------------
// AudioOutput
@@ -452,6 +462,7 @@ class AudioOutput : public AudioTrack {
float* buffer[MAX_CHANNELS];
float* buffer1[MAX_CHANNELS];
unsigned long _nframes;
+ static bool _isVisible;
float* _monitorBuffer[MAX_CHANNELS];
@@ -470,7 +481,6 @@ class AudioOutput : public AudioTrack {
void setJackPort(int channel, void*p) { jackPorts[channel] = p; }
virtual void setChannels(int n);
// virtual bool isMute() const;
-
void processInit(unsigned);
void process(unsigned pos, unsigned offset, unsigned);
void processWrite();
@@ -478,13 +488,16 @@ class AudioOutput : public AudioTrack {
virtual bool canRecord() const { return true; }
float** monitorBuffer() { return _monitorBuffer; }
- };
+ static void setVisible(bool t) { _isVisible = t; }
+ virtual int height() const;
+ };
//---------------------------------------------------------
// AudioGroup
//---------------------------------------------------------
class AudioGroup : public AudioTrack {
+ static bool _isVisible;
public:
AudioGroup() : AudioTrack(AUDIO_GROUP) { }
//AudioGroup* clone() const { return new AudioGroup(*this); }
@@ -493,7 +506,9 @@ class AudioGroup : public AudioTrack {
virtual void read(Xml&);
virtual void write(int, Xml&) const;
virtual bool hasAuxSend() const { return true; }
- };
+ static void setVisible(bool t) { _isVisible = t; }
+ virtual int height() const;
+ };
//---------------------------------------------------------
// AudioAux
@@ -501,7 +516,7 @@ class AudioGroup : public AudioTrack {
class AudioAux : public AudioTrack {
float* buffer[MAX_CHANNELS];
-
+ static bool _isVisible;
public:
AudioAux();
//AudioAux* clone() const { return new AudioAux(*this); }
@@ -513,7 +528,9 @@ class AudioAux : public AudioTrack {
virtual bool getData(unsigned, int, unsigned, float**);
virtual void setChannels(int n);
float** sendBuffer() { return buffer; }
- };
+ static void setVisible(bool t) { _isVisible = t; }
+ virtual int height() const;
+ };
//---------------------------------------------------------
// WaveTrack
@@ -521,9 +538,9 @@ class AudioAux : public AudioTrack {
class WaveTrack : public AudioTrack {
Fifo _prefetchFifo; // prefetch Fifo
+ static bool _isVisible;
public:
- static bool firstWaveTrack;
WaveTrack() : AudioTrack(Track::WAVE) { }
//WaveTrack(const WaveTrack& wt) : AudioTrack(wt) {}
@@ -548,7 +565,9 @@ class WaveTrack : public AudioTrack {
virtual bool hasAuxSend() const { return true; }
bool canEnableRecord() const;
virtual bool canRecord() const { return true; }
- };
+ static void setVisible(bool t) { _isVisible = t; }
+ virtual int height() const;
+ };
//---------------------------------------------------------
// TrackList