Chris@39: #ifndef INCLUDED_PORTAUDIO_ASIODEVICEADAPTER_HXX Chris@39: #define INCLUDED_PORTAUDIO_ASIODEVICEADAPTER_HXX Chris@39: Chris@39: namespace portaudio Chris@39: { Chris@39: Chris@39: // Forward declaration(s): Chris@39: class Device; Chris@39: Chris@39: // Declaration(s): Chris@39: ////// Chris@39: /// @brief Adapts the given Device to an ASIO specific extension. Chris@39: /// Chris@39: /// Deleting the AsioDeviceAdapter does not affect the underlaying Chris@39: /// Device. Chris@39: ////// Chris@39: class AsioDeviceAdapter Chris@39: { Chris@39: public: Chris@39: AsioDeviceAdapter(Device &device); Chris@39: Chris@39: Device &device(); Chris@39: Chris@39: long minBufferSize() const; Chris@39: long maxBufferSize() const; Chris@39: long preferredBufferSize() const; Chris@39: long granularity() const; Chris@39: Chris@39: void showControlPanel(void *systemSpecific); Chris@39: Chris@39: const char *inputChannelName(int channelIndex) const; Chris@39: const char *outputChannelName(int channelIndex) const; Chris@39: Chris@39: private: Chris@39: Device *device_; Chris@39: Chris@39: long minBufferSize_; Chris@39: long maxBufferSize_; Chris@39: long preferredBufferSize_; Chris@39: long granularity_; Chris@39: }; Chris@39: } Chris@39: Chris@39: #endif // INCLUDED_PORTAUDIO_ASIODEVICEADAPTER_HXX