asx.h File Reference

#include <crtdbg.h>

Go to the source code of this file.

Defines

#define ARRAY_SIZE(X)   (sizeof(X)/sizeof(X[0]))
#define ASX_VERSION_CONSTRUCTOR(maj, min, rel)   (((maj) <<16 ) + ((min) << 8) + (rel))
#define ASX_VER_MAJOR(v)   ((v)>>16)
#define ASX_VER_MINOR(v)   (((v)>>8) & 0xFF )
#define ASX_VER_RELEASE(v)   ((v) & 0xFF )
#define ASX_VERSION   ASX_VERSION_CONSTRUCTOR( 3, 12, 2 )
#define ASX_SYSTEM_TYPE_HPI   0
 Use this to select ASI's HPI interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_WAVE   1
 Use this to select Microsoft's WAVE interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_ALSA   2
 Use this to select the Linux ALSA interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_DIRECTX   3
 Use this to select Microsoft's DirectX interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_PORTAUDIO   4
 Use this to select the PortAudio interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_PCXTOOLS   5
 Use this to select Digigram's PCX interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_SNMP   6
 Use this to select Cobranet SNMP interface when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_HPIUDP   7
 Use this to select ASI's HPI interface over UDP when calling ASX_System_Create().
#define ASX_SYSTEM_TYPE_DUMMY   8
 Dummy backend.
#define ASX_SYSTEM_TYPE_COUNT   9
 Indicates the number of subsystems defined.
#define ASX_SHORT_STRING   32
 Short string size for adapter, node, control, enum translations.
#define ASX_LONG_STRING   128
 Long string size for error strings, filenames and PADs strings.
#define ASX_LONGLONG_STRING   256
 LongLong string size for PADs comment string.
#define _RPT0(l, s)   printf(s)
 A debug helper function, 0 arguments.
#define _RPT1(l, s, d1)   printf(s,d1)
 A debug helper function, 1 argument.

Typedefs

typedef void * ASX_HANDLE
 Generic handle used to represent all ASX objects.
typedef enum asxERROR ASX_ERROR
 Error type used to return error codes from all functions.
typedef enum asxNODE ASX_NODE
 Node type enum.
typedef int ASX_TIME
 Timescale.
typedef void ASX_ERROR_CALLBACK (ASX_HANDLE hASX_Object, const char *pszCallingFunction, void *pUser1, void *pUser2)
 An error handling callback function.

Enumerations

enum  asxERROR {
  asxERROR_NO_ERROR = 0, asxERROR_ASXOBJECT = 256, asxERROR_INDEX_OUT_OF_RANGE = 257, asxERROR_UNIMPLEMENTED = 258,
  asxERROR_COMMUNICATING_WITH_DEVICE = 259, asxERROR_STARTING_DEVICE = 260, asxERROR_NOT_OPEN = 261, asxERROR_ALREADY_OPEN = 262,
  asxERROR_INVALID_FORMAT = 263, asxERROR_INTERNAL_BUFFERING_ERROR = 264, asxERROR_AES18 = 265, asxERROR_INVALID_OPERATION = 266,
  asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE = 267, asxERROR_BUFFER_TOO_SMALL = 268, asxERROR_OUTOFMEMORY = 269, asxERROR_DEPRECATED = 270,
  asxERROR_TOO_MANY_CLIENTS = 271, asxERROR_INVALID_CONTROL = 304, asxERROR_INVALID_CONTROL_VALUE = 305, asxERROR_INVALID_CONTROL_NOT_FOUND = 306,
  asxERROR_INVALID_NUMBER_OF_CHANNELS = 307, asxERROR_INVALID_CONTROL_ATTRIBUTE = 308, asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE = 309, asxERROR_INVALID_CONTROL_OPERATION = 310,
  asxERROR_FILE_OPEN_FAILED = 336, asxERROR_PLAYER_INTERNAL_STATE_FAILURE = 384, asxERROR_PLAYER_TIME_OUT = 385, asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL = 386,
  asxERROR_PLAYER_TWAV = 387, asxERROR_PLAYER_NOFILE = 388, asxERROR_PLAYER_INVALIDFILEFORMAT = 389, asxERROR_PLAYER_UNSUPPORTEDFORMAT = 390,
  asxERROR_PLAYER_FILEREADERROR = 391, asxERROR_PLAYER_FILEOPENERROR = 392, asxERROR_RECORDER_INTERNAL_STATE_FAILURE = 448, asxERROR_RECORDER_TIME_OUT = 449,
  asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL = 450, asxERROR_RECORDER_TWAV = 451, asxERROR_RECORDER_FILECREATEERROR = 452, asxERROR_RECORDER_FILEWRITEERROR = 453,
  asxERROR_RECORDER_FORMATMISMATCH = 454, asxERROR_RECORDER_INVALIDFILENAME = 455, asxERROR_MIXER_SAVECONTROLSTATE = 460, asxERROR_UNKNOWN = 4095
}
 ASX error codes. These error codes are returned by most ASX functions. More...
