1 //=============================================================================
2 //  MuseScore
3 //  Linux Music Score Editor
4 //
5 //  Copyright (C) 2002-2016 Werner Schweer and others
6 //
7 //  This program is free software; you can redistribute it and/or modify
8 //  it under the terms of the GNU General Public License version 2.
9 //
10 //  This program is distributed in the hope that it will be useful,
11 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 //  GNU General Public License for more details.
14 //
15 //  You should have received a copy of the GNU General Public License
16 //  along with this program; if not, write to the Free Software
17 //  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 //=============================================================================
19 
20 #ifndef __PARTEDITBASE_H__
21 #define __PARTEDITBASE_H__
22 
23 #include "ui_parteditbase.h"
24 #include "libmscore/instrument.h"
25 #include "enableplayforwidget.h"
26 
27 namespace Ms {
28 
29 class Score;
30 class Channel;
31 class Part;
32 
33 //---------------------------------------------------------
34 //   PartEdit
35 //   deprecated
36 //   TODO: This class should no longer be used and will be removed at a future date
37 //---------------------------------------------------------
38 
39 class PartEdit : public QWidget, public Ui::PartEditBase {
40       Q_OBJECT
41 
42       Channel* channel;
43       Part* part;
44 
45       QList<QToolButton*> voiceButtons;
46 
47 
48    private slots:
49       void patchChanged(int, bool syncControls = true);
50       void volChanged(double, bool syncControls = true);
51       void panChanged(double, bool syncControls = true);
52       void reverbChanged(double, bool syncControls = true);
53       void chorusChanged(double, bool syncControls = true);
54       void muteChanged(bool, bool syncControls = true);
55       void soloToggled(bool, bool syncControls = true);
56       void drumsetToggled(bool, bool syncControls = true);
57       void midiChannelChanged(int);
58       void sync(bool syncControls);
59       void expandToggled(bool);
60       void playbackVoiceChanged();
61 
62    public slots:
63 
64    signals:
65       void soloChanged(bool);
66 
67    public:
68       PartEdit(QWidget* parent = 0);
69       void setPart(Part*, Channel*);
70       };
71 
72 }
73 #endif // __PARTEDITBASE_H__
74