annotate src/portaudio_20161030/bindings/cpp/source/portaudiocpp/AsioDeviceAdapter.cxx @ 81:7029a4916348

Merge build update
author Chris Cannam
date Thu, 31 Oct 2019 13:36:58 +0000
parents 284acf908dcd
children
rev   line source
Chris@55 1 #include "portaudiocpp/AsioDeviceAdapter.hxx"
Chris@55 2
Chris@55 3 #include "portaudio.h"
Chris@55 4 #include "pa_asio.h"
Chris@55 5
Chris@55 6 #include "portaudiocpp/Device.hxx"
Chris@55 7 #include "portaudiocpp/HostApi.hxx"
Chris@55 8 #include "portaudiocpp/Exception.hxx"
Chris@55 9
Chris@55 10 namespace portaudio
Chris@55 11 {
Chris@55 12 AsioDeviceAdapter::AsioDeviceAdapter(Device &device)
Chris@55 13 {
Chris@55 14 if (device.hostApi().typeId() != paASIO)
Chris@55 15 throw PaCppException(PaCppException::UNABLE_TO_ADAPT_DEVICE);
Chris@55 16
Chris@55 17 device_ = &device;
Chris@55 18
Chris@55 19 PaError err = PaAsio_GetAvailableLatencyValues(device_->index(), &minBufferSize_, &maxBufferSize_,
Chris@55 20 &preferredBufferSize_, &granularity_);
Chris@55 21
Chris@55 22 if (err != paNoError)
Chris@55 23 throw PaException(err);
Chris@55 24
Chris@55 25 }
Chris@55 26
Chris@55 27 Device &AsioDeviceAdapter::device()
Chris@55 28 {
Chris@55 29 return *device_;
Chris@55 30 }
Chris@55 31
Chris@55 32 long AsioDeviceAdapter::minBufferSize() const
Chris@55 33 {
Chris@55 34 return minBufferSize_;
Chris@55 35 }
Chris@55 36
Chris@55 37 long AsioDeviceAdapter::maxBufferSize() const
Chris@55 38 {
Chris@55 39 return maxBufferSize_;
Chris@55 40 }
Chris@55 41
Chris@55 42 long AsioDeviceAdapter::preferredBufferSize() const
Chris@55 43 {
Chris@55 44 return preferredBufferSize_;
Chris@55 45 }
Chris@55 46
Chris@55 47 long AsioDeviceAdapter::granularity() const
Chris@55 48 {
Chris@55 49 return granularity_;
Chris@55 50 }
Chris@55 51
Chris@55 52 void AsioDeviceAdapter::showControlPanel(void *systemSpecific)
Chris@55 53 {
Chris@55 54 PaError err = PaAsio_ShowControlPanel(device_->index(), systemSpecific);
Chris@55 55
Chris@55 56 if (err != paNoError)
Chris@55 57 throw PaException(err);
Chris@55 58 }
Chris@55 59
Chris@55 60 const char *AsioDeviceAdapter::inputChannelName(int channelIndex) const
Chris@55 61 {
Chris@55 62 const char *channelName;
Chris@4 63 PaError err = PaAsio_GetInputChannelName(device_->index(), channelIndex, &channelName);
Chris@4 64
Chris@4 65 if (err != paNoError)
Chris@4 66 throw PaException(err);
Chris@4 67
Chris@4 68 return channelName;
Chris@55 69 }
Chris@55 70
Chris@55 71 const char *AsioDeviceAdapter::outputChannelName(int channelIndex) const
Chris@55 72 {
Chris@55 73 const char *channelName;
Chris@4 74 PaError err = PaAsio_GetOutputChannelName(device_->index(), channelIndex, &channelName);
Chris@4 75
Chris@4 76 if (err != paNoError)
Chris@4 77 throw PaException(err);
Chris@4 78
Chris@4 79 return channelName;
Chris@55 80 }
Chris@55 81 }
Chris@55 82
Chris@55 83