enum  asxNODE {
  asxNODE_NONE = 0, asxNODE_INVALID = 400, asxNODE_ADAPTER = 401, asxNODE_PLAYER = 402,
  asxNODE_LINE_IN = 403, asxNODE_AESEBU_IN = 404, asxNODE_TUNER_IN = 405, asxNODE_RADIO_FREQ_IN = 406,
  asxNODE_CLOCK_SOURCE_IN = 407, asxNODE_BITSTREAM_IN = 408, asxNODE_MICROPHONE_IN = 409, asxNODE_COBRANET_IN = 410,
  asxNODE_COBRANET_RECEIVER = 411, asxNODE_ANALOG_IN = 412, asxNODE_LAST_SOURCE_NODE = 413, asxNODE_FIRST_DEST_NODE = 450,
  asxNODE_RECORDER = 450, asxNODE_LINE_OUT = 451, asxNODE_AESEBU_OUT = 452, asxNODE_RADIO_FREQ_OUT = 453,
  asxNODE_SPEAKER_OUT = 454, asxNODE_COBRANET_OUT = 455, asxNODE_COBRANET_TRANSMITTER = 456, asxNODE_ANALOG_OUT = 457,
  asxNODE_LAST_DEST_NODE = 458
}
 Node type identifiers. The nodes identify how controls are connected and located. This enum is used to identify node types. More...
enum  asxCONTROL {
  asxCONTROL_INVALID = 500, asxCONTROL_CONNECTION = 501, asxCONTROL_VOLUME = 502, asxCONTROL_METER = 503,
  asxCONTROL_MUTE = 504, asxCONTROL_MULTIPLEXER = 505, asxCONTROL_AESEBU_TRANSMITTER = 506, asxCONTROL_AESEBU_RECEIVER = 507,
  asxCONTROL_LEVEL = 508, asxCONTROL_TUNER = 509, asxCONTROL_RDS = 510, asxCONTROL_VOX = 511,
  asxCONTROL_AES18_TRANSMITTER = 512, asxCONTROL_AES18_RECEIVER = 513, asxCONTROL_AES18_BLOCK_GENERATOR = 514, asxCONTROL_CHANNEL_MODE = 515,
  asxCONTROL_BIT_STREAM = 516, asxCONTROL_SAMPLE_CLOCK = 517, asxCONTROL_MICROPHONE = 518, asxCONTROL_PARAMETRIC_EQ = 519,
  asxCONTROL_COMPANDER = 520, asxCONTROL_COBRANET = 521, asxCONTROL_PLAYER = 522, asxCONTROL_RECORDER = 523,
  asxCONTROL_GPIO = 524, asxCONTROL_RESERVED_525 = 525, asxCONTROL_RESERVED_526 = 526, asxCONTROL_RESERVED_527 = 527,
  asxCONTROL_RESERVED_528 = 528, asxCONTROL_GENERIC = 529, asxCONTROL_TONEDETECTOR = 530, asxCONTROL_SILENCEDETECTOR = 531,
  asxCONTROL_COBRANET_TRANSMITTER = 532, asxCONTROL_COBRANET_RECEIVER = 533, asxCONTROL_PAD = 534, asxCONTROL_SRC = 535,
  asxCONTROL_LAST_CONTROL = 536
}
 Control type identifiers. The control types are used to differentiate control capabilities. More...
enum  asxVOLUME_AUTOFADE { asxVOLUME_AUTOFADE_LOG, asxVOLUME_AUTOFADE_LINEAR }
 volume autofade profiles More...
enum  asxMETER_TYPE { asxMETER_PEAK, asxMETER_RMS }
 Peak meter type to read. More...
