1 /*
2  * InstrumentMidiIOView.h - widget in instrument-track-window for setting
3  *                          up MIDI-related stuff
4  *
5  * Copyright (c) 2005-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
6  *
7  * This file is part of LMMS - https://lmms.io
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public
11  * License as published by the Free Software Foundation; either
12  * version 2 of the License, or (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public
20  * License along with this program (see COPYING); if not, write to the
21  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22  * Boston, MA 02110-1301 USA.
23  *
24  */
25 
26 #ifndef INSTRUMENT_MIDI_IO_VIEW_H
27 #define INSTRUMENT_MIDI_IO_VIEW_H
28 
29 #include <QWidget>
30 
31 #include "ModelView.h"
32 
33 
34 class GroupBox;
35 class LcdSpinBox;
36 class QToolButton;
37 class LedCheckBox;
38 class InstrumentTrack;
39 
40 
41 class InstrumentMidiIOView : public QWidget, public ModelView
42 {
43 	Q_OBJECT
44 public:
45 	InstrumentMidiIOView( QWidget* parent );
46 	virtual ~InstrumentMidiIOView();
47 
48 
49 private:
50 	virtual void modelChanged();
51 
52 	GroupBox * m_midiInputGroupBox;
53 	LcdSpinBox * m_inputChannelSpinBox;
54 	LcdSpinBox * m_fixedInputVelocitySpinBox;
55 	QToolButton * m_rpBtn;
56 
57 	GroupBox * m_midiOutputGroupBox;
58 	LcdSpinBox * m_outputChannelSpinBox;
59 	LcdSpinBox * m_fixedOutputVelocitySpinBox;
60 	LcdSpinBox * m_outputProgramSpinBox;
61 	LcdSpinBox * m_fixedOutputNoteSpinBox;
62 	QToolButton * m_wpBtn;
63 
64 	LcdSpinBox* m_baseVelocitySpinBox;
65 
66 } ;
67 
68 class InstrumentMiscView : public QWidget
69 {
70 	Q_OBJECT
71 public:
72 	InstrumentMiscView( InstrumentTrack *it, QWidget* parent );
73 	~InstrumentMiscView();
74 
pitchGroupBox()75 	GroupBox * pitchGroupBox()
76 	{
77 		return m_pitchGroupBox;
78 	}
79 
80 private:
81 
82 	GroupBox * m_pitchGroupBox;
83 
84 };
85 
86 #endif
87