120 |
*/ |
*/ |
121 |
virtual String GetInstrumentName(instrument_id_t ID) = 0; |
virtual String GetInstrumentName(instrument_id_t ID) = 0; |
122 |
|
|
123 |
virtual String GetInstrumentTypeName(instrument_id_t ID) = 0; |
/** |
124 |
|
* Returns a textual identifier of the data structure for the |
125 |
|
* given loaded instrument, which usually reflects the name of |
126 |
|
* of the library used to load the instrument (i.e. "libgig"). |
127 |
|
* |
128 |
|
* This method has to be implemented by the descendant. |
129 |
|
*/ |
130 |
|
virtual String GetInstrumentDataStructureName(instrument_id_t ID) = 0; |
131 |
|
|
132 |
virtual String GetInstrumentTypeVersion(instrument_id_t ID) = 0; |
/** |
133 |
|
* Returns the version of the data structure for the given |
134 |
|
* loaded instrument, which usually reflects the version of the |
135 |
|
* library which was used to load the instrument (i.e. "3.1.0"). |
136 |
|
* |
137 |
|
* This method has to be implemented by the descendant. |
138 |
|
*/ |
139 |
|
virtual String GetInstrumentDataStructureVersion(instrument_id_t ID) = 0; |
140 |
|
|
141 |
|
/** |
142 |
|
* Spawn an appropriate editor for the given instrument that is |
143 |
|
* actually capable to handle the instrument's format and data |
144 |
|
* structure. The instrument editor will be hosted in the |
145 |
|
* sampler's own process to allow immediate live-editing of the |
146 |
|
* instrument while playing the instrument in parallel by the |
147 |
|
* sampler. |
148 |
|
* |
149 |
|
* For this to work, instrument editor applications have to |
150 |
|
* implement the abstract interface class @c InstrumentEditor |
151 |
|
* and have to generate a plugin DLL that has to be placed into |
152 |
|
* the appropriate plugin directory of the sampler. |
153 |
|
* |
154 |
|
* This method has to be implemented by the descendant. |
155 |
|
* |
156 |
|
* @throws InstrumentManagerException - in case no compatible |
157 |
|
* instrument editor is registered to the sampler |
158 |
|
*/ |
159 |
virtual void LaunchInstrumentEditor(instrument_id_t ID) throw (InstrumentManagerException) = 0; |
virtual void LaunchInstrumentEditor(instrument_id_t ID) throw (InstrumentManagerException) = 0; |
160 |
}; |
}; |
161 |
|
|