enum  asxCHANNELMODE {
  asxCHANNELMODE_ILLEGAL = 1000, asxCHANNELMODE_NORMAL = 1001, asxCHANNELMODE_SWAP = 1002, asxCHANNELMODE_STEREOTOLEFT = 1003,
  asxCHANNELMODE_STEREOTORIGHT = 1004, asxCHANNELMODE_LEFTTOSTEREO = 1005, asxCHANNELMODE_RIGHTTOSTEREO = 1006
}
 Channel mode settings. More...
enum  asxADAPTERMODE {
  asxADAPTERMODE_ILLEGAL = 1100, asxADAPTERMODE_4_PLAY = 1101, asxADAPTERMODE_6_PLAY = 1102, asxADAPTERMODE_8_PLAY = 1103,
  asxADAPTERMODE_9_PLAY = 1104, asxADAPTERMODE_12_PLAY = 1105, asxADAPTERMODE_16_PLAY = 1106, asxADAPTERMODE_1_PLAY = 1107,
  asxADAPTERMODE_MODE_1 = 1108, asxADAPTERMODE_MODE_2 = 1109, asxADAPTERMODE_MODE_3 = 1110, asxADAPTERMODE_MULTICHANNEL = 1111
}
 Adapter mode settings. More...
enum  asxTUNERBAND {
  asxTUNERBAND_AM = 1200, asxTUNERBAND_FM = 1201, asxTUNERBAND_TV = 1202, asxTUNERBAND_FM_STEREO = 1203,
  asxTUNERBAND_AUX = 1204, asxTUNERBAND_TV_PAL_BG = 1205, asxTUNERBAND_TV_PAL_I = 1206, asxTUNERBAND_TV_PAL_DK = 1207,
  asxTUNERBAND_TV_SECAM_L = 1208
}
 Tuner band settings. More...
enum  asxTUNERDEEMPHASIS { asxTUNERDEEMPHASIS_50 = 1240, asxTUNERDEEMPHASIS_75 = 1241, asxTUNERDEEMPHASIS_none = 1242 }
 Tuner FM de-emphasis settings. More...
enum  asxTUNERMODE { asxTUNERMODE_RSS = 1250, asxTUNERMODE_RSS_ENABLE = 1251, asxTUNERMODE_RSS_DISABLE = 1252 }
 Tuner mode settings. More...
enum  asxTUNERPROGRAM {
  asxTUNERPROGRAM_none = 1260, asxTUNERPROGRAM_1 = 1261, asxTUNERPROGRAM_2 = 1262, asxTUNERPROGRAM_3 = 1263,
  asxTUNERPROGRAM_4 = 1264, asxTUNERPROGRAM_5 = 1265, asxTUNERPROGRAM_6 = 1266, asxTUNERPROGRAM_7 = 1267,
  asxTUNERPROGRAM_8 = 1268
}
 Tuner program settings. More...
enum  asxSAMPLE_CLOCK_SOURCE {
  asxSAMPLE_CLOCK_SOURCE_ADAPTER = 1400, asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC = 1401, asxSAMPLE_CLOCK_SOURCE_WORD = 1402, asxSAMPLE_CLOCK_SOURCE_WORD_HEADER = 1403,
  asxSAMPLE_CLOCK_SOURCE_SMPTE = 1404, asxSAMPLE_CLOCK_SOURCE_NETWORK = 1405, asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO = 1406, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1 = 1407,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2 = 1408, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3 = 1409, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4 = 1410, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5 = 1411,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6 = 1412, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7 = 1413, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8 = 1414, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9 = 1415,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10 = 1416, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11 = 1417, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12 = 1418, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13 = 1419,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14 = 1420, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15 = 1421, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16 = 1422, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17 = 1423,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18 = 1424, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19 = 1425, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20 = 1426, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21 = 1427,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22 = 1428, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23 = 1429, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24 = 1430, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25 = 1431,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26 = 1432, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27 = 1433, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28 = 1434, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29 = 1435,
  asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30 = 1436, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31 = 1437, asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32 = 1438, asxSAMPLE_CLOCK_SOURCE_LOCAL = 1439,
  asxSAMPLE_CLOCK_SOURCE_PREV_MODULE = 1440, asxSAMPLE_CLOCK_SOURCE_UNDEFINED = 1441, asxSAMPLE_CLOCK_SOURCE_LIVEWIRE = 1442
}
 Sample clock source options. More...
enum  asxAESEBU_FORMAT { asxAESEBU_FORMAT_AESEBU = 1450, asxAESEBU_FORMAT_SPDIF = 1451, asxAESEBU_FORMAT_UNDEFINED = 1452 }
 Digital mode settings. More...
