/// <summary> /// Instantiate the ASIO driver by GUID. /// </summary> /// <param name="guid">The GUID.</param> /// <returns>an AsioDriver instance</returns> public static AsioDriver GetAsioDriverByGuid(Guid guid) { var driver = new AsioDriver(); driver.InitFromGuid(guid); return(driver); }
/// <summary> /// Initializes a new instance of the <see cref="AsioDriverExt"/> class based on an already /// instantiated AsioDriver instance. /// </summary> /// <param name="driver">A AsioDriver already instantiated.</param> public AsioDriverExt(AsioDriver driver) { this.driver = driver; if (!driver.Init(IntPtr.Zero)) { throw new InvalidOperationException(driver.GetErrorMessage()); } callbacks = new AsioCallbacks(); callbacks.pasioMessage = AsioMessageCallBack; callbacks.pbufferSwitch = BufferSwitchCallBack; callbacks.pbufferSwitchTimeInfo = BufferSwitchTimeInfoCallBack; callbacks.psampleRateDidChange = SampleRateDidChangeCallBack; BuildCapabilities(); }