634 |
return result.Produce(); |
return result.Produce(); |
635 |
} |
} |
636 |
|
|
637 |
String LSCPServer::SetAudioOutputDevice(uint AudioDeviceId, uint SamplerChannel) { |
String LSCPServer::SetAudioOutputDevice(uint AudioDeviceId, uint uiSamplerChannel) { |
638 |
LSCPResultSet result; |
LSCPResultSet result; |
639 |
try { |
try { |
640 |
throw LinuxSamplerException("Command not yet implemented"); |
SamplerChannel* pSamplerChannel = pSampler->GetSamplerChannel(uiSamplerChannel); |
641 |
|
if (!pSamplerChannel) throw LinuxSamplerException("Invalid channel number " + ToString(uiSamplerChannel)); |
642 |
|
Engine* pEngine = pSamplerChannel->GetEngine(); |
643 |
|
if (!pEngine) throw LinuxSamplerException("No engine loaded on channel"); |
644 |
|
std::map<uint, AudioOutputDevice*> devices = pSampler->GetAudioOutputDevices(); |
645 |
|
if (!devices[AudioDeviceId]) throw LinuxSamplerException("There is no audio output device with index " + ToString(AudioDeviceId)); |
646 |
|
AudioOutputDevice* pDevice = devices[AudioDeviceId]; |
647 |
|
pSamplerChannel->SetAudioOutputDevice(pDevice); |
648 |
} |
} |
649 |
catch (LinuxSamplerException e) { |
catch (LinuxSamplerException e) { |
650 |
result.Error(e); |
result.Error(e); |