enum  asxEQBANDTYPE {
  asxEQBANDTYPE_BYPASS = 1460, asxEQBANDTYPE_LOWSHELF = 1461, asxEQBANDTYPE_HIGHSHELF = 1462, asxEQBANDTYPE_EQUALIZER = 1463,
  asxEQBANDTYPE_LOWPASS = 1464, asxEQBANDTYPE_HIGHPASS = 1465, asxEQBANDTYPE_BANDPASS = 1466, asxEQBANDTYPE_BANDSTOP = 1467
}
 Parametric equalizer band type settings. More...
enum  asxCOBRANET_MODE { asxCOBRANET_MODE_NETWORK = 1470, asxCOBRANET_MODE_TETHERED = 1471 }
 Cobranet mode settings (deprecated!). More...
enum  asxADPROPENUM_MODE { asxADPROPENUM_MODE_PROPERTIES = 1480, asxADPROPENUM_MODE_SETTINGS = 1481 }
 Adapter property enumerate mode settings. More...
enum  asxCOBRANET_LATENCY { asxCOBRANET_LATENCY_133ms = 1490, asxCOBRANET_LATENCY_266ms = 1491, asxCOBRANET_LATENCY_533ms = 1492 }
 Cobranet latency settings. More...
enum  asxFILE_FORMAT { asxFILE_FORMAT_WAV = 10000, asxFILE_FORMAT_RAW = 10001 }
 File Formats. More...
enum  asxFILE_MODE { asxFILE_MODE_CREATE = 10100, asxFILE_MODE_APPEND = 10101 }
 File Mode. More...
enum  asxAUDIO_FORMAT {
  asxAUDIO_FORMAT_PCM8 = 10200, asxAUDIO_FORMAT_PCM16 = 10201, asxAUDIO_FORMAT_PCM24 = 10202, asxAUDIO_FORMAT_PCM32 = 10203,
  asxAUDIO_FORMAT_PCM32_FLOAT = 10204, asxAUDIO_FORMAT_MPEG_L2 = 10205, asxAUDIO_FORMAT_MPEG_L3 = 10206, asxAUDIO_FORMAT_MPEG_AACPLUS = 10207,
  asxAUDIO_FORMAT_DOLBY_AC2 = 10208, asxAUDIO_FORMAT_PCM20 = 10209, asxAUDIO_FORMAT_NONE = 10210
}
 Audio Formats. More...
enum  asxRECORD_MODE {
  asxRECORD_MODE_STEREO = 10300, asxRECORD_MODE_JOINT_STEREO, asxRECORD_MODE_DUAL_MONO, asxRECORD_MODE_MONO,
  asxRECORD_MODE_DONT_CARE
}
 Record Mode. More...
enum  asxPLAYER_STATE {
  asxPLAYER_INIT = 10400, asxPLAYER_OPEN = 10401, asxPLAYER_PREFILL = 10402, asxPLAYER_RUNNING = 10403,
  asxPLAYER_PAUSED = 10404, asxPLAYER_DONE = 10405, asxPLAYER_DESTROY = 10406
}
 Player States. More...
enum  asxRECORDER_STATE {
  asxRECORDER_INIT = 10500, asxRECORDER_OPEN = 10501, asxRECORDER_RUNNING = 10502, asxRECORDER_PAUSED = 10503,
  asxRECORDER_DONE = 10504, asxRECORDER_DESTROY = 10505
}
 Recorder States. More...
enum  asxTIMESCALE { asxTIMESCALE_INVALID = 10600, asxTIMESCALE_BYTES = 10601, asxTIMESCALE_MILLISECONDS = 10602, asxTIMESCALE_SAMPLES = 10603 }
 TimeScale type identifiers. More...
enum  asxSAMPLE_RATE {
  asxSAMPLE_RATE_8000 = 10700, asxSAMPLE_RATE_11025 = 10701, asxSAMPLE_RATE_16000 = 10702, asxSAMPLE_RATE_22050 = 10703,
  asxSAMPLE_RATE_24000 = 10704, asxSAMPLE_RATE_32000 = 10705, asxSAMPLE_RATE_44100 = 10706, asxSAMPLE_RATE_48000 = 10707,
  asxSAMPLE_RATE_64000 = 10708, asxSAMPLE_RATE_88200 = 10709, asxSAMPLE_RATE_96000 = 10710, asxSAMPLE_RATE_192000 = 10711,
  asxSAMPLE_RATE_12000 = 10712, asxSAMPLE_RATE_UNDEFINED = 10799
}
 Sample rate options. More...
