22 |
#ifndef __qsamplerChannel_h |
#ifndef __qsamplerChannel_h |
23 |
#define __qsamplerChannel_h |
#define __qsamplerChannel_h |
24 |
|
|
25 |
#include <qobject.h> |
#include <qtable.h> |
26 |
|
|
27 |
#include <lscp/client.h> |
#include <lscp/client.h> |
28 |
#include <lscp/device.h> |
#include <lscp/device.h> |
29 |
|
|
30 |
#include "qsamplerOptions.h" |
#include "qsamplerOptions.h" |
31 |
|
|
32 |
|
class qsamplerDevice; |
33 |
class qsamplerMainForm; |
class qsamplerMainForm; |
34 |
|
|
35 |
|
|
36 |
|
// Typedef'd QMap. |
37 |
|
typedef QMap<int, int> qsamplerChannelRoutingMap; |
38 |
|
|
39 |
|
|
40 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
41 |
// qsamplerChannel - Sampler channel structure. |
// qsamplerChannel - Sampler channel structure. |
42 |
// |
// |
52 |
|
|
53 |
// Main application form accessor. |
// Main application form accessor. |
54 |
qsamplerMainForm *mainForm() const; |
qsamplerMainForm *mainForm() const; |
55 |
|
|
56 |
// Main application options accessor. |
// Main application options accessor. |
57 |
qsamplerOptions *options() const; |
qsamplerOptions *options() const; |
58 |
|
|
79 |
int instrumentNr() const; |
int instrumentNr() const; |
80 |
const QString& instrumentName() const; |
const QString& instrumentName() const; |
81 |
int instrumentStatus() const; |
int instrumentStatus() const; |
82 |
|
|
83 |
// Instrument file loader. |
// Instrument file loader. |
84 |
bool loadInstrument(const QString& sInstrumentFile, int iInstrumentNr); |
bool loadInstrument(const QString& sInstrumentFile, int iInstrumentNr); |
85 |
// Special instrument file/name/number settler. |
// Special instrument file/name/number settler. |
113 |
float volume() const; |
float volume() const; |
114 |
bool setVolume(float fVolume); |
bool setVolume(float fVolume); |
115 |
|
|
116 |
|
// Sampler channel mute state. |
117 |
|
bool channelMute() const; |
118 |
|
bool setChannelMute(bool bMute); |
119 |
|
|
120 |
|
// Sampler channel solo state. |
121 |
|
bool channelSolo() const; |
122 |
|
bool setChannelSolo(bool bSolo); |
123 |
|
|
124 |
|
// Audio routing accessors. |
125 |
|
int audioChannel(int iAudioOut) const; |
126 |
|
bool setAudioChannel(int iAudioOut, int iAudioIn); |
127 |
|
// The audio routing map itself. |
128 |
|
const qsamplerChannelRoutingMap& audioRouting() const; |
129 |
|
|
130 |
// Istrument name remapper. |
// Istrument name remapper. |
131 |
void updateInstrumentName(); |
void updateInstrumentName(); |
132 |
|
|
152 |
// Common (invalid) name-helpers. |
// Common (invalid) name-helpers. |
153 |
static QString noEngineName(); |
static QString noEngineName(); |
154 |
static QString noInstrumentName(); |
static QString noInstrumentName(); |
155 |
|
static QString loadingInstrument(); |
156 |
|
|
157 |
// Check whether a given file is an instrument file. |
// Check whether a given file is an instrument file. |
158 |
static bool isInstrumentFile (const QString& sInstrumentFile); |
static bool isInstrumentFile (const QString& sInstrumentFile); |
177 |
QString m_sInstrumentFile; |
QString m_sInstrumentFile; |
178 |
int m_iInstrumentNr; |
int m_iInstrumentNr; |
179 |
int m_iInstrumentStatus; |
int m_iInstrumentStatus; |
180 |
QString m_sMidiDriver; // DEPRECATED. |
QString m_sMidiDriver; |
181 |
int m_iMidiDevice; |
int m_iMidiDevice; |
182 |
int m_iMidiPort; |
int m_iMidiPort; |
183 |
int m_iMidiChannel; |
int m_iMidiChannel; |
184 |
QString m_sAudioDriver; // DEPRECATED. |
QString m_sAudioDriver; |
185 |
int m_iAudioDevice; |
int m_iAudioDevice; |
186 |
float m_fVolume; |
float m_fVolume; |
187 |
|
bool m_bMute; |
188 |
|
bool m_bSolo; |
189 |
|
|
190 |
|
// The audio routing mapping. |
191 |
|
qsamplerChannelRoutingMap m_audioRouting; |
192 |
|
}; |
193 |
|
|
194 |
|
|
195 |
|
//------------------------------------------------------------------------- |
196 |
|
// qsamplerChannelRoutingTable - Channel routing table widget. |
197 |
|
// |
198 |
|
|
199 |
|
class qsamplerChannelRoutingTable : public QTable |
200 |
|
{ |
201 |
|
Q_OBJECT |
202 |
|
|
203 |
|
public: |
204 |
|
|
205 |
|
// Constructor. |
206 |
|
qsamplerChannelRoutingTable(QWidget *pParent = 0, const char *pszName = 0); |
207 |
|
// Default destructor. |
208 |
|
~qsamplerChannelRoutingTable(); |
209 |
|
|
210 |
|
// Common parameter table renderer. |
211 |
|
void refresh(qsamplerDevice *pDevice, |
212 |
|
const qsamplerChannelRoutingMap& routing); |
213 |
}; |
}; |
214 |
|
|
215 |
|
|
216 |
#endif // __qsamplerChannel_h |
#endif // __qsamplerChannel_h |
217 |
|
|
218 |
|
|