/// <summary> /// Builds the capabilities internally. /// </summary> private void BuildCapabilities() { capability = new AsioDriverCapability(); capability.DriverName = driver.getDriverName(); // Get nb Input/Output channels driver.getChannels(out capability.NbInputChannels, out capability.NbOutputChannels); capability.InputChannelInfos = new ASIOChannelInfo[capability.NbInputChannels]; capability.OutputChannelInfos = new ASIOChannelInfo[capability.NbOutputChannels]; // Get ChannelInfo for Inputs for (int i = 0; i < capability.NbInputChannels; i++) { capability.InputChannelInfos[i] = driver.getChannelInfo(i, true); } // Get ChannelInfo for Output for (int i = 0; i < capability.NbOutputChannels; i++) { capability.OutputChannelInfos[i] = driver.getChannelInfo(i, false); } // Get the current SampleRate capability.SampleRate = driver.getSampleRate(); // Get Latencies driver.getLatencies(out capability.InputLatency, out capability.OutputLatency); // Get BufferSize driver.getBufferSize(out capability.BufferMinSize, out capability.BufferMaxSize, out capability.BufferPreferredSize, out capability.BufferGranularity); }
/// <summary> /// Builds the capabilities internally. /// </summary> private void BuildCapabilities() { capability = new AsioDriverCapability(); capability.DriverName = driver.GetDriverName(); // Get nb Input/Output channels driver.GetChannels(out capability.NbInputChannels, out capability.NbOutputChannels); capability.InputChannelInfos = new AsioChannelInfo[capability.NbInputChannels]; capability.OutputChannelInfos = new AsioChannelInfo[capability.NbOutputChannels]; // Get ChannelInfo for Inputs for (int i = 0; i < capability.NbInputChannels; i++) { capability.InputChannelInfos[i] = driver.GetChannelInfo(i, true); } // Get ChannelInfo for Output for (int i = 0; i < capability.NbOutputChannels; i++) { capability.OutputChannelInfos[i] = driver.GetChannelInfo(i, false); } // Get the current SampleRate capability.SampleRate = driver.GetSampleRate(); var error = driver.GetLatencies(out capability.InputLatency, out capability.OutputLatency); // focusrite scarlett 2i4 returns ASE_NotPresent here if (error != AsioError.ASE_OK && error != AsioError.ASE_NotPresent) { var ex = new AsioException("ASIOgetLatencies"); ex.Error = error; throw ex; } // Get BufferSize driver.GetBufferSize(out capability.BufferMinSize, out capability.BufferMaxSize, out capability.BufferPreferredSize, out capability.BufferGranularity); }
/// <summary> /// Builds the capabilities internally. /// </summary> private void BuildCapabilities() { capability = new AsioDriverCapability(); capability.DriverName = driver.getDriverName(); // Get nb Input/Output channels driver.getChannels(out capability.NbInputChannels, out capability.NbOutputChannels); capability.InputChannelInfos = new ASIOChannelInfo[capability.NbInputChannels]; capability.OutputChannelInfos = new ASIOChannelInfo[capability.NbOutputChannels]; // Get ChannelInfo for Inputs for (int i = 0; i < capability.NbInputChannels; i++) { capability.InputChannelInfos[i] = driver.getChannelInfo(i, true); } // Get ChannelInfo for Output for (int i = 0; i < capability.NbOutputChannels; i++) { capability.OutputChannelInfos[i] = driver.getChannelInfo(i, false); } // Get the current SampleRate capability.SampleRate = driver.getSampleRate(); // Get Latencies driver.getLatencies(out capability.InputLatency, out capability.OutputLatency); // Get BufferSize driver.getBufferSize(out capability.BufferMinSize, out capability.BufferMaxSize, out capability.BufferPreferredSize, out capability.BufferGranularity); }
/// <summary> /// Builds the capabilities internally. /// </summary> private void BuildCapabilities() { capability = new AsioDriverCapability(); capability.DriverName = driver.getDriverName(); // Get nb Input/Output channels driver.getChannels(out capability.NbInputChannels, out capability.NbOutputChannels); capability.InputChannelInfos = new ASIOChannelInfo[capability.NbInputChannels]; capability.OutputChannelInfos = new ASIOChannelInfo[capability.NbOutputChannels]; // Get ChannelInfo for Inputs for (int i = 0; i < capability.NbInputChannels; i++) { capability.InputChannelInfos[i] = driver.getChannelInfo(i, true); } // Get ChannelInfo for Output for (int i = 0; i < capability.NbOutputChannels; i++) { capability.OutputChannelInfos[i] = driver.getChannelInfo(i, false); } // Get the current SampleRate capability.SampleRate = driver.getSampleRate(); var error = driver.GetLatencies(out capability.InputLatency, out capability.OutputLatency); // focusrite scarlett 2i4 returns ASE_NotPresent here if (error != ASIOError.ASE_OK && error != ASIOError.ASE_NotPresent) { var ex = new ASIOException("ASIOgetLatencies"); ex.Error = error; throw ex; } // Get BufferSize driver.getBufferSize(out capability.BufferMinSize, out capability.BufferMaxSize, out capability.BufferPreferredSize, out capability.BufferGranularity); }