1 |
/*************************************************************************** |
/*************************************************************************** |
2 |
* * |
* * |
3 |
* Copyright (C) 2007 - 2009 Christian Schoenebeck * |
* Copyright (C) 2007 - 2015 Christian Schoenebeck * |
4 |
* * |
* * |
5 |
* This program is free software; you can redistribute it and/or modify * |
* This program is free software; you can redistribute it and/or modify * |
6 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
31 |
|
|
32 |
// just symbol prototyping |
// just symbol prototyping |
33 |
class InstrumentEditorListener; |
class InstrumentEditorListener; |
34 |
|
class EngineChannel; |
35 |
|
|
36 |
/** @brief Instrument Editor Interface (external plugin) |
/** @brief Instrument Editor Interface (external plugin) |
37 |
* |
* |
195 |
* editor will be spawned in its own thread and this method will |
* editor will be spawned in its own thread and this method will |
196 |
* return as soon as the editor's thread actually started. |
* return as soon as the editor's thread actually started. |
197 |
* |
* |
198 |
|
* @param pEngineChannel - the engine channel on which @a pInstrument is |
199 |
|
* currently used on and for which the instrument |
200 |
|
* editor shall be spawned for editing |
201 |
|
* @param pInstrument - pointer to the respective instrument object |
202 |
|
* @param sTypeName - format of the instrument data structure |
203 |
|
* (i.e. @c "libgig" ) |
204 |
|
* @param sTypeVersion - version of the instrument data structure |
205 |
|
* (i.e. @c "3.0.1" ). |
206 |
* @param pUserData - (optional) arbitrary 3rd party data that might |
* @param pUserData - (optional) arbitrary 3rd party data that might |
207 |
* e.g. been passed by |
* e.g. been passed by |
208 |
* InstrumentManager::LaunchInstrumentEditor() |
* InstrumentManager::LaunchInstrumentEditor() |
209 |
*/ |
*/ |
210 |
void Launch(void* pInstrument, String sTypeName, String sTypeVersion, void* pUserData = NULL); |
void Launch(EngineChannel* pEngineChannel, void* pInstrument, String sTypeName, String sTypeVersion, void* pUserData = NULL); |
211 |
|
|
212 |
|
/** |
213 |
|
* Returns the EngineChannel for which this instrument editor was |
214 |
|
* spawned for, for editing the respective instrument loaded on that |
215 |
|
* EngineChannel. |
216 |
|
*/ |
217 |
|
EngineChannel* GetEngineChannel(); |
218 |
|
|
219 |
/** |
/** |
220 |
* Registers object that wants to be notified on events. |
* Registers object that wants to be notified on events. |
246 |
String sTypeName; |
String sTypeName; |
247 |
String sTypeVersion; |
String sTypeVersion; |
248 |
void* pUserData; |
void* pUserData; |
249 |
|
EngineChannel* pEngineChannel; |
250 |
}; |
}; |
251 |
|
|
252 |
/** @brief Instrument Editor Notifications |
/** @brief Instrument Editor Notifications |