From a748c368854372803e281fd123036d348bbe0fd1 Mon Sep 17 00:00:00 2001 From: Stephen Sinclair Date: Tue, 2 Jan 2018 16:47:07 -0300 Subject: Update ASIO headers to version 2.3. --- include/asio.h | 24 ++++++++++++++++++++---- include/asiosys.h | 2 +- include/ginclude.h | 2 +- 3 files changed, 22 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/asio.h b/include/asio.h index 8ec811f..c74199f 100644 --- a/include/asio.h +++ b/include/asio.h @@ -3,12 +3,14 @@ /* Steinberg Audio Stream I/O API - (c) 1997 - 2005, Steinberg Media Technologies GmbH + (c) 1997 - 2013, Steinberg Media Technologies GmbH - ASIO Interface Specification v 2.1 + ASIO Interface Specification v 2.3 2005 - Added support for DSD sample data (in cooperation with Sony) - + 2012 - Added support for drop out detection + + basic concept is an i/o synchronous double-buffer scheme: @@ -916,13 +918,19 @@ enum kAsioCanInputMeter, kAsioCanOutputGain, kAsioCanOutputMeter, - + kAsioOptionalOne, + // DSD support // The following extensions are required to allow switching // and control of the DSD subsystem. kAsioSetIoFormat = 0x23111961, /* ASIOIoFormat * in params. */ kAsioGetIoFormat = 0x23111983, /* ASIOIoFormat * in params. */ kAsioCanDoIoFormat = 0x23112004, /* ASIOIoFormat * in params. */ + + // Extension for drop out detection + kAsioCanReportOverload = 0x24042012, /* return ASE_SUCCESS if driver can detect and report overloads */ + + kAsioGetInternalBufferSamples = 0x25042012 /* ASIOInternalBufferInfo * in params. Deliver size of driver internal buffering, return ASE_SUCCESS if supported */ }; typedef struct ASIOInputMonitor @@ -1003,6 +1011,14 @@ typedef struct ASIOIoFormat_s char future[512-sizeof(ASIOIoFormatType)]; } ASIOIoFormat; +// Extension for drop detection +// Note: Refers to buffering that goes beyond the double buffer e.g. used by USB driver designs +typedef struct ASIOInternalBufferInfo +{ + long inputSamples; // size of driver's internal input buffering which is included in getLatencies + long outputSamples; // size of driver's internal output buffering which is included in getLatencies +} ASIOInternalBufferInfo; + ASIOError ASIOOutputReady(void); /* Purpose: diff --git a/include/asiosys.h b/include/asiosys.h index 37f7a48..003cf1a 100644 --- a/include/asiosys.h +++ b/include/asiosys.h @@ -1,7 +1,7 @@ #ifndef __asiosys__ #define __asiosys__ - #ifdef WIN32 + #if defined(_WIN32) || defined(_WIN64) #undef MAC #define PPC 0 #define WINDOWS 1 diff --git a/include/ginclude.h b/include/ginclude.h index b627dc2..d6dda0d 100644 --- a/include/ginclude.h +++ b/include/ginclude.h @@ -8,7 +8,7 @@ // #define ASIO_BIG_ENDIAN 1 #define ASIO_CPU_MIPS 1 -#elif defined WIN32 +#elif defined(_WIN32) || defined(_WIN64) #undef BEOS #undef MAC #undef SGI -- cgit v1.2.3