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