diff options
| author | Stephen Sinclair <radarsat1@gmail.com> | 2018-01-02 16:47:07 -0300 |
|---|---|---|
| committer | Stephen Sinclair <radarsat1@gmail.com> | 2018-01-02 16:47:07 -0300 |
| commit | a748c368854372803e281fd123036d348bbe0fd1 (patch) | |
| tree | 3de4604fd8bc793df788f68ae1902376d4b9c250 /include | |
| parent | ce13dfbf30fd1ab4e7f7eff8886a80f144c75e5d (diff) | |
Update ASIO headers to version 2.3.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asio.h | 24 | ||||
| -rw-r--r-- | include/asiosys.h | 2 | ||||
| -rw-r--r-- | include/ginclude.h | 2 |
3 files changed, 22 insertions, 6 deletions
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
|
