summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/widgets/tvieweditor.h
blob: e9835fbdea0368bf959f06a1af33206cd4674598 (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
//=========================================================
//  MusE
//  Linux Music Editor
//  $Id: $
//
//  (C) Copyright 2010 Andrew Williams and Christopher Cherrett
//=========================================================

#ifndef __TRACKVIEWEDITOR_H__
#define __TRACKVIEWEDITOR_H__

#include "ui_trackvieweditorbase.h"
#include <QList>
#include <QObject>
#include "trackview.h"
#include "track.h"

class TrackView;
class Track;
class QDialog;
class QPushButton;

class TrackViewEditor : public QDialog, public Ui::TrackViewEditorBase 
{
	Q_OBJECT
	TrackList* _allTracks;
	TrackViewList* _viewList;
	TrackList* _selected;
	TrackList _tracks;      // tracklist as seen by arranger
	MidiTrackList  _midis;
	WaveTrackList _waves;
	InputList _inputs;      // audio input ports
	OutputList _outputs;    // audio output ports
	GroupList _groups;      // mixer groups
	AuxList _auxs;          // aux sends
	SynthIList _synthIs;

	QStringList _trackTypes;
	QPushButton* btnAdd;
	QPushButton* btnRemove;

	private slots:
		void cmbViewSelected(QString&);
		void cmbTypeSelected(int);
		void btnAddTrack(bool);
		void btnRemoveTrack(bool);

	public:
		TrackViewEditor(QWidget*, TrackViewList* = 0);
		void setSelectedTracks(TrackList*);
		TrackList* selectedTracks( ) { return _selected; }
		void setTypes(QStringList);
		void setViews(TrackViewList*);
		QStringList trackTypes(){return _trackTypes;}
		TrackViewList* views(){return _viewList;}

		TrackList* tracks()         { return &_tracks;  }
		MidiTrackList* midis()      { return &_midis;   }
		WaveTrackList* waves()      { return &_waves;   }
		InputList* inputs()         { return &_inputs;  }
		OutputList* outputs()       { return &_outputs; }
		GroupList* groups()         { return &_groups;  }
		AuxList* auxs()             { return &_auxs;    }
		SynthIList* syntis()        { return &_synthIs; }
};

#endif