enum  asxMSG_LOGGING {
  asxMSG_LOGGING_DISABLE = 10800, asxMSG_LOGGING_ERROR = 10801, asxMSG_LOGGING_WARNING = 10802, asxMSG_LOGGING_NOTICE = 10803,
  asxMSG_LOGGING_INFO = 10804, asxMSG_LOGGING_DEBUG = 10805, asxMSG_LOGGING_VERBOSE = 10806
}
 Error logging control. Uses DbgView under Windows to log messages. More...
enum  asxTUNER_STATUS {
  asxTUNER_STATUS_VIDEO_VALID = 1, asxTUNER_STATUS_VIDEO_COLOR_PRESENT = 2, asxTUNER_STATUS_VIDEO_IS_60HZ = 4, asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING = 8,
  asxTUNER_STATUS_PLL_LOCKED = 16, asxTUNER_STATUS_FM_STEREO = 32, asxTUNER_STATUS_DIGITAL = 64, asxTUNER_STATUS_MULTIPROGRAM = 128
}
 Tuner status bitfields. Not translatable to strings. More...
enum  asxTUNER_RDS_TYPE { asxTUNER_RDS_TYPE_RDS = 0, asxTUNER_RDS_TYPE_RBDS = 1 }
 Tuner PSD/PAD/RDS/RBDS type. Not translatable to strings. More...
enum  asxAESEBU_STATUS {
  asxAESEBU_ERROR = 0x01, asxAESEBU_ERROR_NOT_LOCKED = 0x02, asxAESEBU_ERROR_POOR_QUALITY = 0x04, asxAESEBU_ERROR_PARITY_ERROR = 0x08,
  asxAESEBU_ERROR_BIPHASE_VIOLATION = 0x10, asxAESEBU_ERROR_VALIDITY = 0x20, asxAESEBU_ERROR_CHANNELSTATUS_CRC = 0x40
}
 AESEBU status bitfields. Not translatable to strings. More...
enum  asxHANDLE_TYPE {
  asxHANDLE_INVALID, asxHANDLE_SYSTEM, asxHANDLE_ADAPTER, asxHANDLE_MIXER,
  asxHANDLE_NODE, asxHANDLE_CONTROL, asxHANDLE_LAST
}
 Handle type enums returned from ASX_Handle_GetType(). More...

Functions

ASX32_API ASX_ERROR ASX_System_Create (const int asxSystemType, ASX_HANDLE *phSystem)
 Create a complete ASX system.
ASX32_API ASX_ERROR ASX_System_CreateSubSystem (const int asxSystemType, ASX_HANDLE *pio_hSystem)
 Creates an ASX sub system and adds it to the existing system, if any.
ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface (const char *szInterface)
 Set the interface ASX should use when communicating with network devices.
ASX32_API ASX_ERROR ASX_System_Delete (ASX_HANDLE hSystem)
 Delete a complete ASX system.
ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback (ASX_HANDLE hSystem, ASX_ERROR_CALLBACK *pCallback, void *pUser1, void *pUser2)
 Register a callback function that should be called when an error is detected.
ASX32_API ASX_ERROR ASX_System_GetName (ASX_HANDLE hSystem, char *pszName, const int nStringLength, int *pnRequiredLength)
 Gets the name of the ASX system.
ASX32_API ASX_ERROR ASX_System_GetVersion (ASX_HANDLE hSystem, char *pszSystemVersion, const int nSystemVersionLength, int *pnRequiredSystemVersionLength, char *pszSubSystemVersion, const int nSubSystemVersionLength, int *pnRequiredSubSystemVersionLength)
 Get ASX system version information.
ASX32_API ASX_ERROR ASX_System_GetAdapterCount (ASX_HANDLE hSystem, int *pnCount)
 Get the number of adapters.
ASX32_API ASX_ERROR ASX_System_GetAdapter (ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter)
 Get a handle to a specific adapter.
ASX32_API ASX_ERROR ASX_System_SetMessageLogging (ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog)
 Set the message logging level for ASX.
ASX32_API ASX_ERROR ASX_System_GetMessageLogging (ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog)
 Get the message logging level for ASX.
ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType (ASX_HANDLE hHandle)
 Get the handle type.
