1
// qsamplerInstrument.h
3
/****************************************************************************
4
Copyright (C) 2004-2007, rncbc aka Rui Nuno Capela. All rights reserved.
5
Copyright (C) 2007, Christian Schoenebeck
7
This program is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License
9
as published by the Free Software Foundation; either version 2
10
of the License, or (at your option) any later version.
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
17
You should have received a copy of the GNU General Public License along
18
with this program; if not, write to the Free Software Foundation, Inc.,
19
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21
*****************************************************************************/
23
#ifndef __qsamplerInstrument_h
24
#define __qsamplerInstrument_h
26
#include <QStringList>
30
//-------------------------------------------------------------------------
31
// QSampler::Instrument - MIDI instrument map structure.
39
Instrument(int iMap = 0, int iBank = -1, int iProg = -1);
41
// Default destructor.
44
// Instrument accessors.
45
void setMap(int iMap);
48
void setBank(int iBank);
51
void setProg(int iProg);
54
void setName(const QString& sName);
55
const QString& name() const;
57
void setEngineName(const QString& sEngineName);
58
const QString& engineName() const;
60
void setInstrumentFile(const QString& sInstrumentFile);
61
const QString& instrumentFile() const;
63
const QString& instrumentName() const;
65
void setInstrumentNr(int InstrumentNr);
66
int instrumentNr() const;
68
void setVolume(float fVolume);
71
void setLoadMode(int iLoadMode);
77
bool unmapInstrument();
79
// Instrument map names initialization...
80
static QStringList getMapNames();
81
static QString getMapName(int iMidiMap);
85
// Instance variables.
90
QString m_sEngineName;
91
QString m_sInstrumentFile;
92
QString m_sInstrumentName;
98
} // namespace QSampler
100
#endif // __qsamplerInstrument_h
103
// end of qsamplerInstrument.h