summaryrefslogtreecommitdiff
path: root/muse2/muse/mixer/strip.h
blob: cf3babe80152705e39b3c36160837f74ce93ec42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//=========================================================
//  MusE
//  Linux Music Editor
//  $Id: strip.h,v 1.3.2.2 2009/11/14 03:37:48 terminator356 Exp $
//
//  (C) Copyright 2000-2004 Werner Schweer (ws@seh.de)
//=========================================================

#ifndef __STRIP_H__
#define __STRIP_H__

#include <QFrame>
#include <QIcon>
#include <QVBoxLayout>
#include <QGridLayout>
#include <QLabel>

#include "globaldefs.h"
//#include "route.h"

class Track;
class QLabel;
//class QVBoxLayout;
class Meter;
class QToolButton;
class QGridLayout;
class ComboBox;

static const int STRIP_WIDTH = 65;

//---------------------------------------------------------
//   Strip
//---------------------------------------------------------

class Strip : public QFrame {
      Q_OBJECT
   
   protected:
      Track* track;
      QLabel* label;
      //QVBoxLayout* layout;
      QGridLayout* grid;
      int _curGridRow;
      Meter* meter[MAX_CHANNELS];
      bool useSoloIconSet2;
      
      QToolButton* record;
      QToolButton* solo;
      QToolButton* mute;
      QToolButton* iR; // Input routing button
      QToolButton* oR; // Output routing button
      QGridLayout* sliderGrid;
      ComboBox* autoType;
      void setLabelText();

   private slots:
      void recordToggled(bool);
      void soloToggled(bool);
      void muteToggled(bool);

   protected slots:
      virtual void heartBeat();
      void setAutomationType(int t);

   public slots:
      void resetPeaks();
      virtual void songChanged(int) = 0;

   public:
      Strip(QWidget* parent, Track* t);
      ~Strip();
      void setRecordFlag(bool flag);
      Track* getTrack() const { return track; }
      void setLabelFont();
      };

#endif