ASX32_API ASX_ERROR ASX_Error_GetLast (ASX_HANDLE hASXObject, ASX_ERROR *pnAsxErrorCode, int *pnAsxSubSystemErrorCode)
 Get the last error.
ASX32_API ASX_ERROR ASX_Error_GetLastString (ASX_HANDLE hASXObject, char *pszAsxErrorString, const int nAsxErrorStringLength, int *pnRequiredAsxErrorStringLength, char *pszAsxSubSystemErrorString, const int nAsxSubSystemErrorStringLength, int *pnRequiredAsxSubSystemErrorStringLength)
 Get the last error string information.
ASX32_API ASX_ERROR ASX_Error_Clear (ASX_HANDLE hASXObject)
 Clears the last error.
ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems (ASX_HANDLE hAdapter, unsigned int *pnSubSystemMask, unsigned int *pnSubSystemOkMask)
 Returns the status of the various sub-systems that interface to the adapter.
ASX32_API ASX_ERROR ASX_Adapter_GetName (ASX_HANDLE hAdapter, char *pszName, const int nStringLength, int *RequiredLength)
 Gets the name of the adapter.
ASX32_API ASX_ERROR ASX_Adapter_GetIndex (ASX_HANDLE hAdapter, int *pnIndex)
 Gets an adapter's index.
ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber (ASX_HANDLE hAdapter, unsigned long *pdwSerialNumber)
 Gets an adapter's serial number.
ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision (ASX_HANDLE hAdapter, char *pszRevision)
 Gets an adapter's hardware revision.
ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision (ASX_HANDLE hAdapter, char *pszRevision)
 Gets an adapter's firmware revision.
ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress (ASX_HANDLE hAdapter, char *pszMAC)
 Gets an adapter's ethernet MAC address.
ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress (ASX_HANDLE hAdapter, char *pszIP)
 Gets an adapter's network IP address.
ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization (ASX_HANDLE hAdapter, const int nDspIndex, int *pnDspUtilization)
 Gets an adapter's DSP utilization.
ASX32_API ASX_ERROR ASX_Adapter_GetMixer (ASX_HANDLE hAdapter, ASX_HANDLE *p_hMixer)
 Gets a handle to an adapter's mixer.
ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode (ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount)
 Enumerate each adapter mode option.
ASX32_API ASX_ERROR ASX_Adapter_GetMode (ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode)
 Get the current adapter mode.
ASX32_API ASX_ERROR ASX_Adapter_SetMode (ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode)
 Set the current adapter mode.
ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty (ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting)
 Enumerates adapter properties and settings.
ASX32_API ASX_ERROR ASX_Adapter_ReadProperty (ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2)
 Read an adapter property value.
ASX32_API ASX_ERROR ASX_Adapter_WriteProperty (ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2)
 Write an adapter property value.
ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem (ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue)
 Write a byte to the non-volatile memory.
ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem (ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue)
 Read a byte from the non-volatile memory.
ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes (ASX_HANDLE hAdapter, int *pnCount)
 Get the number of bytes in the adapter's non-volatile memory.
ASX32_API ASX_ERROR ASX_Mixer_ResetControls (ASX_HANDLE hMixer)
 This function sets all the controls in the mixer to a known state.
ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount (ASX_HANDLE hMixer, int *pnCount)
 This function returns the nunber of source nodes in the mixer.
ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode (ASX_HANDLE hMixer, const int nSourceNode, ASX_HANDLE *p_hNode)
 This function gets the handle of a particular source node.
ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount (ASX_HANDLE hMixer, int *pnCount)
 This function returns the nunber of destination nodes in the mixer.
ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode (ASX_HANDLE hMixer, const int nDestinationNode, ASX_HANDLE *p_hNode)
 This function gets the handle of the specified destination node.
ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType (ASX_HANDLE hMixer, const enum asxNODE eType, const int nIndex, ASX_HANDLE *p_hNode)
 Get a node by type.
ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount (ASX_HANDLE hMixer, const enum asxNODE eType, int *pnCount)
 Get the number of nodes of the specified type.
ASX32_API ASX_ERROR ASX_Mixer_GetControlCount (ASX_HANDLE hMixer, int *pnControls)
 This function returns the total number of controls in the mixer.
