27 |
|
|
28 |
namespace LinuxSampler { |
namespace LinuxSampler { |
29 |
|
|
30 |
|
/** @brief Manages EngineChannel instances. |
31 |
|
* |
32 |
|
* This class is used to create and destroy EngineChannel instances of the |
33 |
|
* various engine types supported by this sampler. It's basically used to |
34 |
|
* avoid dependencies to palpable sampler engine types / |
35 |
|
* implementations. |
36 |
|
*/ |
37 |
class EngineChannelFactory { |
class EngineChannelFactory { |
38 |
public: |
public: |
39 |
|
/** |
40 |
|
* Create EngineChannel instance of given engine type. |
41 |
|
* |
42 |
|
* @see EngineFactory::AvailableEngineTypes() |
43 |
|
*/ |
44 |
static EngineChannel* Create(String EngineType) throw (Exception); |
static EngineChannel* Create(String EngineType) throw (Exception); |
45 |
|
|
46 |
|
/** |
47 |
|
* Destroy given EngineChannel instance. |
48 |
|
*/ |
49 |
static void Destroy(EngineChannel* pEngineChannel); |
static void Destroy(EngineChannel* pEngineChannel); |
50 |
|
|
51 |
|
/** |
52 |
|
* Returns all EngineChannel instances. |
53 |
|
*/ |
54 |
static const std::set<EngineChannel*>& EngineChannelInstances(); |
static const std::set<EngineChannel*>& EngineChannelInstances(); |
55 |
}; |
}; |
56 |
|
|