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