ASX32_API ASX_ERROR ASX_Mixer_GetControl (ASX_HANDLE hMixer, const int nControl, ASX_HANDLE *p_hControlBase)
 Given a control index, this function returns a handle to the specified control.
ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode (const ASX_HANDLE hMixer, const ASX_HANDLE hSourceNode, const ASX_HANDLE hDestinationNode, const enum asxCONTROL eControlType, ASX_HANDLE *p_hControlBase)
 Given source and destination node handles as well as the control type, return the specified control.
ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex (ASX_HANDLE hMixer, const enum asxNODE nSourceNodeType, const int nSourceIndex, const enum asxNODE nDestinationNodeType, const int nDestinationIndex, const enum asxCONTROL eControlType, ASX_HANDLE *p_hControlBase)
 Given source and destination node specifications as well as the control type, return the specified control.
ASX32_API ASX_ERROR ASX_Node_GetType (ASX_HANDLE hNode, enum asxNODE *peType)
 Returns the node type of the given node.
ASX32_API ASX_ERROR ASX_Node_GetIndex (ASX_HANDLE hNode, int *pnIndex)
 Returns the index of the given node.
ASX32_API ASX_ERROR ASX_Node_GetLocation (ASX_HANDLE hNode, int *pnModuleSlot, int *pnNodeIndexOnSlot, char *pszModuleName, const int nStringLength)
 Returns the location of the given node in terms of module slots and position on the module that contains the node.
ASX32_API ASX_ERROR ASX_Node_GetSubSystem (ASX_HANDLE hNode, ASX_HANDLE *p_hSubSystem)
 Returns the sub system handle of the given node.
ASX32_API ASX_ERROR ASX_Node_GetName (ASX_HANDLE hNode, char *pszNodeName, const int nStringLength)
 Get the name of the node.
ASX32_API ASX_ERROR ASX_Mixer_GetNodeType (ASX_HANDLE hNode, enum asxNODE *peType)
ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex (ASX_HANDLE hNode, int *pnIndex)
ASX32_API ASX_ERROR ASX_Control_GetType (ASX_HANDLE hControl, enum asxCONTROL *peControl)
 Generic control function to get the type of a control.
ASX32_API ASX_ERROR ASX_Control_GetSourceNode (ASX_HANDLE hControl, ASX_HANDLE *p_hNode)
 Generic control function to get the source node of a control.
ASX32_API ASX_ERROR ASX_Control_GetDestinationNode (ASX_HANDLE hControl, ASX_HANDLE *p_hNode)
 Generic control function to get the destination node of a control.
ASX32_API ASX_ERROR ASX_Control_GetHpiControl (ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl)
 Tunnel through ASX to get HPI control parameters (NOT IMPLEMENTED YET).
ASX32_API ASX_ERROR ASX_Control_GetSubSystem (ASX_HANDLE hControl, ASX_HANDLE *p_hSubSystem)
 Returns the sub system handle of the given control.
ASX32_API ASX_ERROR ASX_Player_Open (ASX_HANDLE hPlayer, const char *pszFile)
 Open a file for playback.
ASX32_API ASX_ERROR ASX_Player_Format_GetString (ASX_HANDLE hPlayer, char **pszFormat)
 Get the format of the currently opened file as a string.
ASX32_API ASX_ERROR ASX_Player_Format_GetDetails (ASX_HANDLE hPlayer, enum asxAUDIO_FORMAT *peFormat, int *pnChannnels, int *pnSampleRate, int *pnBitRate)
 Get the format of the currently opened file as individual variables.
ASX32_API ASX_ERROR ASX_Player_PreLoad (ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition)
 Preloads playback buffers from the given position, ready for playback.
ASX32_API ASX_ERROR ASX_Player_Start (ASX_HANDLE hPlayer)
 Start playback of a previously opened (and optionally pre-loaded) file.
ASX32_API ASX_ERROR ASX_Player_Pause (ASX_HANDLE hPlayer)
 Pause playback of the currently playing file.
ASX32_API ASX_ERROR ASX_Player_Stop (ASX_HANDLE hPlayer)
 Stops playback of the currently playing file.
ASX32_API ASX_ERROR ASX_Player_Wait (ASX_HANDLE hPlayer)
 Wait for the current file to finish.
ASX32_API ASX_ERROR ASX_Player_Close (ASX_HANDLE hPlayer)
 Close the current playback file.
ASX32_API ASX_ERROR ASX_Player_GetPosition (ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition)
 Get the current playback position.
ASX32_API ASX_ERROR ASX_Player_GetState (ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState)
 Get the current playback state.
