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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
//=========================================================
// MusE
// Linux Music Editor
// $Id: arranger.h,v 1.1.1.1 2003/10/29 10:06:19 wschweer Exp $
// (C) Copyright 1999 Werner Schweer (ws@seh.de)
//=========================================================
#ifndef __ARRANGER_H__
#define __ARRANGER_H__
#include <qwidget.h>
#include <qheader.h>
#include <qwhatsthis.h>
#include "midieditor.h"
#include "pcanvas.h"
class QMainWindow;
class QToolButton;
class Header;
class TList;
class ScrollScale;
class QScrollBar;
class MTScale;
class Track;
class Xml;
class Splitter;
class LabelCombo;
class PosLabel;
class QCheckBox;
class QSpinBox;
class MidiTrackInfoBase;
class WaveTrackInfoBase;
class TWhatsThis : public QWhatsThis {
Header* header;
protected:
QString text(const QPoint&);
public:
TWhatsThis(QWidget* parent, Header* h) : QWhatsThis(parent) {
header = h;
}
};
//---------------------------------------------------------
// Arranger
//---------------------------------------------------------
class Arranger : public QWidget {
int _quant, _raster;
PartCanvas* canvas;
ScrollScale* hscroll;
QScrollBar* vscroll;
TList* list;
Header* header;
MTScale* time;
QSpinBox* lenEntry;
bool showTrackinfo;
MidiTrackInfoBase* midiTrackInfo;
WaveTrackInfoBase* waveTrackInfo;
QWidget* noTrackInfo;
QCheckBox* midiThru;
Track* selected;
LabelCombo* typeBox;
QToolButton* ib;
int trackInfoType;
Splitter* split;
QPopupMenu* pop;
int songType;
QString _bgPixmap;
PosLabel* cursorPos;
QSpinBox* globalTempoSpinBox;
int trackInfoSize;
Q_OBJECT
void genTrackInfo(QWidget* parent);
void genMidiTrackInfo();
void genWaveTrackInfo();
void updateMidiTrackInfo();
void updateWaveTrackInfo();
void updateNoTrackInfo();
private slots:
void setOutputRoute(const QString& r);
void _setRaster(int);
void songlenChanged(int);
void showInspector(bool);
void trackSelectionChanged();
void iNameChanged();
void iwNameChanged();
void nameChanged(const QString&);
void iHBankChanged(int);
void iLBankChanged(int);
void iInputChannelChanged(const QString&);
void iOutputChannelChanged(int);
void iInputPortChanged(const QString&);
void iOutputPortChanged(int);
void iProgramChanged(int);
void iLautstChanged(int);
void iTranspChanged(int);
void iAnschlChanged(int);
void iVerzChanged(int);
void iLenChanged(int);
void iKomprChanged(int);
void iPanChanged(int);
void updateInspector();
void songChanged(int);
void modeChange(int);
void instrPopup();
void iChannelsChanged(int);
void setTime(int);
void midiThruChanged(bool);
void headerMoved();
void globalPitchChanged(int);
void globalTempoChanged(int);
void setTempo50();
void setTempo100();
void setTempo200();
signals:
void editPart(Track*);
void selectionChanged();
void dropFile(const QString&);
void startEditor(PartList*, int);
void toolChanged(int);
public slots:
void dclickPart(Track*);
void setTool(int);
void setActivityMode(int);
void setActivityColor(QColor);
public:
enum { CMD_CUT_PART, CMD_COPY_PART, CMD_PASTE_PART };
Arranger(QMainWindow* parent, const char* name = 0);
void setBgPixmap(const QString&);
const QString& bgPixmap() const { return _bgPixmap; }
void setMode(int);
void reset();
int showPartType() const;
int showPartEvent() const;
void setShowPartType(int val);
void setShowPartEvent(int val);
void writeStatus(int level, Xml&);
void readStatus(Xml&);
Track* curTrack() const { return selected; }
void cmd(int);
bool isSingleSelection() { return canvas->isSingleSelection(); }
int getActivityMode() const;
QColor getActivityColor() const;
// QColor getSelectedTrackColor() const;
void setGrid(bool);
bool hasGrid();
void setGlobalTempo(int);
};
#endif
|