37 |
# include "AudioOutputDeviceArts.h" |
# include "AudioOutputDeviceArts.h" |
38 |
#endif // HAVE_ARTS |
#endif // HAVE_ARTS |
39 |
|
|
40 |
|
#if HAVE_ASIO |
41 |
|
# include "AudioOutputDeviceAsio.h" |
42 |
|
#endif // HAVE_ASIO |
43 |
|
|
44 |
|
#if HAVE_COREAUDIO |
45 |
|
# include "AudioOutputDeviceCoreAudio.h" |
46 |
|
#endif // HAVE_COREAUDIO |
47 |
|
|
48 |
namespace LinuxSampler { |
namespace LinuxSampler { |
49 |
|
|
50 |
std::map<String, AudioOutputDeviceFactory::InnerFactory*> AudioOutputDeviceFactory::InnerFactories; |
std::map<String, AudioOutputDeviceFactory::InnerFactory*> AudioOutputDeviceFactory::InnerFactories; |
66 |
REGISTER_AUDIO_OUTPUT_DRIVER(AudioOutputDeviceJack); |
REGISTER_AUDIO_OUTPUT_DRIVER(AudioOutputDeviceJack); |
67 |
/* Common parameters for now they'll have to be registered here. */ |
/* Common parameters for now they'll have to be registered here. */ |
68 |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterActive); |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterActive); |
69 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterSampleRate); |
70 |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterChannels); |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterChannels); |
71 |
/* Driver specific parameters */ |
/* Driver specific parameters */ |
72 |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterName); |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceJack, ParameterName); |
82 |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceArts, ParameterName); |
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceArts, ParameterName); |
83 |
#endif // HAVE_ARTS |
#endif // HAVE_ARTS |
84 |
|
|
85 |
|
#if HAVE_ASIO |
86 |
|
REGISTER_AUDIO_OUTPUT_DRIVER(AudioOutputDeviceAsio); |
87 |
|
/* Common parameters for now they'll have to be registered here. */ |
88 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceAsio, ParameterActive); |
89 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceAsio, ParameterSampleRate); |
90 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceAsio, ParameterChannels); |
91 |
|
/* Driver specific parameters */ |
92 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceAsio, ParameterCard); |
93 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceAsio, ParameterFragmentSize); |
94 |
|
#endif // HAVE_ASIO |
95 |
|
|
96 |
|
#if HAVE_COREAUDIO |
97 |
|
REGISTER_AUDIO_OUTPUT_DRIVER(AudioOutputDeviceCoreAudio); |
98 |
|
/* Common parameters for now they'll have to be registered here. */ |
99 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceCoreAudio, ParameterActive); |
100 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceCoreAudio, ParameterSampleRate); |
101 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceCoreAudio, ParameterChannels); |
102 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceCoreAudio, ParameterBuffers); |
103 |
|
REGISTER_AUDIO_OUTPUT_DRIVER_PARAMETER(AudioOutputDeviceCoreAudio, ParameterBufferSize); |
104 |
|
#endif // HAVE_COREAUDIO |
105 |
|
|
106 |
AudioOutputDevice* AudioOutputDeviceFactory::Create(String DriverName, std::map<String,String> Parameters) throw (Exception) { |
AudioOutputDevice* AudioOutputDeviceFactory::Create(String DriverName, std::map<String,String> Parameters) throw (Exception) { |
107 |
if (!InnerFactories.count(DriverName)) throw Exception("There is no audio output driver '" + DriverName + "'."); |
if (!InnerFactories.count(DriverName)) throw Exception("There is no audio output driver '" + DriverName + "'."); |
108 |
//Let's see if we need to create parameters |
//Let's see if we need to create parameters |