Update ASIO headers to version 2.3.
authorStephen Sinclair <radarsat1@gmail.com>
Tue, 2 Jan 2018 19:47:07 +0000 (16:47 -0300)
committerStephen Sinclair <radarsat1@gmail.com>
Tue, 2 Jan 2018 19:47:07 +0000 (16:47 -0300)
include/asio.h
include/asiosys.h
include/ginclude.h

index 8ec811f8fe08f5a1ecd0f62bf30e4a8792867bd0..c74199f02bc2619ae48cc00945248d3376297eb0 100644 (file)
@@ -3,12 +3,14 @@
 \r
 /*\r
        Steinberg Audio Stream I/O API\r
-       (c) 1997 - 2005, Steinberg Media Technologies GmbH\r
+       (c) 1997 - 2013, Steinberg Media Technologies GmbH\r
 \r
-       ASIO Interface Specification v 2.1\r
+       ASIO Interface Specification v 2.3\r
 \r
        2005 - Added support for DSD sample data (in cooperation with Sony)\r
-\r
+       2012 - Added support for drop out detection\r
+               \r
+       \r
 \r
        basic concept is an i/o synchronous double-buffer scheme:\r
        \r
@@ -916,13 +918,19 @@ enum
        kAsioCanInputMeter,\r
        kAsioCanOutputGain,\r
        kAsioCanOutputMeter,\r
-\r
+       kAsioOptionalOne,\r
+       \r
        //      DSD support\r
        //      The following extensions are required to allow switching\r
        //      and control of the DSD subsystem.\r
        kAsioSetIoFormat                        = 0x23111961,           /* ASIOIoFormat * in params.                    */\r
        kAsioGetIoFormat                        = 0x23111983,           /* ASIOIoFormat * in params.                    */\r
        kAsioCanDoIoFormat                      = 0x23112004,           /* ASIOIoFormat * in params.                    */\r
+       \r
+       // Extension for drop out detection\r
+       kAsioCanReportOverload                  = 0x24042012,   /* return ASE_SUCCESS if driver can detect and report overloads */\r
+       \r
+       kAsioGetInternalBufferSamples   = 0x25042012    /* ASIOInternalBufferInfo * in params. Deliver size of driver internal buffering, return ASE_SUCCESS if supported */\r
 };\r
 \r
 typedef struct ASIOInputMonitor\r
@@ -1003,6 +1011,14 @@ typedef struct ASIOIoFormat_s
        char                            future[512-sizeof(ASIOIoFormatType)];\r
 } ASIOIoFormat;\r
 \r
+// Extension for drop detection\r
+// Note: Refers to buffering that goes beyond the double buffer e.g. used by USB driver designs\r
+typedef struct ASIOInternalBufferInfo\r
+{\r
+       long inputSamples;                      // size of driver's internal input buffering which is included in getLatencies\r
+       long outputSamples;                     // size of driver's internal output buffering which is included in getLatencies\r
+} ASIOInternalBufferInfo;\r
+\r
 \r
 ASIOError ASIOOutputReady(void);\r
 /* Purpose:\r
index 37f7a48a170e6eb4bfd8a4f45cfacd7b07ec6336..003cf1af7e38b90a5eda09dec6d50f3b7b2d19d1 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __asiosys__\r
        #define __asiosys__\r
 \r
-       #ifdef WIN32\r
+       #if defined(_WIN32) || defined(_WIN64)\r
                #undef MAC \r
                #define PPC 0\r
                #define WINDOWS 1\r
index b627dc2e7652f4ace60eea85c6679cca51ab56df..d6dda0dec9edeebb5d7a93111a6a251032e0967f 100644 (file)
@@ -8,7 +8,7 @@
        //\r
        #define ASIO_BIG_ENDIAN 1\r
        #define ASIO_CPU_MIPS 1\r
-#elif defined WIN32\r
+#elif defined(_WIN32) || defined(_WIN64)\r
        #undef BEOS \r
        #undef MAC \r
        #undef SGI\r