ASX Version4.37.03

asx.h

Go to the documentation of this file.
00001 /*****************************************************************************************
00002 * $Header: /home/eliot/asi/repo/cvsrepo/Repository/apps/asx/asx.h,v 1.691 2012/01/23 04:12:48 as-sgt Exp $
00003 *
00004 * ASX.H
00005 * Definitions for cross platform/API audio class library
00006 *
00007 * Copyright (C) AudioScience 2003
00008 *****************************************************************************************/
00009 
00010 #ifndef _ASX_H_
00011 #define _ASX_H_
00012 
00013 #if ASX_USE_WX_THREADS
00014 #error Your Makefile is defining the obsolete ASX_USE_WX_THREADS symbol, please use ASX_USE_PTHREADS.
00015 #endif
00016 
00017 #if ASX_USE_PTHREADS
00018 #include <time.h>
00019 #define TRUE 1
00020 #define FALSE 0
00021 #define TEXT
00022 #endif
00023 
00024 #ifndef ARRAY_SIZE
00025 #define  ARRAY_SIZE(X) (sizeof(X)/sizeof(X[0]))
00026 #endif
00027 
00172 #ifdef __cplusplus
00173 extern "C" {
00174 #endif
00175 
00176 // The following ifdef block is the standard way of creating macros which make exporting
00177 // from a DLL simpler. All files within this DLL are compiled with the ASX32_EXPORTS
00178 // symbol defined on the command line. this symbol should not be defined on any project
00179 // that uses this DLL. This way any other project whose source files include this file see
00180 // ASX32_API functions as being imported from a DLL, wheras this DLL sees symbols
00181 // defined with this macro as being exported.
00182 #ifdef ASX32_EXPORTS
00183 #define ASX32_API __declspec(dllexport)
00184 #endif
00185 #ifdef ASX32_IMPORTS
00186 #define ASX32_API __declspec(dllimport)
00187 #endif
00188 #ifndef ASX32_API
00189 #define ASX32_API
00190 #endif
00191 
00192 /**************************
00193  * Defines
00194  **************************/
00199 #define ASX_SYSTEM_TYPE_HPI 0       ///< Use this to select ASI's HPI interface when calling ASX_System_Create().
00200 #define ASX_SYSTEM_TYPE_WAVE 1      ///< Use this to select Microsoft's WAVE interface when calling ASX_System_Create().
00201 #define ASX_SYSTEM_TYPE_ALSA 2      ///< Use this to select the Linux ALSA interface when calling ASX_System_Create().
00202 #define ASX_SYSTEM_TYPE_DIRECTX 3   ///< Use this to select Microsoft's DirectX interface when calling ASX_System_Create().
00203 #define ASX_SYSTEM_TYPE_PORTAUDIO 4 ///< Use this to select the PortAudio interface when calling ASX_System_Create().
00204 #define ASX_SYSTEM_TYPE_PCXTOOLS 5  ///< Use this to select Digigram's PCX interface when calling ASX_System_Create().
00205 #define ASX_SYSTEM_TYPE_SNMP 6      ///< Use this to select Cobranet SNMP interface when calling ASX_System_Create().
00206 #define ASX_SYSTEM_TYPE_HPIUDP 7    ///< Use this to select ASI's HPI interface over UDP when calling ASX_System_Create().  Also supports HPI.
00207 #define ASX_SYSTEM_TYPE_DUMMY  8    ///< Dummy backend
00208 #define ASX_SYSTEM_TYPE_ANY 9       ///< Wild card - any subsystem (reserved).
00209 #define ASX_SYSTEM_TYPE_ASIO 10     ///< Use this to select Stienberg's ASIO interface when calling ASX_System_Create().
00210 #define ASX_SYSTEM_TYPE_AVB_1722_1 11   ///< Use this to select the IEEE 1722.1 system for controlling AVB devices when calling ASX_System_Create().
00211 #define ASX_SYSTEM_TYPE_COUNT 12    ///< Indicates the number of subsystems defined.
00212  // end of SubSystemTypes group
00213 
00214 #define ASX_SHORT_STRING 32     ///< Short string size for adapter, node, control, enum translations.
00215 #define ASX_LONG_STRING 128         ///< Long string size for error strings, filenames and PADs strings.
00216 #define ASX_LONGLONG_STRING 256     ///< LongLong string size for PADs comment string.
00217 
00218 #ifdef HPI_OS_WIN32_USER
00219 #include <crtdbg.h>
00220 #endif
00221 
00222 #ifndef _RPT0
00223 #define _RPT0(l,s) printf(s)        ///< A debug helper function, 0 arguments.
00224 #define _RPT1(l,s,d1) printf(s,d1)  ///< A debug helper function, 1 argument.
00225 #endif
00226     
00227 #define ASX_GAIN_FULLSCALE 0  ///< Gain in dB for Volume_SetGain() (On)
00228 #define ASX_GAIN_MUTE -100    ///< Gain in dB for Volume_SetGain() (Off)
00229 
00230 /**************************
00231  * Enums
00232  **************************/
00233 
00235 enum asxERROR {
00236     asxERROR_NO_ERROR=0,            
00237     // leave a gap here so that any 8-bit bit enums will never map to error codes.
00238     asxERROR_ASXOBJECT=256,         
00239     asxERROR_INDEX_OUT_OF_RANGE=257,    
00240     asxERROR_UNIMPLEMENTED=258,     
00241     asxERROR_COMMUNICATING_WITH_DEVICE=259, 
00242     asxERROR_STARTING_DEVICE=260,       
00243     asxERROR_NOT_OPEN=261,          
00244     asxERROR_ALREADY_OPEN=262,      
00245     asxERROR_INVALID_FORMAT=263,        
00246     asxERROR_INTERNAL_BUFFERING_ERROR=264,  
00247     asxERROR_AES18=265,         
00248     asxERROR_INVALID_OPERATION=266,     
00249     asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267,
00250     asxERROR_BUFFER_TOO_SMALL=268,      
00251     asxERROR_OUTOFMEMORY=269,       
00252     asxERROR_DEPRECATED=270,        
00253     asxERROR_TOO_MANY_CLIENTS=271,      
00254 
00255     asxERROR_COBRANET_NODE_NOT_FOUND=272,   
00256     asxERROR_COBRANET_NODE_FOUND=273,   
00257     asxERROR_NO_IP_ADDRESSES_AVAILABLE=274, 
00258     asxERROR_IP_ASSIGNED=275,       
00259     asxERROR_IP_CHANGED=276,        
00260     asxERROR_IP_AUTOASSIGN_DISABLED=277,    
00261     asxERROR_PCAP_ERROR=278,        
00262     asxERROR_DISCO_DLL_NOT_FOUND=279,   
00263     asxERROR_HOST_NOT_FOUND=280,        
00264     asxERROR_COBRANET_NODE_UNREACHABLE=281, 
00265     asxERROR_DUPLICATE_ADAPTER_INDEX=282,   
00266     asxERROR_AVDECC_DLL_NOT_FOUND = 283,    
00267 
00268     asxERROR_INVALID_CONTROL=304,           
00269     asxERROR_INVALID_CONTROL_VALUE=305,     
00270     asxERROR_INVALID_CONTROL_NOT_FOUND=306,     
00271     asxERROR_INVALID_NUMBER_OF_CHANNELS=307,    
00272     asxERROR_INVALID_CONTROL_ATTRIBUTE=308,     
00273     asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309,     
00274     asxERROR_INVALID_CONTROL_OPERATION=310,     
00275     asxERROR_CONTROL_NOT_READY=311,         
00276 
00277     asxERROR_FILE_OPEN_FAILED=336,          
00278 
00279     asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 
00280     asxERROR_PLAYER_TIME_OUT=385,           
00281     asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386,   
00282     asxERROR_PLAYER_TWAV=387,           
00283     asxERROR_PLAYER_NOFILE=388,         
00284     asxERROR_PLAYER_INVALIDFILEFORMAT=389,      
00285     asxERROR_PLAYER_UNSUPPORTEDFORMAT=390,      
00286     asxERROR_PLAYER_FILEREADERROR=391,      
00287     asxERROR_PLAYER_FILEOPENERROR=392,      
00288 
00289     asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448,   
00290     asxERROR_RECORDER_TIME_OUT=449,         
00291     asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 
00292     asxERROR_RECORDER_TWAV=451,         
00293     asxERROR_RECORDER_FILECREATEERROR=452,      
00294     asxERROR_RECORDER_FILEWRITEERROR=453,       
00295     asxERROR_RECORDER_FORMATMISMATCH=454,       
00296     asxERROR_RECORDER_INVALIDFILENAME=455,      
00297 
00298     asxERROR_MIXER_SAVECONTROLSTATE=460,        
00299 
00300     asxERROR_UNKNOWN=4095               
00301 };
00302 
00304 enum asxNODE {
00305     asxNODE_NONE=0,         
00306     asxNODE_INVALID=400,        
00307 
00308     asxNODE_ADAPTER=401,        
00309     asxNODE_PLAYER=402,     
00310     asxNODE_LINE_IN=403,        
00311     asxNODE_AESEBU_IN=404,      
00312     asxNODE_TUNER_IN=405,       
00313     asxNODE_RADIO_FREQ_IN=406,  
00314     asxNODE_CLOCK_SOURCE_IN=407,    
00315     asxNODE_BITSTREAM_IN=408,   
00316     asxNODE_MICROPHONE_IN=409,  
00317     asxNODE_COBRANET_IN=410,    
00318     asxNODE_COBRANET_RECEIVER=411,  
00319     asxNODE_ANALOG_IN=412,      
00320     asxNODE_SDI_IN=413,     
00321     asxNODE_RTP_DESTINATION_IN=414, 
00322     asxNODE_INTERNAL_IN=416,    
00323     asxNODE_AVB_IN_STREAM=417,  
00324     asxNODE_BLULINK_IN=418,         
00325     asxNODE_AVB_IN_AUDIO = 419, 
00326 
00327     asxNODE_LAST_SOURCE_NODE=420,   
00328 
00329     asxNODE_FIRST_DEST_NODE=450,    
00330     asxNODE_RECORDER=450,       
00331     asxNODE_LINE_OUT=451,       
00332     asxNODE_AESEBU_OUT=452,     
00333     asxNODE_RADIO_FREQ_OUT=453, 
00334     asxNODE_SPEAKER_OUT=454,    
00335     asxNODE_COBRANET_OUT=455,   
00336     asxNODE_COBRANET_TRANSMITTER=456,
00337     asxNODE_ANALOG_OUT=457,     
00338     asxNODE_SDI_OUT=458,        
00339     asxNODE_RTP_SOURCE_OUT=459, 
00340     asxNODE_AVB_OUT_STREAM=460, 
00341     asxNODE_INTERNAL_OUT=461,   
00342     asxNODE_BLULINK_OUT=462,        
00343     asxNODE_AVB_OUT_AUDIO = 463,    
00344 
00345     asxNODE_LAST_DEST_NODE=464  
00346 };
00347 
00349 enum asxCONTROL {
00350     asxCONTROL_INVALID=500,         
00351 
00352     asxCONTROL_CONNECTION=501,      
00353     asxCONTROL_VOLUME=502,          
00354     asxCONTROL_METER=503,           
00355     asxCONTROL_MUTE=504,            
00356     asxCONTROL_MULTIPLEXER=505,     
00357     asxCONTROL_AESEBU_TRANSMITTER=506,  
00358     asxCONTROL_AESEBU_RECEIVER=507,     
00359     asxCONTROL_LEVEL=508,           
00360     asxCONTROL_TUNER=509,           
00361     asxCONTROL_RDS=510,         
00362     asxCONTROL_VOX=511,         
00363     asxCONTROL_AES18_TRANSMITTER=512,   
00364     asxCONTROL_AES18_RECEIVER=513,      
00365     asxCONTROL_AES18_BLOCK_GENERATOR=514,   
00366     asxCONTROL_CHANNEL_MODE=515,        
00367     asxCONTROL_BIT_STREAM=516,      
00368     asxCONTROL_SAMPLE_CLOCK=517,        
00369     asxCONTROL_MICROPHONE=518,      
00370     asxCONTROL_PARAMETRIC_EQ=519,       
00371     asxCONTROL_COMPANDER=520,       
00372     asxCONTROL_COBRANET=521,        
00373     asxCONTROL_PLAYER=522,          
00374     asxCONTROL_RECORDER=523,        
00375     asxCONTROL_GPIO=524,            
00376     asxCONTROL_RESERVED_525=525,        
00377     asxCONTROL_RESERVED_526=526,        
00378     asxCONTROL_RESERVED_527=527,        
00379     asxCONTROL_RESERVED_528=528,        
00380     asxCONTROL_GENERIC=529,         
00381     asxCONTROL_TONEDETECTOR=530,        
00382     asxCONTROL_SILENCEDETECTOR=531,     
00383     asxCONTROL_COBRANET_TRANSMITTER=532,    
00384     asxCONTROL_COBRANET_RECEIVER=533,   
00385     asxCONTROL_PAD=534,         
00386     asxCONTROL_SRC=535,         
00387     asxCONTROL_BLOCK=536,           
00388 
00389     asxCONTROL_LAST_CONTROL=537
00390 };
00391 
00392 /****************************************
00393  * Various control enums
00394 *****************************************/
00395 
00397 enum asxVOLUME_AUTOFADE {
00398     asxVOLUME_AUTOFADE_LOG,     
00399     asxVOLUME_AUTOFADE_LINEAR   
00400 };
00401 
00403 enum asxMETER_TYPE {
00404     asxMETER_PEAK,  
00405     asxMETER_RMS    
00406 };
00407 
00409 enum asxCHANNELMODE {
00410     asxCHANNELMODE_ILLEGAL=1000,        
00411     asxCHANNELMODE_NORMAL=1001,     
00412     asxCHANNELMODE_SWAP=1002,       
00413     asxCHANNELMODE_STEREOTOLEFT=1003,   
00414     asxCHANNELMODE_STEREOTORIGHT=1004,  
00415     asxCHANNELMODE_LEFTTOSTEREO=1005,   
00416     asxCHANNELMODE_RIGHTTOSTEREO=1006   
00417 };
00419 enum asxADAPTERMODE {
00420     asxADAPTERMODE_ILLEGAL=1100,        
00421     asxADAPTERMODE_4_PLAY=1101,     
00422     asxADAPTERMODE_6_PLAY=1102,     
00423     asxADAPTERMODE_8_PLAY=1103,     
00424     asxADAPTERMODE_9_PLAY=1104,     
00425     asxADAPTERMODE_12_PLAY=1105,        
00426     asxADAPTERMODE_16_PLAY=1106,        
00427     asxADAPTERMODE_1_PLAY=1107,     
00428     asxADAPTERMODE_MODE_1=1108,     
00429     asxADAPTERMODE_MODE_2=1109,     
00430     asxADAPTERMODE_MODE_3=1110,     
00431     asxADAPTERMODE_MULTICHANNEL=1111,   
00432     asxADAPTERMODE_MONO=1112,       
00433     asxADAPTERMODE_LOW_LATENCY=1113, 
00434     asxADAPTERMODE_24_PLAY=1114,        
00435     asxADAPTERMODE_32_PLAY = 1115       
00436 };
00438 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!!
00439 enum asxTUNERBAND {
00440     asxTUNERBAND_AM=1200,       
00441     asxTUNERBAND_FM=1201,       
00442     asxTUNERBAND_TV=1202,       
00443     asxTUNERBAND_FM_STEREO=1203,    
00444     asxTUNERBAND_AUX=1204,      
00445     asxTUNERBAND_TV_PAL_BG=1205,    
00446     asxTUNERBAND_TV_PAL_I=1206, 
00447     asxTUNERBAND_TV_PAL_DK=1207,    
00448     asxTUNERBAND_TV_SECAM_L=1208,   
00449     asxTUNERBAND_DAB=1209
00450 };
00452 enum asxTUNERDEEMPHASIS {
00453     asxTUNERDEEMPHASIS_50=1240, 
00454     asxTUNERDEEMPHASIS_75=1241, 
00455     asxTUNERDEEMPHASIS_NONE=1242,   
00456 };
00458 enum asxTUNERMODE {
00459     asxTUNERMODE_RSS=1250,      
00460     asxTUNERMODE_RSS_ENABLE=1251,   
00461     asxTUNERMODE_RSS_DISABLE=1252   
00462 };
00464 enum asxTUNERPROGRAM {
00465     asxTUNERPROGRAM_NONE=1260,  
00466     asxTUNERPROGRAM_1=1261,     
00467     asxTUNERPROGRAM_2=1262,     
00468     asxTUNERPROGRAM_3=1263,     
00469     asxTUNERPROGRAM_4=1264,     
00470     asxTUNERPROGRAM_5=1265,     
00471     asxTUNERPROGRAM_6=1266,     
00472     asxTUNERPROGRAM_7=1267,     
00473     asxTUNERPROGRAM_8=1268,     
00474 };
00476 enum asxTUNERHDBLEND {
00477     asxTUNERHDBLEND_AUTO=1280,  
00478     asxTUNERHDBLEND_ANALOG=1281,    
00479 };
00480 
00481 
00483 enum asxSAMPLE_CLOCK_SOURCE {
00484     asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400,    
00485     asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 
00486     asxSAMPLE_CLOCK_SOURCE_WORD=1402,   
00487     asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403,
00488     asxSAMPLE_CLOCK_SOURCE_SMPTE=1404,  
00489     asxSAMPLE_CLOCK_SOURCE_NETWORK=1405,    
00490     asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 
00491     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407,
00492     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408,
00493     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409,
00494     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410,
00495     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411,
00496     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412,
00497     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413,
00498     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414,
00499     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415,
00500     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416,
00501     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417,
00502     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418,
00503     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419,
00504     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420,
00505     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421,
00506     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422,
00507     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423,
00508     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424,
00509     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425,
00510     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426,
00511     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427,
00512     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428,
00513     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429,
00514     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430,
00515     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431,
00516     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432,
00517     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433,
00518     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434,
00519     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435,
00520     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436,
00521     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437,
00522     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438,
00523     asxSAMPLE_CLOCK_SOURCE_LOCAL=1439,        
00524     asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440,  
00525     asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441,  
00526     asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442,   
00527     asxSAMPLE_CLOCK_SOURCE_BLULINK=1443 
00528 };
00529 
00531 enum asxAESEBU_FORMAT {
00532     asxAESEBU_FORMAT_AESEBU=1450,       
00533     asxAESEBU_FORMAT_SPDIF=1451,        
00534     asxAESEBU_FORMAT_UNDEFINED=1452     
00535 };
00537 enum asxEQBANDTYPE {
00538     asxEQBANDTYPE_BYPASS=1460,      
00539     asxEQBANDTYPE_LOWSHELF=1461,        
00540     asxEQBANDTYPE_HIGHSHELF=1462,       
00541     asxEQBANDTYPE_EQUALIZER=1463,       
00542     asxEQBANDTYPE_LOWPASS=1464,         
00543     asxEQBANDTYPE_HIGHPASS=1465,        
00544     asxEQBANDTYPE_BANDPASS=1466,        
00545     asxEQBANDTYPE_BANDSTOP=1467,        
00546 };
00548 enum asxCOBRANET_MODE {
00549     asxCOBRANET_MODE_NETWORK=1470,      
00550     asxCOBRANET_MODE_TETHERED=1471      
00551 };
00553 enum asxADPROPENUM_MODE {
00554     asxADPROPENUM_MODE_PROPERTIES=1480, 
00555     asxADPROPENUM_MODE_SETTINGS=1481    
00556 };
00558 enum asxADPROPENUM_SSX2 {
00559     asxADPROPENUM_SSX2_OFF=1488,        
00560     asxADPROPENUM_SSX2_ON=1489      
00561 };
00563 enum asxCOBRANET_LATENCY {
00564     asxCOBRANET_LATENCY_133ms=1490,     
00565     asxCOBRANET_LATENCY_266ms=1491,     
00566     asxCOBRANET_LATENCY_533ms=1492      
00567 };
00568 /****************************************
00569  * Various player and recorder enums
00570 *****************************************/
00571 
00573 enum asxFILE_FORMAT {
00574     asxFILE_FORMAT_WAV=10000,   
00575     asxFILE_FORMAT_RAW=10001    
00576 };
00578 enum asxFILE_MODE {
00579     asxFILE_MODE_CREATE=10100,  
00580     asxFILE_MODE_APPEND=10101   
00581 };
00583 enum asxAUDIO_FORMAT {
00584     asxAUDIO_FORMAT_PCM8=10200,     
00585     asxAUDIO_FORMAT_PCM16=10201,        
00586     asxAUDIO_FORMAT_PCM24=10202,        
00587     asxAUDIO_FORMAT_PCM32=10203,        
00588     asxAUDIO_FORMAT_PCM32_FLOAT=10204,  
00589     asxAUDIO_FORMAT_MPEG_L2=10205,      
00590     asxAUDIO_FORMAT_MPEG_L3=10206,      
00591     asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 
00592     asxAUDIO_FORMAT_DOLBY_AC2=10208,    
00593     asxAUDIO_FORMAT_PCM20=10209,        
00594     asxAUDIO_FORMAT_NONE=10210      
00595 };
00596 
00597 
00599 enum asxRECORD_MODE {
00600     asxRECORD_MODE_STEREO=10300,        
00601     asxRECORD_MODE_JOINT_STEREO=10301,  
00602     asxRECORD_MODE_DUAL_MONO=10302,     
00603     asxRECORD_MODE_MONO=10303,      
00604     asxRECORD_MODE_DONT_CARE=10304      
00605 };
00607 enum asxPLAYER_STATE{
00608     asxPLAYER_INIT=10400,           
00609     asxPLAYER_OPEN=10401,           
00610     asxPLAYER_PREFILL=10402,        
00611     asxPLAYER_RUNNING=10403,        
00612     asxPLAYER_PAUSED=10404,         
00613     asxPLAYER_DONE=10405,           
00614     asxPLAYER_DESTROY=10406         
00615 };
00617 enum asxRECORDER_STATE{
00618     asxRECORDER_INIT=10500,         
00619     asxRECORDER_OPEN=10501,         
00620     asxRECORDER_RUNNING=10502,      
00621     asxRECORDER_PAUSED=10503,       
00622     asxRECORDER_DONE=10504,         
00623     asxRECORDER_DESTROY=10505       
00624 };
00625 
00627 enum asxTIMESCALE {
00628     asxTIMESCALE_INVALID=10600,         
00629     asxTIMESCALE_BYTES=10601,           
00630     asxTIMESCALE_MILLISECONDS=10602,        
00631     asxTIMESCALE_SAMPLES=10603,         
00632     asxTIMESCALE_BYTES_REMAINING=10604,     
00633     asxTIMESCALE_MILLISECONDS_REMAINING=10605,  
00634     asxTIMESCALE_SAMPLES_REMAINING=10606        
00635 };
00636 
00638 enum asxSAMPLE_RATE {
00639     asxSAMPLE_RATE_8000=10700,
00640     asxSAMPLE_RATE_11025=10701,
00641     asxSAMPLE_RATE_16000=10702,
00642     asxSAMPLE_RATE_22050=10703,
00643     asxSAMPLE_RATE_24000=10704,
00644     asxSAMPLE_RATE_32000=10705,
00645     asxSAMPLE_RATE_44100=10706,
00646     asxSAMPLE_RATE_48000=10707,
00647     asxSAMPLE_RATE_64000=10708,
00648     asxSAMPLE_RATE_88200=10709,
00649     asxSAMPLE_RATE_96000=10710,
00650     asxSAMPLE_RATE_192000=10711,
00651     asxSAMPLE_RATE_12000=10712,
00652     asxSAMPLE_RATE_176400=10713,
00653     asxSAMPLE_RATE_UNDEFINED=10799
00654 };
00655 
00657 enum asxMSG_LOGGING {
00658     asxMSG_LOGGING_DISABLE=10800,   
00659     asxMSG_LOGGING_ERROR=10801, 
00660     asxMSG_LOGGING_WARNING=10802,   
00661     asxMSG_LOGGING_NOTICE=10803,    
00662     asxMSG_LOGGING_INFO=10804,  
00663     asxMSG_LOGGING_DEBUG=10805, 
00664     asxMSG_LOGGING_VERBOSE=10806    
00665 };
00666 
00667 /******************************************************************************************************
00668  * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString();
00669  ******************************************************************************************************/
00671 enum asxPLAYER_FLAGS {
00672     asxPLAYER_FILE_COMPLETE=1,      
00673     asxPLAYER_FILELIST_COMPLETE=2,      
00674     asxPLAYER_FILE_START=4,         
00675 };
00676 
00678 enum asxTUNER_STATUS {
00679     asxTUNER_STATUS_VIDEO_VALID=1,              
00680     asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2,          
00681     asxTUNER_STATUS_VIDEO_IS_60HZ=4,            
00682     asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8,      
00683     asxTUNER_STATUS_PLL_LOCKED=16,              
00684     asxTUNER_STATUS_FM_STEREO=32,               
00685     asxTUNER_STATUS_DIGITAL=64,             
00686     asxTUNER_STATUS_MULTIPROGRAM=128,           
00687     asxTUNER_STATUS_FIRMWARE_LOADING=256            
00688 };
00689 
00691 enum asxTUNER_RDS_TYPE {
00692     asxTUNER_RDS_TYPE_RDS=0,        
00693     asxTUNER_RDS_TYPE_RBDS=1,       
00694 };
00695 
00697 enum asxAESEBU_STATUS {
00698     asxAESEBU_ERROR=0x01,               
00699     asxAESEBU_ERROR_NOT_LOCKED=0x02,        
00700     asxAESEBU_ERROR_POOR_QUALITY=0x04,      
00701     asxAESEBU_ERROR_PARITY_ERROR=0x08,      
00702     asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10,     
00703     asxAESEBU_ERROR_VALIDITY=0x20,          
00704     asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40      
00705 };
00706 
00708 enum asxCOMPANDER_INDEX {
00709     asxCOMPANDER_INDEX_NOISEGATE=0, 
00710     asxCOMPANDER_INDEX_COMPANDER=1  
00711 };
00712 
00714 enum asxHANDLE_TYPE {
00715     asxHANDLE_INVALID,  
00716     asxHANDLE_SYSTEM,   
00717     asxHANDLE_ADAPTER,  
00718     asxHANDLE_MIXER,    
00719     asxHANDLE_NODE,     
00720     asxHANDLE_CONTROL,  
00721     asxHANDLE_LAST      
00722     };
00723 
00725 enum asxUCONTROL_PTYPE {
00726     asxPARAM_TYPE_NONE       = 0,
00727     asxPARAM_TYPE_INTEGER    = 3,
00728     asxPARAM_TYPE_FLOAT      = 4,
00729     asxPARAM_TYPE_DOUBLE     = 5,
00730     asxPARAM_TYPE_STRING     = 6,
00731     //asxPARAM_TYPE_ENUMERATED = 7
00732     asxPARAM_TYPE_IP4_ADDRESS= 8,
00733     asxPARAM_TYPE_IP6_ADDRESS= 9,
00734     asxPARAM_TYPE_MAC_ADDRESS= 10,
00735     asxPARAM_TYPE_BOOLEAN= 11
00736 };
00737 
00739 enum asxUCONTROL_RTYPE {
00740     asxPARAM_RANGE_NONE         = 0,
00741     asxPARAM_RANGE_STEPPED_INTEGER      = 1,
00742     asxPARAM_RANGE_STEPPED_FLOAT        = 2,
00743     asxPARAM_RANGE_ENUMERATED_INTEGER   = 3,
00744     asxPARAM_RANGE_ENUMERATED_FLOAT     = 4,
00745     asxPARAM_RANGE_ENUMERATED       = 5,
00746     asxPARAM_RANGE_STRING_LENGTH        = 6,
00747     asxPARAM_RANGE_NUMBER_OF_BITS       = 7
00748 };
00749 
00751 enum asxUCONTROL_PFLAGS {
00752     asxPARAM_FLAG_WRITEABLE   = 1, 
00753     asxPARAM_FLAG_READABLE    = 2, 
00754     asxPARAM_FLAG_VOLATILE    = 4, 
00755     asxPARAM_FLAG_VOLATILE_INFO = 8, 
00756     asxPARAM_FLAG_REQUIRES_RESTART = 16 
00757 };
00758 
00760 enum asxCOBRANET_IFSTATUS {
00761     asxCOBRANET_IFSTATUS_LINK_ESTABLISHED=0x01, 
00762     asxCOBRANET_IFSTATUS_FULL_DUPLEX=0x02,      
00763     asxCOBRANET_IFSTATUS_ACTIVE_CONNECTION=0x04 
00764 };
00765 
00767 enum asxAVDECC_NOTIFY {
00768     asxAVDECC_NOTIFY_NO_MATCH_FOUND = 0,                
00769     asxAVDECC_NOTIFY_END_STATION_CONNECTED = 1,         
00770     asxAVDECC_NOTIFY_END_STATION_DISCONNECTED = 2,      
00771     asxAVDECC_NOTIFY_COMMAND_TIMEOUT = 3,               
00772     asxAVDECC_NOTIFY_RESPONSE_RECEIVED = 4,             
00773     asxAVDECC_NOTIFY_END_STATION_READ_COMPLETED = 5,    
00774     asxAVDECC_NOTIFY_UNSOLICITED_RESPONSE_RECEIVED = 6, 
00775     asxAVDECC_NOTIFY_UNKNOWN = 7,                       
00776     asxAVDECC_NOTIFY_TOTAL_NUM_OF_NOTIFICATIONS = 8
00777 };
00778 
00780 enum asxADAPTER_PROPERTY {
00781         asxADAPTER_PROPERTY_ERRATA_1=1, 
00782         asxADAPTER_PROPERTY_SSX2_SETTING=2, 
00783         asxADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS=3, 
00784         asxADAPTER_PROPERTY_SUPPORT_SSX2=4, 
00785         asxADAPTER_PROPERTY_SUPPORTS_FW_UPDATE=5, 
00786         asxADAPTER_PROPERTY_FIRMWARE_ID=6, 
00787     asxADAPTER_PROPERTY_SUPPORTS_SNMP = 7 
00788 };
00789 
00790 /**************************
00791  * Typedefs
00792  **************************/
00793 
00794 typedef void *ASX_HANDLE;       
00795 typedef enum asxERROR ASX_ERROR;    
00796 typedef enum asxNODE ASX_NODE;      
00797 typedef int ASX_BOOL;
00798 typedef int ASX_TIME;           
00799 
00800 typedef void ASX_ERROR_CALLBACK(
00801         ASX_HANDLE hASX_Object,
00802         const char *pszCallingFunction,
00803         void *pUser1,
00804         void *pUser2);
00806 typedef void ASX_AVDECC_NOTFICATION_CALLBACK(
00807         ASX_HANDLE hASX_Object,
00808         enum asxAVDECC_NOTIFY notify,
00809         const char *pszMsg,
00810         void *pUser1,
00811         void *pUser2);
00813 typedef void ASX_PLAYER_CALLBACK(
00814         ASX_HANDLE hASX_Player_Object,
00815         const enum asxPLAYER_FLAGS flags,
00816         void *pUser1);
00817 
00818 struct asxParameterRangeInfo_NamedEnumerated {
00819         int value;
00820         char name[ASX_SHORT_STRING];
00821 };
00822 
00823 struct asxParameterRangeInfo {
00824     enum asxUCONTROL_RTYPE type;
00825     union {
00826         struct {
00827             int min;
00828             int max;
00829             int step;
00830         } integer;
00831         struct {
00832             unsigned int count;
00833             int *value;
00834         } enumerated_integer;
00835         struct {
00836             unsigned int count;
00837             float *value;
00838         } enumerated_float;
00839         struct {
00840             unsigned int count;
00841             struct asxParameterRangeInfo_NamedEnumerated *enums;
00842         } enumerated;
00843         struct {
00844             float fmin;
00845             float fmax;
00846             float fstep;
00847         } floating;
00848         struct {
00849             unsigned int max_len;
00850         } string;
00851     } u;
00852 };
00853 
00854 struct asxParameterValue {
00855     enum asxUCONTROL_PTYPE eType;
00856     unsigned int uItems;
00857     size_t size;
00858     void *value;
00859 };
00860 
00861 struct asxIpAutoassignParameters {
00862     char addr_start[20];
00863     char addr_end[20];
00864     int autoassign;
00865 };
00866 
00867 #ifndef ASX_H_DEFS_ONLY
00868 /**************************************************************************************
00869  * Functions
00870  **************************************************************************************/
00871 
00872 /*******************************************************************/
00884 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType);
00885 
00895 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem );
00896 
00905 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem );
00906 
00913 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface );
00914 
00921 ASX32_API ASX_ERROR ASX_System_SetAvdeccInterface(const char *szInterface);
00922 
00932 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem );
00933 
00947 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback(   ASX_HANDLE hSystem,
00948                             ASX_ERROR_CALLBACK *pCallback,
00949                             void *pUser1,
00950                             void *pUser2);
00951 
00960 ASX32_API ASX_ERROR ASX_System_RegisterAvdeccNotificationCallback(ASX_HANDLE hSystem,
00961     ASX_AVDECC_NOTFICATION_CALLBACK *pCallback,
00962     void *pUser1,
00963     void *pUser2);
00964 
00983 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem,
00984                     char *pszName,
00985                     const int nStringLength,
00986                     int *pnRequiredLength );
01000 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem,
01001                       char *pszSystemVersion,
01002                       const int nSystemVersionLength,
01003                       int *pnRequiredSystemVersionLength,
01004                       char *pszSubSystemVersion,
01005                       const int nSubSystemVersionLength,
01006                       int *pnRequiredSubSystemVersionLength);
01013 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount );
01021 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter );
01028 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog);
01035 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog);
01043 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms(const struct asxIpAutoassignParameters *pCAP);
01049 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms(struct asxIpAutoassignParameters *pCAP);
01055 ASX32_API ASX_ERROR ASX_System_SetDhcpParms(const struct asxIpAutoassignParameters *pCAP);
01061 ASX32_API ASX_ERROR ASX_System_GetDhcpParms(struct asxIpAutoassignParameters *pCAP);
01062  // end of System group
01064 
01065 
01066 /*******************************************************************
01067  * Handle functions
01068  */
01078 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle);
01079     
01086 ASX32_API int ASX_Handle_GetAdapterIndex(ASX_HANDLE hHandle); // end of Handle group
01088 
01089 /*******************************************************************
01090  * Error functions
01091  */
01105 ASX32_API ASX_ERROR ASX_Error_GetLast(
01106                             ASX_HANDLE hASXObject,
01107                             ASX_ERROR *pnAsxErrorCode,
01108                             int *pnAsxSubSystemErrorCode);
01109 
01125 ASX32_API ASX_ERROR ASX_Error_GetLastString(
01126                             ASX_HANDLE hASXObject,
01127                             char *pszAsxErrorString,
01128                             const int nAsxErrorStringLength,
01129                             int *pnRequiredAsxErrorStringLength,
01130                             char *pszAsxSubSystemErrorString,
01131                             const int nAsxSubSystemErrorStringLength,
01132                             int *pnRequiredAsxSubSystemErrorStringLength);
01133 
01134 
01140 ASX32_API ASX_ERROR ASX_Error_Clear(
01141                             ASX_HANDLE hASXObject);
01142 
01149 ASX32_API ASX_BOOL ASX_Error_SupressCallback(
01150     ASX_HANDLE hASXObject,
01151     ASX_BOOL bSupressCallback);
01152  // end of Error group
01154 
01159 /*******************************************************************
01160  * Adapter functions
01161  */
01177 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems(
01178         ASX_HANDLE hAdapter,
01179         unsigned int *pnSubSystemMask,
01180         unsigned int *pnSubSystemOkMask);
01181 
01182 
01211 ASX32_API ASX_ERROR ASX_Adapter_GetName(
01212                             ASX_HANDLE hAdapter,
01213                             char *pszName,
01214                             const int nStringLength,
01215                             int *RequiredLength );
01216 
01233 ASX32_API ASX_ERROR ASX_Adapter_GetIndex(
01234                             ASX_HANDLE hAdapter,
01235                             int *pnIndex );
01236 
01244 ASX32_API ASX_ERROR ASX_Adapter_GetAVDECCController(ASX_HANDLE hAdapter, void ** controller_obj);
01245 
01252 ASX32_API ASX_ERROR ASX_Adapter_GetAVDECCSystem(ASX_HANDLE hAdapter, void ** sys);
01253 
01262 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber(
01263                             ASX_HANDLE hAdapter,
01264                             unsigned long *pdwSerialNumber );
01265 
01277  ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision(
01278                             ASX_HANDLE hAdapter,
01279                             char *pszRevision);
01280 
01290  ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision(
01291                             ASX_HANDLE hAdapter,
01292                             char *pszRevision);
01293 
01303  ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress(
01304                             ASX_HANDLE hAdapter,
01305                             char *pszMAC);
01306 
01316  ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress(
01317                             ASX_HANDLE hAdapter,
01318                             char *pszIP);
01319 
01330 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization(
01331                             ASX_HANDLE hAdapter,
01332                             const int nDspIndex,
01333                             int *pnDspUtilization);
01334 
01342 ASX32_API ASX_ERROR ASX_Adapter_GetMixer(
01343                             ASX_HANDLE hAdapter,
01344                             ASX_HANDLE *p_hMixer );
01345 
01346 
01355 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount);
01362 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode);
01369 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode);
01379 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting);
01395 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2);
01404 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2);
01412 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue);
01420 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue);
01427 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount);
01428 
01438 ASX32_API ASX_ERROR ASX_Adapter_GetTemperature(
01439     ASX_HANDLE hAdapter,
01440     int *pnTemperature);
01441 
01442  // end of Adapter group
01444 
01449 /*******************************************************************
01450  * Mixer functions
01451  */
01470 ASX32_API ASX_ERROR ASX_Mixer_ResetControls(
01471                     ASX_HANDLE hMixer);
01472 
01479 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount(
01480                     ASX_HANDLE hMixer,
01481                     int *pnCount);
01482 
01491 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode(
01492                     ASX_HANDLE hMixer,
01493                     const int nSourceNode,
01494                     ASX_HANDLE *p_hNode );
01495 
01496 
01503 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount(
01504                     ASX_HANDLE hMixer,
01505                     int *pnCount);
01506 
01515 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode(
01516                     ASX_HANDLE hMixer,
01517                     const int nDestinationNode,
01518                     ASX_HANDLE *p_hNode );
01519 
01530 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType(
01531                     ASX_HANDLE hMixer,
01532                     const enum asxNODE eType,
01533                     const int nIndex,
01534                     ASX_HANDLE *p_hNode);
01535 
01545 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount(
01546                     ASX_HANDLE hMixer,
01547                     const enum asxNODE eType,
01548                     int *pnCount);
01549 
01550 
01551 
01558 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount(
01559                     ASX_HANDLE hMixer,
01560                     int *pnControls);
01561 
01569 ASX32_API ASX_ERROR ASX_Mixer_GetControl(
01570                     ASX_HANDLE hMixer,
01571                     const int nControl,
01572                     ASX_HANDLE *p_hControlBase );
01573 
01585 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode(
01586                     const ASX_HANDLE hMixer,
01587                     const ASX_HANDLE hSourceNode,
01588                     const ASX_HANDLE hDestinationNode,
01589                     const enum asxCONTROL eControlType,
01590                     ASX_HANDLE *p_hControlBase );
01591 
01605 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex(
01606                     ASX_HANDLE hMixer,
01607                     const enum asxNODE nSourceNodeType,
01608                     const int nSourceIndex,
01609                     const enum asxNODE nDestinationNodeType,
01610                     const int nDestinationIndex,
01611                     const enum asxCONTROL eControlType,
01612                     ASX_HANDLE *p_hControlBase );
01613 
01628 ASX32_API ASX_ERROR ASX_Mixer_GetControlByLocationAndIndex(
01629                     ASX_HANDLE hMixer,
01630                     const enum asxNODE nSourceNodeType,
01631                     const int nSourceIndex,
01632                     const enum asxNODE nDestinationNodeType,
01633                     const int nDestinationIndex,
01634                     const enum asxCONTROL eControlType,
01635                     const int nControlIndex,
01636                     ASX_HANDLE *p_hControlBase );
01637 
01651 ASX32_API ASX_ERROR ASX_Mixer_GetBlockControlByNodeTypeAndIndex(
01652                 ASX_HANDLE hMixer,
01653                 const enum asxNODE nSourceNodeType,
01654                 const int nSourceIndex,
01655                 const enum asxNODE nDestinationNodeType,
01656                 const int nDestinationIndex,
01657                 const char *pszBlockName,
01658                 ASX_HANDLE *p_hControlBase );
01659  // end of Mixer group
01661 
01662 /*******************************************************************
01663  * Node functions
01664  */
01680 ASX32_API ASX_ERROR ASX_Node_GetType(
01681                     ASX_HANDLE hNode,
01682                     enum asxNODE *peType);
01683 
01692 ASX32_API ASX_ERROR ASX_Node_GetIndex(
01693                     ASX_HANDLE hNode,
01694                     int *pnIndex);
01695 
01707 ASX32_API ASX_ERROR ASX_Node_GetLocation(
01708                     ASX_HANDLE hNode,
01709                     int *pnModuleSlot,
01710                     int *pnNodeIndexOnSlot,
01711                     char *pszModuleName,
01712                     const int nStringLength);
01713 
01720 ASX32_API ASX_ERROR ASX_Node_GetSubSystem(
01721                     ASX_HANDLE hNode,
01722                     int *p_nSubSystem);
01723 
01731 ASX32_API ASX_ERROR ASX_Node_GetName(
01732             ASX_HANDLE hNode,
01733             char *pszNodeName,
01734             const int nStringLength
01735             );
01736 
01740 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType(
01741                     ASX_HANDLE hNode,
01742                     enum asxNODE *peType);
01743 
01747 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex(
01748                     ASX_HANDLE hNode,
01749                     int *pnIndex);
01750  // end of Node group
01752 
01757 /******************************************************************
01758  * Control functions
01759  */
01773 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl);
01780 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01787 ASX32_API ASX_ERROR ASX_Control_GetIndexOnNode( ASX_HANDLE hControl, int *p_index );
01794 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01810 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl );
01817 ASX32_API ASX_ERROR ASX_Control_GetSubSystem(
01818                     ASX_HANDLE hControl,
01819                     int *p_nSubSystem);
01820 
01821 
01822 /*
01823 enum asxCONTROL_PROPERTY {
01824     asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY,
01825     asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION,
01826     asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION
01827 };
01828 
01829 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 );
01830 */
01831  // end of Control group
01833 
01834 #if (DISABLE_PLAYREC_CONTROLS!=1)
01835 /*******************************************************************
01836  * Player Control
01837  */
01928 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile);
01935 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat);
01945 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer,
01946                             enum asxAUDIO_FORMAT *peFormat,
01947                             int *pnChannnels,
01948                             int *pnSampleRate,
01949                             int *pnBitRate);
01963 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01969 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer);
01976 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer);
01983 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer);
01990 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer);
01996 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer);
02008 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition);
02016 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
02023 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState);
02033 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale);
02042 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale);
02052 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength );
02060 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping );
02068 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping );
02079 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist(
02080     ASX_HANDLE hPlayer,
02081     const char **pszFileList,
02082     const unsigned int nFiles);
02103 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus(
02104     ASX_HANDLE hPlayer,
02105     unsigned int *nTotalFileCount,
02106     int *nCurrentFile,
02107     char **szCurrentFilename,
02108     unsigned int *nTotalTime_ms,
02109     unsigned int *nCurrentTime_ms
02110 );
02120 ASX32_API ASX_ERROR ASX_Player_RegisterCallback(
02121     ASX_HANDLE hPlayer,
02122     ASX_PLAYER_CALLBACK *pCallback,
02123     const enum asxPLAYER_FLAGS flags,
02124     void *pUser1);
02131 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer);
02132  // end of Player group
02134 
02181 /******************************************************************
02182  * Recorder Control
02183  */
02263 ASX32_API ASX_ERROR ASX_Recorder_Open(
02264     ASX_HANDLE hRecorder, const char *pszFile,
02265     const enum asxFILE_FORMAT nFileType,
02266     const enum asxFILE_MODE nFileMode,
02267     const int nChannels,
02268     const enum asxAUDIO_FORMAT nFormat,
02269     const long lSampleRate,
02270     const long lBitrate,
02271     const enum asxRECORD_MODE nMode
02272     );
02278 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder );
02284 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder);
02290 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder);
02296 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder);
02304 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition);
02311 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState);
02321 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength );
02330 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group
02332 
02383 #endif
02384 /*******************************************************************
02385  * Meter Control
02386  */
02397 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels);
02398 
02418 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels);
02432 ASX32_API ASX_ERROR ASX_Meter_GetRMS(  ASX_HANDLE hMeter, float *fdB, const int nChannels);
02525 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs);
02526 
02534  ASX32_API ASX_ERROR ASX_Meter_GetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, float *fAttackTimeMs, float *fDecayTimeMs); // end of Meter group
02536 
02541 /********************************************************************
02542  * Volume Control
02543  */
02554 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels);
02562 ASX32_API ASX_ERROR ASX_Volume_SetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02570 ASX32_API ASX_ERROR ASX_Volume_GetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02578 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels);
02586 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels);
02595 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume,
02596                              float *fMinGain,
02597                              float *fMaxGain,
02598                              float *fGainStep);
02611 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);
02612 
02621 ASX32_API ASX_ERROR ASX_Volume_HasAutofade(ASX_HANDLE hVolume, const enum asxVOLUME_AUTOFADE eProfile, int *pnSupportsAutoFade);
02622 
02623  // end of Volume group
02625 
02626 /*******************************************************************
02627  * Level Control
02628  */
02640 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain);
02647 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain);
02656 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel,
02657                              float *fMinGain,
02658                              float *fMaxGain,
02659                              float *fGainStep);
02660  // end of Level group
02662 
02663 /*******************************************************************
02664  * Multiplexer Control
02665  */
02683 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount);
02691 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex);
02699 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group
02704 /******************************************************************
02705  * Channel Mode Control
02706  */
02720 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount);
02727 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode);
02734 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group
02736 
02737 /******************************************************************
02738  * Tuner Control
02739  */
02752 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount);
02759 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand);
02766 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand);
02776 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq);
02785 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq);
02786 
02796 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner,
02797             const enum asxTUNERBAND eBand,
02798             unsigned long *plMin, unsigned long *plMax,
02799             unsigned long *plStep);
02800 
02810 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep);
02817 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain);
02824 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain);
02831 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel);
02838 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel);
02848 ASX32_API ASX_ERROR ASX_Tuner_GetStatus(
02849             ASX_HANDLE hTuner,
02850             unsigned int *puErrorStatusMask,
02851             unsigned int *puErrorStatus);
02860 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner,
02861             const enum asxTUNERMODE eMode,
02862             enum asxTUNERMODE *peSetting);
02863 
02872 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner,
02873             const enum asxTUNERMODE eMode,
02874             const enum asxTUNERMODE eSetting);
02875 
02884 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner,
02885             const int nIndex,
02886             enum asxTUNERDEEMPHASIS *peDeemphasis,
02887             int *pnCount);
02888 
02895 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner,
02896             const enum asxTUNERDEEMPHASIS eDeemphasis
02897             );
02898 
02905 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner,
02906             enum asxTUNERDEEMPHASIS *peDeemphasis
02907             );
02908 
02917 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner,
02918             const int nIndex,
02919             enum asxTUNERPROGRAM *peProgram,
02920             int *pnCount);
02921 
02928 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner,
02929             const enum asxTUNERPROGRAM eProgram
02930             );
02931 
02938 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner,
02939             enum asxTUNERPROGRAM *peProgram
02940             );
02941 
02945 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality(
02946     ASX_HANDLE hTuner,
02947     int *pnSignalQuality
02948 );
02949 
02956 ASX32_API ASX_ERROR ASX_Tuner_GetDigitalSignalQuality(
02957     ASX_HANDLE hTuner,
02958     int *pnSignalQuality
02959 );
02960 
02961 /*
02962  * Get a Tuner property of type integer
02963  * @param hTuner A handle to an ASX tuner control.
02964  * @param nTunerProperty - tuner property.  One of #asxTUNER_PROPERTY_INT
02965  * @param nPropertyValue - the returned property
02966  * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned.
02967  */
02968 /*
02969 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner,
02970                 const enum asxTUNER_PROPERTY_INT eTunerProperty,
02971             int *pnPropertyValue
02972             );
02973 */
02974 
02978 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner,
02979             char *szSdkVersion,
02980             const int nStringLength
02981             );
02985 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner,
02986             char *szSdkVersion,
02987             const int nStringLength
02988             );
02996 ASX32_API ASX_ERROR ASX_Tuner_GetFirmwareVersion(ASX_HANDLE hTuner,
02997             char *szFirmwareVersion,
02998             const int nStringLength
02999             );
03008 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner,
03009             const int nIndex,
03010             enum asxTUNERHDBLEND *peBlend,
03011             int *pnCount);
03012 
03019 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner,
03020             const enum asxTUNERHDBLEND  nMode
03021             );
03022 
03029 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner,
03030             enum asxTUNERHDBLEND *pnMode
03031             );
03032 
03033 
03041 ASX32_API ASX_ERROR ASX_Tuner_GetDabMultiplexName(ASX_HANDLE hTuner,
03042         char *szMultiplexName,
03043         const int nSize
03044         );
03045 
03052 ASX32_API ASX_ERROR ASX_Tuner_GetDabMultiplexId(ASX_HANDLE hTuner,
03053         unsigned long *dwMultiplexId
03054         );
03055 
03063 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceCount(ASX_HANDLE hTuner,
03064             int *pnIndex,
03065             int *pnCount
03066             );
03067 
03076 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceName(ASX_HANDLE hTuner,
03077         char *szAudioServiceName,
03078         const int nSize,
03079         const int nIndex
03080         );
03081 
03088 ASX32_API ASX_ERROR ASX_Tuner_SetDabAudioService(ASX_HANDLE hTuner,
03089         const int nIndex
03090         );
03091 
03098 ASX32_API ASX_ERROR ASX_Tuner_GetDabServiceId(ASX_HANDLE hTuner,
03099         unsigned long *dwServiceId
03100         );
03101 
03109 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioInfo(ASX_HANDLE hTuner,
03110         char *szAudioInfo,
03111         const int nSize
03112         );
03113  // end of Tuner group
03120 /******************************************************************
03121  * PAD Control
03122  */
03136 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD,
03137             char *pszChannelName,
03138             const int nStringLength
03139             );
03140 
03149 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD,
03150             char *pszArtist,
03151             const int nStringLength
03152             );
03153 
03162 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD,
03163             char *pszTitle,
03164             const int nStringLength
03165             );
03166 
03175 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD,
03176             char *pszComment,
03177             const int nStringLength
03178             );
03179 
03187 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD,
03188             int *pnProgramType
03189             );
03200 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD,
03201             const enum asxTUNER_RDS_TYPE eType,
03202             const int nPTY,
03203             char *pszString,
03204             const int nStringLength
03205             );
03206 
03215 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD,
03216             int *uPI
03217             );
03218 
03219  // end of pads group
03221 
03222 
03223 /******************************************************************
03224  * Sample Clock Control
03225  */
03233 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
03234 
03243 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
03244 
03247 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate);
03248 
03255 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate);
03256 
03265 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateEx(ASX_HANDLE hSampleClock, const int nSampleRate, const int nSampleRatePPB);
03266 
03273 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
03280 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
03289 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount);
03296 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource);
03303 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource);
03310 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable);
03317 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable);
03327 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock);
03334 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group
03336 
03337 /******************************************************************
03338  * AESEBU Receiver Control
03339  **/
03352 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx,
03353                                                       unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus );
03360 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx,
03361                                                      unsigned int *pdwSampleRate );
03370 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03371 
03378 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx,
03379                                                  const enum asxAESEBU_FORMAT eAesebuFormat );
03386 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx,
03387                                                  enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group
03389 
03390 /******************************************************************
03391  * AESEBU Transmitter Control
03392  **/
03405 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03412 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat );
03419 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group
03421 
03422 /******************************************************************
03423  * GPIO Control
03424  */
03439 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits);
03451 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits);
03461 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits);
03470 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group
03472 
03473 /********************************************************************
03474  * Vox Control
03475  */
03486 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel);
03493 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel);
03502 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox,
03503                              float *fMinLevel,
03504                              float *fMaxLevel,
03505                              float *fLevelStep); // end of Vox group
03507 
03508 /********************************************************************
03509  * Generic Control
03510  */
03521 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group
03523 
03524 /******************************************************************
03525  * Microphone Control
03526  */
03537 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff);
03544 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group
03546 
03547 /******************************************************************
03548  * Parametric EQ control
03549  */
03561 ASX32_API ASX_ERROR ASX_EQ_GetInfo(
03562         ASX_HANDLE hParmEq,
03563         unsigned short  *pwNumberOfBands,
03564         unsigned short  *pwEnabled
03565         );
03572 ASX32_API ASX_ERROR ASX_EQ_SetState(
03573         ASX_HANDLE hParmEq,
03574         const unsigned short    wOnOff
03575         );
03589 ASX32_API ASX_ERROR ASX_EQ_SetBand(
03590         ASX_HANDLE hParmEq,
03591         const unsigned short        wIndex,
03592         const enum asxEQBANDTYPE    eType,
03593         const unsigned long     dwFrequencyHz,
03594         const short             nQ100,
03595         const short             nGain0_01dB
03596         );
03597 
03611 ASX32_API ASX_ERROR ASX_EQ_GetBand(
03612         ASX_HANDLE hParmEq,
03613         const unsigned short        wIndex,
03614         enum asxEQBANDTYPE  *peType,
03615         unsigned long       *pdwFrequencyHz,
03616         short               *pnQ100,
03617         short               *pnGain0_01dB
03618         ); // end of Parametric Equalizer group
03620 
03621 /******************************************************************
03622  * Compander control
03623  */
03641 ASX32_API ASX_ERROR ASX_Compander_Set(
03642         ASX_HANDLE hCompander,
03643         const unsigned short  wAttack,
03644         const unsigned short  wDecay,
03645         const short           wRatio100,
03646         const short           nThreshold0_01dB,
03647         const short           nMakeupGain0_01dB
03648         );
03649 
03663 ASX32_API ASX_ERROR ASX_Compander_Get(
03664         ASX_HANDLE hCompander,
03665         unsigned short  *pwAttack,
03666         unsigned short  *pwDecay,
03667         short           *pwRatio100,
03668         short           *pnThreshold0_01dB,
03669         short           *pnMakeupGain0_01dB
03670         );
03677 ASX32_API ASX_ERROR ASX_Compander_SetEnable(
03678         ASX_HANDLE hCompander,
03679         const unsigned int nOn
03680 );
03687 ASX32_API ASX_ERROR ASX_Compander_GetEnable(
03688         ASX_HANDLE hCompander,
03689         unsigned int *nOn
03690 );
03697 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain(
03698         ASX_HANDLE hCompander,
03699         const float fMakeupGain
03700 );
03707 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain(
03708         ASX_HANDLE hCompander,
03709         float *fMakeupGain
03710 );
03718 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant(
03719         ASX_HANDLE hCompander,
03720         enum asxCOMPANDER_INDEX index,
03721         const unsigned int nAttack
03722 );
03730 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant(
03731         ASX_HANDLE hCompander,
03732         enum asxCOMPANDER_INDEX index,
03733         unsigned int *pnAttack
03734 );
03742 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant(
03743         ASX_HANDLE hCompander,
03744         enum asxCOMPANDER_INDEX index,
03745         const unsigned int nDecay
03746 );
03754 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant(
03755         ASX_HANDLE hCompander,
03756         enum asxCOMPANDER_INDEX index,
03757         unsigned int *pnDecay
03758 );
03766 ASX32_API ASX_ERROR ASX_Compander_SetThreshold(
03767         ASX_HANDLE hCompander,
03768         enum asxCOMPANDER_INDEX index,
03769         const float nThreshold
03770 );
03778 ASX32_API ASX_ERROR ASX_Compander_GetThreshold(
03779         ASX_HANDLE hCompander,
03780         enum asxCOMPANDER_INDEX index,
03781         float *pnThreshold
03782 );
03790 ASX32_API ASX_ERROR ASX_Compander_SetRatio(
03791         ASX_HANDLE hCompander,
03792         enum asxCOMPANDER_INDEX index,
03793         const float fRatio
03794 );
03802 ASX32_API ASX_ERROR ASX_Compander_GetRatio(
03803         ASX_HANDLE hCompander,
03804         enum asxCOMPANDER_INDEX index,
03805         float  *fRatio
03806 );
03807  // end of Compander group
03809 
03814 /******************************************************************
03815  * Cobranet control
03816  */
03826 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount);
03830 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode);
03834 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode);
03841 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03848 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03856 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03864 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03872 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03880 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength );
03888 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength );
03896 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString);
03904 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength );
03912 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString);
03920 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision);
03929 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay);
03937 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate);
03945 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate);
03955 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting);
03965 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting);
03973 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority);
03981 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority);
03989 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState);
03996 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff);
04003 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff);
04016 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig(
04017     ASX_HANDLE hCobranet,
04018     const unsigned int nBaud,
04019     const unsigned int nPPeriod,
04020     const char pRxMAC[6],
04021     const int nAcceptUnicast,
04022     const char pTxMAC[6]);
04034 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig(
04035     ASX_HANDLE hCobranet,
04036     unsigned int *pnBaud,
04037     unsigned int *pnPPeriod,
04038     char pRxMAC[6],
04039     int *pnAcceptUnicast,
04040     char pTxMAC[6]);
04049 ASX32_API ASX_ERROR ASX_Cobranet_GetIfStatus(
04050     ASX_HANDLE hCobranet,
04051     unsigned int *pnCurrentIf,
04052     unsigned int *pnPrimaryLinkStatus,
04053     unsigned int *pnSecondaryLinkStatus); // end of Cobranet group
04055 /******************************************************************
04056  * Cobranet transmitter control
04057  */
04070 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers);
04077 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle);
04084 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle);
04091 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount);
04098 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount);
04105 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]);
04112 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]);
04119 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat);
04128 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat);
04136 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast);
04167 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast);
04168  // end of Cobranet Tx group
04170 
04171 /******************************************************************
04172  * Cobranet receiver control
04173  */
04218 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]);
04225 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle);
04232 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle);
04240 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
04248 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs);
04255 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]);
04262 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]);
04269 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay);
04282 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group
04284 
04285 /******************************************************************
04286  * Tone Detector control
04287  */
04303 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04310 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04317 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04324 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04329 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold);
04335 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold);
04341 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState);
04347 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group
04349 
04350 /******************************************************************
04351  * Silence Detector control
04352  */
04363 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04370 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04377 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04384 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04385 
04391 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay(
04392     ASX_HANDLE hSilenceDetector,
04393     const unsigned int Delay
04394 );
04400 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay(
04401     ASX_HANDLE hSilenceDetector,
04402     unsigned int *Delay
04403 );
04408 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold);
04413 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold);
04419 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group
04421 /******************************************************************
04422  * Block control
04423  */
04439 ASX32_API ASX_ERROR ASX_Block_GetInfo(
04440         ASX_HANDLE hBlock,
04441         char *szBlockName,
04442         const unsigned int uStringLength,
04443         unsigned int *uParameterCount);
04444 
04454 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName(
04455         ASX_HANDLE hBlock,
04456         const unsigned int uParameterIndex,
04457         char *szParameterName,
04458         const unsigned int uStringLength);
04468 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits(
04469         ASX_HANDLE hBlock,
04470         const unsigned int uParameterIndex,
04471         char *szParameterUnits,
04472         const unsigned int uStringLength);
04480 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType(
04481         ASX_HANDLE hBlock,
04482         const unsigned int uParameterIndex,
04483         enum asxUCONTROL_PTYPE *eType);
04484 
04492 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags(
04493         ASX_HANDLE hBlock,
04494         const unsigned int uParameterIndex,
04495         enum asxUCONTROL_PFLAGS *eFlags);
04496 
04504 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount(
04505         ASX_HANDLE hBlock,
04506         const unsigned int uParameterIndex,
04507         unsigned int *uCount);
04508 
04516 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange(
04517         ASX_HANDLE hBlock,
04518         const unsigned int uParameterIndex,
04519         struct asxParameterRangeInfo *info);
04520 
04531 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName(
04532         ASX_HANDLE hBlock,
04533         const unsigned int uParameterIndex,
04534         const unsigned int uEnumItem,
04535         char *szEnumName,
04536         const unsigned int uStringLength);
04537 
04545 ASX32_API ASX_ERROR ASX_Block_Parameter_Set(
04546         ASX_HANDLE hBlock,
04547         const unsigned int uParameterIndex,
04548         struct asxParameterValue *data);
04549 
04557 ASX32_API ASX_ERROR ASX_Block_Parameter_Get(
04558         ASX_HANDLE hBlock,
04559         const unsigned int uParameterIndex,
04560         struct asxParameterValue *data);
04561 
04562 /* for the future
04563 ASX32_API ASX_ERROR ASX_ParameterValue_Init(
04564         struct asxParameterValue *data,
04565         enum asxUCONTROL_PTYPE *eType,
04566         const unsigned int uElementCount,
04567         void *data2);
04568 */
04569  // end of block group
04571 
04572 #endif /* ASX_H_DEFS_ONLY */
04573 #ifdef __cplusplus
04574 }
04575 #endif
04576 #endif  /* _ASX_H_ */
04577 
04578 /***********************************************************
04579 *
04580 ***********************************************************/