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
|
//=========================================================
// MusE
// Linux Music Editor
// $Id: midieditor.h,v 1.3.2.2 2009/02/02 21:38:00 terminator356 Exp $
// (C) Copyright 1999 Werner Schweer (ws@seh.de)
//=========================================================
#ifndef __MIDIEDITOR_H__
#define __MIDIEDITOR_H__
///#include "sig.h"
#include "al/sig.h"
#include "cobject.h"
class QGridLayout;
class QWidget;
class PartList;
class Xml;
class EventCanvas;
class ScrollScale;
class CtrlEdit;
class MTScale;
class WaveView;
class Part;
class WavePart;
//---------------------------------------------------------
// MidiEditor
//---------------------------------------------------------
class MidiEditor : public TopWin {
Q_OBJECT
PartList* _pl;
std::list<int> _parts;
int _curDrumInstrument; // currently selected instrument if drum
// editor
protected:
ScrollScale* hscroll;
ScrollScale* vscroll;
MTScale* time;
EventCanvas* canvas;
WaveView* wview;
std::list<CtrlEdit*> ctrlEditList;
int _raster;
QGridLayout* mainGrid;
QWidget* mainw;
virtual void readStatus(Xml&);
virtual void writeStatus(int, Xml&) const;
void writePartList(int, Xml&) const;
void genPartlist();
public slots:
void songChanged(int type);
void setCurDrumInstrument(int instr);
void horizontalZoomIn();
void horizontalZoomOut();
virtual void updateHScrollRange() { };
signals:
void curDrumInstrumentChanged(int);
public:
MidiEditor(ToplevelType t, int, PartList*,
QWidget* parent = 0, const char* name = 0);
~MidiEditor();
///int rasterStep(unsigned tick) const { return sigmap.rasterStep(tick, _raster); }
///unsigned rasterVal(unsigned v) const { return sigmap.raster(v, _raster); }
///unsigned rasterVal1(unsigned v) const { return sigmap.raster1(v, _raster); }
///unsigned rasterVal2(unsigned v) const { return sigmap.raster2(v, _raster); }
int rasterStep(unsigned tick) const { return AL::sigmap.rasterStep(tick, _raster); }
unsigned rasterVal(unsigned v) const { return AL::sigmap.raster(v, _raster); }
unsigned rasterVal1(unsigned v) const { return AL::sigmap.raster1(v, _raster); }
unsigned rasterVal2(unsigned v) const { return AL::sigmap.raster2(v, _raster); }
int raster() const { return _raster; }
void setRaster(int val) { _raster = val; }
PartList* parts() { return _pl; }
int curDrumInstrument() const { return _curDrumInstrument; }
Part* curCanvasPart();
WavePart* curWavePart();
void setCurCanvasPart(Part*);
};
#endif
|