MuseScore/mscore/mixer.h

113 lines
3.1 KiB
C
Raw Normal View History

2012-05-26 14:49:10 +02:00
//=============================================================================
// MuseScore
// Linux Music Score Editor
// $Id: mixer.h 4388 2011-06-18 13:17:58Z wschweer $
//
2016-06-30 15:34:02 +02:00
// Copyright (C) 2002-2016 Werner Schweer and others
2012-05-26 14:49:10 +02:00
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//=============================================================================
#ifndef __ILEDIT_H__
#define __ILEDIT_H__
#include "ui_mixer.h"
#include "libmscore/instrument.h"
#include "enableplayforwidget.h"
2013-05-13 18:49:17 +02:00
namespace Ms {
2012-05-26 14:49:10 +02:00
class Score;
struct Channel;
class Part;
//---------------------------------------------------------
// PartEdit
//---------------------------------------------------------
class PartEdit : public QWidget, public Ui::PartEditBase {
Q_OBJECT
Channel* channel;
Part* part;
2016-09-16 12:07:37 +02:00
QList<QToolButton*> voiceButtons;
2012-05-26 14:49:10 +02:00
private slots:
void patchChanged(int, bool syncControls = true);
void volChanged(double, bool syncControls = true);
void panChanged(double, bool syncControls = true);
void reverbChanged(double, bool syncControls = true);
void chorusChanged(double, bool syncControls = true);
void muteChanged(bool, bool syncControls = true);
void soloToggled(bool, bool syncControls = true);
void drumsetToggled(bool, bool syncControls = true);
void midiChannelChanged(int);
void sync(bool syncControls);
2016-09-16 12:07:37 +02:00
void expandToggled(bool);
void playbackVoiceChanged();
2012-05-26 14:49:10 +02:00
public slots:
signals:
void soloChanged(bool);
public:
PartEdit(QWidget* parent = 0);
void setPart(Part*, Channel*);
};
//---------------------------------------------------------
2013-04-03 12:13:23 +02:00
// Mixer
2012-05-26 14:49:10 +02:00
//---------------------------------------------------------
2013-04-03 12:13:23 +02:00
class Mixer : public QScrollArea
2012-05-26 14:49:10 +02:00
{
Q_OBJECT
2016-03-11 12:18:46 +01:00
MasterScore* cs;
2012-05-26 14:49:10 +02:00
QScrollArea* sa;
QVBoxLayout* vb;
EnablePlayForWidget* enablePlay;
2012-05-26 14:49:10 +02:00
virtual void closeEvent(QCloseEvent*);
virtual void showEvent(QShowEvent*) override;
virtual bool eventFilter(QObject*, QEvent*) override;
virtual void keyPressEvent(QKeyEvent*) override;
void readSettings();
2012-05-26 14:49:10 +02:00
private slots:
void updateSolo(bool);
public slots:
void patchListChanged();
void midiPrefsChanged(bool showMidiControls);
2012-05-26 14:49:10 +02:00
signals:
void closed(bool);
2012-05-26 14:49:10 +02:00
2016-06-30 15:34:02 +02:00
protected:
virtual void changeEvent(QEvent *event);
void retranslate(bool firstTime = false);
2012-05-26 14:49:10 +02:00
public:
2013-04-03 12:13:23 +02:00
Mixer(QWidget* parent);
2016-03-11 12:18:46 +01:00
void updateAll(MasterScore*);
2012-05-26 14:49:10 +02:00
PartEdit* partEdit(int index);
2013-07-16 18:30:31 +02:00
void writeSettings();
2012-05-26 14:49:10 +02:00
};
2013-05-13 18:49:17 +02:00
} // namespace Ms
2012-05-26 14:49:10 +02:00
#endif