ASX32_API ASX_ERROR ASX_Player_SetTimeScale (ASX_HANDLE hPlayer, const float fTimeScale)
 Set the playback timescale.
ASX32_API ASX_ERROR ASX_Player_GetTimeScale (ASX_HANDLE hPlayer, float *pfTimeScale)
 Get the playback timescale.
ASX32_API ASX_ERROR ASX_Player_GetFilename (ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength)
 Get the current filename, if any.
ASX32_API ASX_ERROR ASX_Player_SetLoopMode (ASX_HANDLE hPlayer, const int nLooping)
 Set the player to loop or single play mode.
ASX32_API ASX_ERROR ASX_Player_GetLoopMode (ASX_HANDLE hPlayer, int *pnLooping)
 Get the current player loop mode.
ASX32_API ASX_ERROR ASX_Recorder_Open (ASX_HANDLE hRecorder, const char *pszFile, const enum asxFILE_FORMAT nFileType, const enum asxFILE_MODE nFileMode, const int nChannels, const enum asxAUDIO_FORMAT nFormat, const long lSampleRate, const long lBitrate, const enum asxRECORD_MODE nMode)
 Opens the recorder using the specified format.
ASX32_API ASX_ERROR ASX_Recorder_Start (ASX_HANDLE hRecorder)
 Starts the recording.
ASX32_API ASX_ERROR ASX_Recorder_Stop (ASX_HANDLE hRecorder)
 Stops the recording.
ASX32_API ASX_ERROR ASX_Recorder_Pause (ASX_HANDLE hRecorder)
 Pauses the recording.
ASX32_API ASX_ERROR ASX_Recorder_Close (ASX_HANDLE hRecorder)
 Closes the recording file.
ASX32_API ASX_ERROR ASX_Recorder_GetPosition (ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition)
 Gets the current record position.
ASX32_API ASX_ERROR ASX_Recorder_GetState (ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState)
 Get the current record state.
ASX32_API ASX_ERROR ASX_Recorder_GetFilename (ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength)
 Get the current filename, if any.
ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat (ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount)
 Enumerates supported recorder formats.
ASX32_API ASX_ERROR ASX_Meter_GetChannels (ASX_HANDLE hMeter, int *pnChannels)
 Returns the number of channels this peak meter has.
ASX32_API ASX_ERROR ASX_Meter_GetPeak (ASX_HANDLE hMeter, float *fdB, const int nChannels)
 Returns the peak meter reading for the given meter control.
ASX32_API ASX_ERROR ASX_Meter_GetRMS (ASX_HANDLE hMeter, float *fdB, const int nChannels)
 Returns the RMS meter reading for the given meter control.
ASX32_API ASX_ERROR ASX_Meter_SetBallistics (ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs)
 Set the meter ballistics.
ASX32_API ASX_ERROR ASX_Volume_GetChannels (ASX_HANDLE hVolume, int *pnChannels)
 Returns the number of channels this volume control has.
ASX32_API ASX_ERROR ASX_Volume_SetGain (ASX_HANDLE hVolume, float *fSetdB, const int nChannels)
 Set volume.
ASX32_API ASX_ERROR ASX_Volume_GetGain (ASX_HANDLE hVolume, float *fdB, const int nChannels)
 Get volume.
ASX32_API ASX_ERROR ASX_Volume_GetRange (ASX_HANDLE hVolume, float *fMinGain, float *fMaxGain, float *fGainStep)
 Get that range of volume settings available.
ASX32_API ASX_ERROR ASX_Volume_SetAutofade (ASX_HANDLE hVolume, const float *fSetdB, const int nChannels, const ASX_TIME nDuration, const enum asxVOLUME_AUTOFADE eProfile)
 Set an autofade operation.
ASX32_API ASX_ERROR ASX_Level_Set (ASX_HANDLE hLevel, const float fGain)
 Set the analog input or output level (sometimes called trim).
ASX32_API ASX_ERROR ASX_Level_Get (ASX_HANDLE hLevel, float *fGain)
 Get the analog input or output level (sometimes called trim).
ASX32_API ASX_ERROR ASX_Level_GetRange (ASX_HANDLE hLevel, float *fMinGain, float *fMaxGain, float *fGainStep)
 Get that range of level settings available.
ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate (ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount)
 Enumerate each multiplexer option.
ASX32_API ASX_ERROR ASX_Multiplexer_Get (ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex)
 Get the current multiplexer setting.
ASX32_API ASX_ERROR