ASX Version4.13.09

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 
00171 #ifdef __cplusplus
00172 extern "C" {
00173 #endif
00174 
00175 // The following ifdef block is the standard way of creating macros which make exporting
00176 // from a DLL simpler. All files within this DLL are compiled with the ASX32_EXPORTS
00177 // symbol defined on the command line. this symbol should not be defined on any project
00178 // that uses this DLL. This way any other project whose source files include this file see
00179 // ASX32_API functions as being imported from a DLL, wheras this DLL sees symbols
00180 // defined with this macro as being exported.
00181 #ifdef ASX32_EXPORTS
00182 #define ASX32_API __declspec(dllexport)
00183 #endif
00184 #ifdef ASX32_IMPORTS
00185 #define ASX32_API __declspec(dllimport)
00186 #endif
00187 #ifndef ASX32_API
00188 #define ASX32_API
00189 #endif
00190 
00191 /**************************
00192  * Defines
00193  **************************/
00198 #define ASX_SYSTEM_TYPE_HPI 0       ///< Use this to select ASI's HPI interface when calling ASX_System_Create().
00199 #define ASX_SYSTEM_TYPE_WAVE 1      ///< Use this to select Microsoft's WAVE interface when calling ASX_System_Create().
00200 #define ASX_SYSTEM_TYPE_ALSA 2      ///< Use this to select the Linux ALSA interface when calling ASX_System_Create().
00201 #define ASX_SYSTEM_TYPE_DIRECTX 3   ///< Use this to select Microsoft's DirectX interface when calling ASX_System_Create().
00202 #define ASX_SYSTEM_TYPE_PORTAUDIO 4 ///< Use this to select the PortAudio interface when calling ASX_System_Create().
00203 #define ASX_SYSTEM_TYPE_PCXTOOLS 5  ///< Use this to select Digigram's PCX interface when calling ASX_System_Create().
00204 #define ASX_SYSTEM_TYPE_SNMP 6      ///< Use this to select Cobranet SNMP interface when calling ASX_System_Create().
00205 #define ASX_SYSTEM_TYPE_HPIUDP 7    ///< Use this to select ASI's HPI interface over UDP when calling ASX_System_Create().  Also supports HPI.
00206 #define ASX_SYSTEM_TYPE_DUMMY  8    ///< Dummy backend
00207 #define ASX_SYSTEM_TYPE_ANY 9       ///< Wild card - any subsystem (reserved).
00208 #define ASX_SYSTEM_TYPE_ASIO 10     ///< Use this to select Stienberg's ASIO interface when calling ASX_System_Create().
00209 #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().
00210 #define ASX_SYSTEM_TYPE_COUNT 12    ///< Indicates the number of subsystems defined.
00211  // end of SubSystemTypes group
00212 
00213 #define ASX_SHORT_STRING 32     ///< Short string size for adapter, node, control, enum translations.
00214 #define ASX_LONG_STRING 128         ///< Long string size for error strings, filenames and PADs strings.
00215 #define ASX_LONGLONG_STRING 256     ///< LongLong string size for PADs comment string.
00216 
00217 #ifdef HPI_OS_WIN32_USER
00218 #include <crtdbg.h>
00219 #endif
00220 
00221 #ifndef _RPT0
00222 #define _RPT0(l,s) printf(s)        ///< A debug helper function, 0 arguments.
00223 #define _RPT1(l,s,d1) printf(s,d1)  ///< A debug helper function, 1 argument.
00224 #endif
00225 
00226 /**************************
00227  * Enums
00228  **************************/
00229 
00231 enum asxERROR {
00232     asxERROR_NO_ERROR=0,            
00233     // leave a gap here so that any 8-bit bit enums will never map to error codes.
00234     asxERROR_ASXOBJECT=256,         
00235     asxERROR_INDEX_OUT_OF_RANGE=257,    
00236     asxERROR_UNIMPLEMENTED=258,     
00237     asxERROR_COMMUNICATING_WITH_DEVICE=259, 
00238     asxERROR_STARTING_DEVICE=260,       
00239     asxERROR_NOT_OPEN=261,          
00240     asxERROR_ALREADY_OPEN=262,      
00241     asxERROR_INVALID_FORMAT=263,        
00242     asxERROR_INTERNAL_BUFFERING_ERROR=264,  
00243     asxERROR_AES18=265,         
00244     asxERROR_INVALID_OPERATION=266,     
00245     asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267,
00246     asxERROR_BUFFER_TOO_SMALL=268,      
00247     asxERROR_OUTOFMEMORY=269,       
00248     asxERROR_DEPRECATED=270,        
00249     asxERROR_TOO_MANY_CLIENTS=271,      
00250 
00251     asxERROR_COBRANET_NODE_NOT_FOUND=272,   
00252     asxERROR_COBRANET_NODE_FOUND=273,   
00253     asxERROR_NO_IP_ADDRESSES_AVAILABLE=274, 
00254     asxERROR_IP_ASSIGNED=275,       
00255     asxERROR_IP_CHANGED=276,        
00256     asxERROR_IP_AUTOASSIGN_DISABLED=277,    
00257     asxERROR_PCAP_ERROR=278,        
00258     asxERROR_DISCO_DLL_NOT_FOUND=279,   
00259     asxERROR_HOST_NOT_FOUND=280,        
00260     asxERROR_COBRANET_NODE_UNREACHABLE=281, 
00261     asxERROR_DUPLICATE_ADAPTER_INDEX=282,   
00262 
00263     asxERROR_INVALID_CONTROL=304,           
00264     asxERROR_INVALID_CONTROL_VALUE=305,     
00265     asxERROR_INVALID_CONTROL_NOT_FOUND=306,     
00266     asxERROR_INVALID_NUMBER_OF_CHANNELS=307,    
00267     asxERROR_INVALID_CONTROL_ATTRIBUTE=308,     
00268     asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309,     
00269     asxERROR_INVALID_CONTROL_OPERATION=310,     
00270     asxERROR_CONTROL_NOT_READY=311,         
00271 
00272     asxERROR_FILE_OPEN_FAILED=336,          
00273 
00274     asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 
00275     asxERROR_PLAYER_TIME_OUT=385,           
00276     asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386,   
00277     asxERROR_PLAYER_TWAV=387,           
00278     asxERROR_PLAYER_NOFILE=388,         
00279     asxERROR_PLAYER_INVALIDFILEFORMAT=389,      
00280     asxERROR_PLAYER_UNSUPPORTEDFORMAT=390,      
00281     asxERROR_PLAYER_FILEREADERROR=391,      
00282     asxERROR_PLAYER_FILEOPENERROR=392,      
00283 
00284     asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448,   
00285     asxERROR_RECORDER_TIME_OUT=449,         
00286     asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 
00287     asxERROR_RECORDER_TWAV=451,         
00288     asxERROR_RECORDER_FILECREATEERROR=452,      
00289     asxERROR_RECORDER_FILEWRITEERROR=453,       
00290     asxERROR_RECORDER_FORMATMISMATCH=454,       
00291     asxERROR_RECORDER_INVALIDFILENAME=455,      
00292 
00293     asxERROR_MIXER_SAVECONTROLSTATE=460,        
00294 
00295     asxERROR_UNKNOWN=4095               
00296 };
00297 
00299 enum asxNODE {
00300     asxNODE_NONE=0,         
00301     asxNODE_INVALID=400,        
00302 
00303     asxNODE_ADAPTER=401,        
00304     asxNODE_PLAYER=402,     
00305     asxNODE_LINE_IN=403,        
00306     asxNODE_AESEBU_IN=404,      
00307     asxNODE_TUNER_IN=405,       
00308     asxNODE_RADIO_FREQ_IN=406,  
00309     asxNODE_CLOCK_SOURCE_IN=407,    
00310     asxNODE_BITSTREAM_IN=408,   
00311     asxNODE_MICROPHONE_IN=409,  
00312     asxNODE_COBRANET_IN=410,    
00313     asxNODE_COBRANET_RECEIVER=411,  
00314     asxNODE_ANALOG_IN=412,      
00315     asxNODE_SDI_IN=413,     
00316     asxNODE_RTP_DESTINATION_IN=414, 
00317     asxNODE_INTERNAL_IN=416,    
00318     asxNODE_AVB_IN=417, 
00319     asxNODE_BLULINK_IN=418, 
00320 
00321     asxNODE_LAST_SOURCE_NODE=419,   
00322 
00323     asxNODE_FIRST_DEST_NODE=450,    
00324     asxNODE_RECORDER=450,       
00325     asxNODE_LINE_OUT=451,       
00326     asxNODE_AESEBU_OUT=452,     
00327     asxNODE_RADIO_FREQ_OUT=453, 
00328     asxNODE_SPEAKER_OUT=454,    
00329     asxNODE_COBRANET_OUT=455,   
00330     asxNODE_COBRANET_TRANSMITTER=456,
00331     asxNODE_ANALOG_OUT=457,     
00332     asxNODE_SDI_OUT=458,        
00333     asxNODE_RTP_SOURCE_OUT=459, 
00334     asxNODE_AVB_OUT=460,    
00335     asxNODE_INTERNAL_OUT=461,   
00336     asxNODE_BLULINK_OUT=462,        
00337 
00338     asxNODE_LAST_DEST_NODE=463  
00339 };
00340 
00342 enum asxCONTROL {
00343     asxCONTROL_INVALID=500,         
00344 
00345     asxCONTROL_CONNECTION=501,      
00346     asxCONTROL_VOLUME=502,          
00347     asxCONTROL_METER=503,           
00348     asxCONTROL_MUTE=504,            
00349     asxCONTROL_MULTIPLEXER=505,     
00350     asxCONTROL_AESEBU_TRANSMITTER=506,  
00351     asxCONTROL_AESEBU_RECEIVER=507,     
00352     asxCONTROL_LEVEL=508,           
00353     asxCONTROL_TUNER=509,           
00354     asxCONTROL_RDS=510,         
00355     asxCONTROL_VOX=511,         
00356     asxCONTROL_AES18_TRANSMITTER=512,   
00357     asxCONTROL_AES18_RECEIVER=513,      
00358     asxCONTROL_AES18_BLOCK_GENERATOR=514,   
00359     asxCONTROL_CHANNEL_MODE=515,        
00360     asxCONTROL_BIT_STREAM=516,      
00361     asxCONTROL_SAMPLE_CLOCK=517,        
00362     asxCONTROL_MICROPHONE=518,      
00363     asxCONTROL_PARAMETRIC_EQ=519,       
00364     asxCONTROL_COMPANDER=520,       
00365     asxCONTROL_COBRANET=521,        
00366     asxCONTROL_PLAYER=522,          
00367     asxCONTROL_RECORDER=523,        
00368     asxCONTROL_GPIO=524,            
00369     asxCONTROL_RESERVED_525=525,        
00370     asxCONTROL_RESERVED_526=526,        
00371     asxCONTROL_RESERVED_527=527,        
00372     asxCONTROL_RESERVED_528=528,        
00373     asxCONTROL_GENERIC=529,         
00374     asxCONTROL_TONEDETECTOR=530,        
00375     asxCONTROL_SILENCEDETECTOR=531,     
00376     asxCONTROL_COBRANET_TRANSMITTER=532,    
00377     asxCONTROL_COBRANET_RECEIVER=533,   
00378     asxCONTROL_PAD=534,         
00379     asxCONTROL_SRC=535,         
00380     asxCONTROL_BLOCK=536,           
00381 
00382     asxCONTROL_LAST_CONTROL=537
00383 };
00384 
00385 /****************************************
00386  * Various control enums
00387 *****************************************/
00388 
00390 enum asxVOLUME_AUTOFADE {
00391     asxVOLUME_AUTOFADE_LOG,     
00392     asxVOLUME_AUTOFADE_LINEAR   
00393 };
00394 
00396 enum asxMETER_TYPE {
00397     asxMETER_PEAK,  
00398     asxMETER_RMS    
00399 };
00400 
00402 enum asxCHANNELMODE {
00403     asxCHANNELMODE_ILLEGAL=1000,        
00404     asxCHANNELMODE_NORMAL=1001,     
00405     asxCHANNELMODE_SWAP=1002,       
00406     asxCHANNELMODE_STEREOTOLEFT=1003,   
00407     asxCHANNELMODE_STEREOTORIGHT=1004,  
00408     asxCHANNELMODE_LEFTTOSTEREO=1005,   
00409     asxCHANNELMODE_RIGHTTOSTEREO=1006   
00410 };
00412 enum asxADAPTERMODE {
00413     asxADAPTERMODE_ILLEGAL=1100,        
00414     asxADAPTERMODE_4_PLAY=1101,     
00415     asxADAPTERMODE_6_PLAY=1102,     
00416     asxADAPTERMODE_8_PLAY=1103,     
00417     asxADAPTERMODE_9_PLAY=1104,     
00418     asxADAPTERMODE_12_PLAY=1105,        
00419     asxADAPTERMODE_16_PLAY=1106,        
00420     asxADAPTERMODE_1_PLAY=1107,     
00421     asxADAPTERMODE_MODE_1=1108,     
00422     asxADAPTERMODE_MODE_2=1109,     
00423     asxADAPTERMODE_MODE_3=1110,     
00424     asxADAPTERMODE_MULTICHANNEL=1111,   
00425     asxADAPTERMODE_MONO=1112,       
00426     asxADAPTERMODE_LOW_LATENCY=1113     
00427 };
00429 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!!
00430 enum asxTUNERBAND {
00431     asxTUNERBAND_AM=1200,       
00432     asxTUNERBAND_FM=1201,       
00433     asxTUNERBAND_TV=1202,       
00434     asxTUNERBAND_FM_STEREO=1203,    
00435     asxTUNERBAND_AUX=1204,      
00436     asxTUNERBAND_TV_PAL_BG=1205,    
00437     asxTUNERBAND_TV_PAL_I=1206, 
00438     asxTUNERBAND_TV_PAL_DK=1207,    
00439     asxTUNERBAND_TV_SECAM_L=1208,   
00440     asxTUNERBAND_DAB=1209
00441 };
00443 enum asxTUNERDEEMPHASIS {
00444     asxTUNERDEEMPHASIS_50=1240, 
00445     asxTUNERDEEMPHASIS_75=1241, 
00446     asxTUNERDEEMPHASIS_NONE=1242,   
00447 };
00449 enum asxTUNERMODE {
00450     asxTUNERMODE_RSS=1250,      
00451     asxTUNERMODE_RSS_ENABLE=1251,   
00452     asxTUNERMODE_RSS_DISABLE=1252   
00453 };
00455 enum asxTUNERPROGRAM {
00456     asxTUNERPROGRAM_NONE=1260,  
00457     asxTUNERPROGRAM_1=1261,     
00458     asxTUNERPROGRAM_2=1262,     
00459     asxTUNERPROGRAM_3=1263,     
00460     asxTUNERPROGRAM_4=1264,     
00461     asxTUNERPROGRAM_5=1265,     
00462     asxTUNERPROGRAM_6=1266,     
00463     asxTUNERPROGRAM_7=1267,     
00464     asxTUNERPROGRAM_8=1268,     
00465 };
00467 enum asxTUNERHDBLEND {
00468     asxTUNERHDBLEND_AUTO=1280,  
00469     asxTUNERHDBLEND_ANALOG=1281,    
00470 };
00471 
00473 enum asxSAMPLE_CLOCK_SOURCE {
00474     asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400,    
00475     asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 
00476     asxSAMPLE_CLOCK_SOURCE_WORD=1402,   
00477     asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403,
00478     asxSAMPLE_CLOCK_SOURCE_SMPTE=1404,  
00479     asxSAMPLE_CLOCK_SOURCE_NETWORK=1405,    
00480     asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 
00481     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407,
00482     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408,
00483     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409,
00484     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410,
00485     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411,
00486     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412,
00487     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413,
00488     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414,
00489     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415,
00490     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416,
00491     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417,
00492     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418,
00493     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419,
00494     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420,
00495     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421,
00496     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422,
00497     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423,
00498     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424,
00499     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425,
00500     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426,
00501     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427,
00502     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428,
00503     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429,
00504     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430,
00505     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431,
00506     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432,
00507     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433,
00508     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434,
00509     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435,
00510     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436,
00511     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437,
00512     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438,
00513     asxSAMPLE_CLOCK_SOURCE_LOCAL=1439,        
00514     asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440,  
00515     asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441,  
00516     asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442,   
00517     asxSAMPLE_CLOCK_SOURCE_BLULINK=1443 
00518 };
00519 
00521 enum asxAESEBU_FORMAT {
00522     asxAESEBU_FORMAT_AESEBU=1450,       
00523     asxAESEBU_FORMAT_SPDIF=1451,        
00524     asxAESEBU_FORMAT_UNDEFINED=1452     
00525 };
00527 enum asxEQBANDTYPE {
00528     asxEQBANDTYPE_BYPASS=1460,      
00529     asxEQBANDTYPE_LOWSHELF=1461,        
00530     asxEQBANDTYPE_HIGHSHELF=1462,       
00531     asxEQBANDTYPE_EQUALIZER=1463,       
00532     asxEQBANDTYPE_LOWPASS=1464,         
00533     asxEQBANDTYPE_HIGHPASS=1465,        
00534     asxEQBANDTYPE_BANDPASS=1466,        
00535     asxEQBANDTYPE_BANDSTOP=1467,        
00536 };
00538 enum asxCOBRANET_MODE {
00539     asxCOBRANET_MODE_NETWORK=1470,      
00540     asxCOBRANET_MODE_TETHERED=1471      
00541 };
00543 enum asxADPROPENUM_MODE {
00544     asxADPROPENUM_MODE_PROPERTIES=1480, 
00545     asxADPROPENUM_MODE_SETTINGS=1481    
00546 };
00548 enum asxADPROPENUM_SSX2 {
00549     asxADPROPENUM_SSX2_OFF=1488,        
00550     asxADPROPENUM_SSX2_ON=1489      
00551 };
00553 enum asxCOBRANET_LATENCY {
00554     asxCOBRANET_LATENCY_133ms=1490,     
00555     asxCOBRANET_LATENCY_266ms=1491,     
00556     asxCOBRANET_LATENCY_533ms=1492      
00557 };
00558 /****************************************
00559  * Various player and recorder enums
00560 *****************************************/
00561 
00563 enum asxFILE_FORMAT {
00564     asxFILE_FORMAT_WAV=10000,   
00565     asxFILE_FORMAT_RAW=10001    
00566 };
00568 enum asxFILE_MODE {
00569     asxFILE_MODE_CREATE=10100,  
00570     asxFILE_MODE_APPEND=10101   
00571 };
00573 enum asxAUDIO_FORMAT {
00574     asxAUDIO_FORMAT_PCM8=10200,     
00575     asxAUDIO_FORMAT_PCM16=10201,        
00576     asxAUDIO_FORMAT_PCM24=10202,        
00577     asxAUDIO_FORMAT_PCM32=10203,        
00578     asxAUDIO_FORMAT_PCM32_FLOAT=10204,  
00579     asxAUDIO_FORMAT_MPEG_L2=10205,      
00580     asxAUDIO_FORMAT_MPEG_L3=10206,      
00581     asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 
00582     asxAUDIO_FORMAT_DOLBY_AC2=10208,    
00583     asxAUDIO_FORMAT_PCM20=10209,        
00584     asxAUDIO_FORMAT_NONE=10210      
00585 };
00586 
00587 
00589 enum asxRECORD_MODE {
00590     asxRECORD_MODE_STEREO=10300,        
00591     asxRECORD_MODE_JOINT_STEREO=10301,  
00592     asxRECORD_MODE_DUAL_MONO=10302,     
00593     asxRECORD_MODE_MONO=10303,      
00594     asxRECORD_MODE_DONT_CARE=10304      
00595 };
00597 enum asxPLAYER_STATE{
00598     asxPLAYER_INIT=10400,           
00599     asxPLAYER_OPEN=10401,           
00600     asxPLAYER_PREFILL=10402,        
00601     asxPLAYER_RUNNING=10403,        
00602     asxPLAYER_PAUSED=10404,         
00603     asxPLAYER_DONE=10405,           
00604     asxPLAYER_DESTROY=10406         
00605 };
00607 enum asxRECORDER_STATE{
00608     asxRECORDER_INIT=10500,         
00609     asxRECORDER_OPEN=10501,         
00610     asxRECORDER_RUNNING=10502,      
00611     asxRECORDER_PAUSED=10503,       
00612     asxRECORDER_DONE=10504,         
00613     asxRECORDER_DESTROY=10505       
00614 };
00615 
00617 enum asxTIMESCALE {
00618     asxTIMESCALE_INVALID=10600,         
00619     asxTIMESCALE_BYTES=10601,           
00620     asxTIMESCALE_MILLISECONDS=10602,        
00621     asxTIMESCALE_SAMPLES=10603,         
00622     asxTIMESCALE_BYTES_REMAINING=10604,     
00623     asxTIMESCALE_MILLISECONDS_REMAINING=10605,  
00624     asxTIMESCALE_SAMPLES_REMAINING=10606        
00625 };
00626 
00628 enum asxSAMPLE_RATE {
00629     asxSAMPLE_RATE_8000=10700,
00630     asxSAMPLE_RATE_11025=10701,
00631     asxSAMPLE_RATE_16000=10702,
00632     asxSAMPLE_RATE_22050=10703,
00633     asxSAMPLE_RATE_24000=10704,
00634     asxSAMPLE_RATE_32000=10705,
00635     asxSAMPLE_RATE_44100=10706,
00636     asxSAMPLE_RATE_48000=10707,
00637     asxSAMPLE_RATE_64000=10708,
00638     asxSAMPLE_RATE_88200=10709,
00639     asxSAMPLE_RATE_96000=10710,
00640     asxSAMPLE_RATE_192000=10711,
00641     asxSAMPLE_RATE_12000=10712,
00642     asxSAMPLE_RATE_176400=10713,
00643     asxSAMPLE_RATE_UNDEFINED=10799
00644 };
00645 
00647 enum asxMSG_LOGGING {
00648     asxMSG_LOGGING_DISABLE=10800,   
00649     asxMSG_LOGGING_ERROR=10801, 
00650     asxMSG_LOGGING_WARNING=10802,   
00651     asxMSG_LOGGING_NOTICE=10803,    
00652     asxMSG_LOGGING_INFO=10804,  
00653     asxMSG_LOGGING_DEBUG=10805, 
00654     asxMSG_LOGGING_VERBOSE=10806    
00655 };
00656 
00657 /******************************************************************************************************
00658  * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString();
00659  ******************************************************************************************************/
00661 enum asxPLAYER_FLAGS {
00662     asxPLAYER_FILE_COMPLETE=1,      
00663     asxPLAYER_FILELIST_COMPLETE=2,      
00664     asxPLAYER_FILE_START=4,         
00665 };
00666 
00668 enum asxTUNER_STATUS {
00669     asxTUNER_STATUS_VIDEO_VALID=1,              
00670     asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2,          
00671     asxTUNER_STATUS_VIDEO_IS_60HZ=4,            
00672     asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8,      
00673     asxTUNER_STATUS_PLL_LOCKED=16,              
00674     asxTUNER_STATUS_FM_STEREO=32,               
00675     asxTUNER_STATUS_DIGITAL=64,             
00676     asxTUNER_STATUS_MULTIPROGRAM=128,           
00677     asxTUNER_STATUS_FIRMWARE_LOADING=256            
00678 };
00679 
00681 enum asxTUNER_RDS_TYPE {
00682     asxTUNER_RDS_TYPE_RDS=0,        
00683     asxTUNER_RDS_TYPE_RBDS=1,       
00684 };
00685 
00687 enum asxAESEBU_STATUS {
00688     asxAESEBU_ERROR=0x01,               
00689     asxAESEBU_ERROR_NOT_LOCKED=0x02,        
00690     asxAESEBU_ERROR_POOR_QUALITY=0x04,      
00691     asxAESEBU_ERROR_PARITY_ERROR=0x08,      
00692     asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10,     
00693     asxAESEBU_ERROR_VALIDITY=0x20,          
00694     asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40      
00695 };
00696 
00698 enum asxCOMPANDER_INDEX {
00699     asxCOMPANDER_INDEX_NOISEGATE=0, 
00700     asxCOMPANDER_INDEX_COMPANDER=1  
00701 };
00702 
00704 enum asxHANDLE_TYPE {
00705     asxHANDLE_INVALID,  
00706     asxHANDLE_SYSTEM,   
00707     asxHANDLE_ADAPTER,  
00708     asxHANDLE_MIXER,    
00709     asxHANDLE_NODE,     
00710     asxHANDLE_CONTROL,  
00711     asxHANDLE_LAST      
00712     };
00713 
00715 enum asxUCONTROL_PTYPE {
00716     asxPARAM_TYPE_NONE       = 0,
00717     asxPARAM_TYPE_INTEGER    = 3,
00718     asxPARAM_TYPE_FLOAT      = 4,
00719     asxPARAM_TYPE_DOUBLE     = 5,
00720     asxPARAM_TYPE_STRING     = 6,
00721     //asxPARAM_TYPE_ENUMERATED = 7
00722     asxPARAM_TYPE_IP4_ADDRESS= 8,
00723     asxPARAM_TYPE_IP6_ADDRESS= 9,
00724     asxPARAM_TYPE_MAC_ADDRESS= 10,
00725     asxPARAM_TYPE_BOOLEAN= 11
00726 };
00727 
00729 enum asxUCONTROL_RTYPE {
00730     asxPARAM_RANGE_NONE         = 0,
00731     asxPARAM_RANGE_STEPPED_INTEGER      = 1,
00732     asxPARAM_RANGE_STEPPED_FLOAT        = 2,
00733     asxPARAM_RANGE_ENUMERATED_INTEGER   = 3,
00734     asxPARAM_RANGE_ENUMERATED_FLOAT     = 4,
00735     asxPARAM_RANGE_ENUMERATED       = 5,
00736     asxPARAM_RANGE_STRING_LENGTH        = 6,
00737     asxPARAM_RANGE_NUMBER_OF_BITS       = 7
00738 };
00739 
00741 enum asxUCONTROL_PFLAGS {
00742     asxPARAM_FLAG_WRITEABLE   = 1, 
00743     asxPARAM_FLAG_READABLE    = 2, 
00744     asxPARAM_FLAG_VOLATILE    = 4 
00745 };
00746 
00748 enum asxCOBRANET_IFSTATUS {
00749     asxCOBRANET_IFSTATUS_LINK_ESTABLISHED=0x01, 
00750     asxCOBRANET_IFSTATUS_FULL_DUPLEX=0x02,      
00751     asxCOBRANET_IFSTATUS_ACTIVE_CONNECTION=0x04 
00752 };
00753 
00755 enum asxADAPTER_PROPERTY {
00756         asxADAPTER_PROPERTY_ERRATA_1=1, 
00757         asxADAPTER_PROPERTY_SSX2_SETTING=2, 
00758         asxADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS=3, 
00759         asxADAPTER_PROPERTY_SUPPORT_SSX2=4, 
00760         asxADAPTER_PROPERTY_SUPPORTS_FW_UPDATE=5, 
00761         asxADAPTER_PROPERTY_FIRMWARE_ID=6 
00762 };
00763 
00764 /**************************
00765  * Typedefs
00766  **************************/
00767 
00768 typedef void *ASX_HANDLE;       
00769 typedef enum asxERROR ASX_ERROR;    
00770 typedef enum asxNODE ASX_NODE;      
00771 typedef int ASX_TIME;           
00772 
00773 typedef void ASX_ERROR_CALLBACK(
00774         ASX_HANDLE hASX_Object,
00775         const char *pszCallingFunction,
00776         void *pUser1,
00777         void *pUser2);
00779 typedef void ASX_PLAYER_CALLBACK(
00780         ASX_HANDLE hASX_Player_Object,
00781         const enum asxPLAYER_FLAGS flags,
00782         void *pUser1);
00783 
00784 
00785 struct asxParameterRangeInfo_NamedEnumerated {
00786         int value;
00787         char name[ASX_SHORT_STRING];
00788 };
00789 
00790 struct asxParameterRangeInfo {
00791     enum asxUCONTROL_RTYPE type;
00792     union {
00793         struct {
00794             int min;
00795             int max;
00796             int step;
00797         } integer;
00798         struct {
00799             unsigned int count;
00800             int *value;
00801         } enumerated_integer;
00802         struct {
00803             unsigned int count;
00804             float *value;
00805         } enumerated_float;
00806         struct {
00807             unsigned int count;
00808             struct asxParameterRangeInfo_NamedEnumerated *enums;
00809         } enumerated;
00810         struct {
00811             float fmin;
00812             float fmax;
00813             float fstep;
00814         } floating;
00815         struct {
00816             unsigned int max_len;
00817         } string;
00818     } u;
00819 };
00820 
00821 struct asxParameterValue {
00822     enum asxUCONTROL_PTYPE eType;
00823     unsigned int uItems;
00824     size_t size;
00825     void *value;
00826 };
00827 
00828 struct asxCobranetIpAutoassignParameters {
00829     char addr_start[20];
00830     char addr_end[20];
00831     int autoassign;
00832 };
00833 
00834 
00835 #ifndef ASX_H_DEFS_ONLY
00836 /**************************************************************************************
00837  * Functions
00838  **************************************************************************************/
00839 
00840 /*******************************************************************/
00852 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType);
00853 
00863 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem );
00864 
00873 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem );
00874 
00881 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface );
00882 
00892 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem );
00893 
00907 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback(   ASX_HANDLE hSystem,
00908                             ASX_ERROR_CALLBACK *pCallback,
00909                             void *pUser1,
00910                             void *pUser2);
00911 
00930 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem,
00931                     char *pszName,
00932                     const int nStringLength,
00933                     int *pnRequiredLength );
00947 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem,
00948                       char *pszSystemVersion,
00949                       const int nSystemVersionLength,
00950                       int *pnRequiredSystemVersionLength,
00951                       char *pszSubSystemVersion,
00952                       const int nSubSystemVersionLength,
00953                       int *pnRequiredSubSystemVersionLength);
00960 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount );
00968 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter );
00975 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog);
00982 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog);
00990 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms( const struct asxCobranetIpAutoassignParameters *pCAP );
00996 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms( struct asxCobranetIpAutoassignParameters *pCAP );
00997  // end of System group
00999 
01000 
01001 /*******************************************************************
01002  * Handle functions
01003  */
01013 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle); // end of Handle group
01015 
01016 /*******************************************************************
01017  * Error functions
01018  */
01032 ASX32_API ASX_ERROR ASX_Error_GetLast(
01033                             ASX_HANDLE hASXObject,
01034                             ASX_ERROR *pnAsxErrorCode,
01035                             int *pnAsxSubSystemErrorCode);
01036 
01052 ASX32_API ASX_ERROR ASX_Error_GetLastString(
01053                             ASX_HANDLE hASXObject,
01054                             char *pszAsxErrorString,
01055                             const int nAsxErrorStringLength,
01056                             int *pnRequiredAsxErrorStringLength,
01057                             char *pszAsxSubSystemErrorString,
01058                             const int nAsxSubSystemErrorStringLength,
01059                             int *pnRequiredAsxSubSystemErrorStringLength);
01060 
01061 
01067 ASX32_API ASX_ERROR ASX_Error_Clear(
01068                             ASX_HANDLE hASXObject);
01069  // end of Error group
01071 
01076 /*******************************************************************
01077  * Adapter functions
01078  */
01094 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems(
01095         ASX_HANDLE hAdapter,
01096         unsigned int *pnSubSystemMask,
01097         unsigned int *pnSubSystemOkMask);
01098 
01099 
01128 ASX32_API ASX_ERROR ASX_Adapter_GetName(
01129                             ASX_HANDLE hAdapter,
01130                             char *pszName,
01131                             const int nStringLength,
01132                             int *RequiredLength );
01133 
01150 ASX32_API ASX_ERROR ASX_Adapter_GetIndex(
01151                             ASX_HANDLE hAdapter,
01152                             int *pnIndex );
01161 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber(
01162                             ASX_HANDLE hAdapter,
01163                             unsigned long *pdwSerialNumber );
01164 
01176  ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision(
01177                             ASX_HANDLE hAdapter,
01178                             char *pszRevision);
01179 
01189  ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision(
01190                             ASX_HANDLE hAdapter,
01191                             char *pszRevision);
01192 
01202  ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress(
01203                             ASX_HANDLE hAdapter,
01204                             char *pszMAC);
01205 
01215  ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress(
01216                             ASX_HANDLE hAdapter,
01217                             char *pszIP);
01218 
01229 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization(
01230                             ASX_HANDLE hAdapter,
01231                             const int nDspIndex,
01232                             int *pnDspUtilization);
01233 
01241 ASX32_API ASX_ERROR ASX_Adapter_GetMixer(
01242                             ASX_HANDLE hAdapter,
01243                             ASX_HANDLE *p_hMixer );
01244 
01245 
01254 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount);
01261 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode);
01268 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode);
01278 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting);
01294 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2);
01303 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2);
01311 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue);
01319 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue);
01326 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount);
01327 
01328  // end of Adapter group
01330 
01335 /*******************************************************************
01336  * Mixer functions
01337  */
01356 ASX32_API ASX_ERROR ASX_Mixer_ResetControls(
01357                     ASX_HANDLE hMixer);
01358 
01365 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount(
01366                     ASX_HANDLE hMixer,
01367                     int *pnCount);
01368 
01377 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode(
01378                     ASX_HANDLE hMixer,
01379                     const int nSourceNode,
01380                     ASX_HANDLE *p_hNode );
01381 
01382 
01389 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount(
01390                     ASX_HANDLE hMixer,
01391                     int *pnCount);
01392 
01401 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode(
01402                     ASX_HANDLE hMixer,
01403                     const int nDestinationNode,
01404                     ASX_HANDLE *p_hNode );
01405 
01416 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType(
01417                     ASX_HANDLE hMixer,
01418                     const enum asxNODE eType,
01419                     const int nIndex,
01420                     ASX_HANDLE *p_hNode);
01421 
01431 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount(
01432                     ASX_HANDLE hMixer,
01433                     const enum asxNODE eType,
01434                     int *pnCount);
01435 
01436 
01437 
01444 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount(
01445                     ASX_HANDLE hMixer,
01446                     int *pnControls);
01447 
01455 ASX32_API ASX_ERROR ASX_Mixer_GetControl(
01456                     ASX_HANDLE hMixer,
01457                     const int nControl,
01458                     ASX_HANDLE *p_hControlBase );
01459 
01471 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode(
01472                     const ASX_HANDLE hMixer,
01473                     const ASX_HANDLE hSourceNode,
01474                     const ASX_HANDLE hDestinationNode,
01475                     const enum asxCONTROL eControlType,
01476                     ASX_HANDLE *p_hControlBase );
01477 
01491 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex(
01492                     ASX_HANDLE hMixer,
01493                     const enum asxNODE nSourceNodeType,
01494                     const int nSourceIndex,
01495                     const enum asxNODE nDestinationNodeType,
01496                     const int nDestinationIndex,
01497                     const enum asxCONTROL eControlType,
01498                     ASX_HANDLE *p_hControlBase );
01499 
01513 ASX32_API ASX_ERROR ASX_Mixer_GetBlockControlByNodeTypeAndIndex(
01514                 ASX_HANDLE hMixer,
01515                 const enum asxNODE nSourceNodeType,
01516                 const int nSourceIndex,
01517                 const enum asxNODE nDestinationNodeType,
01518                 const int nDestinationIndex,
01519                 const char *pszBlockName,
01520                 ASX_HANDLE *p_hControlBase );
01521  // end of Mixer group
01523 
01524 /*******************************************************************
01525  * Node functions
01526  */
01542 ASX32_API ASX_ERROR ASX_Node_GetType(
01543                     ASX_HANDLE hNode,
01544                     enum asxNODE *peType);
01545 
01554 ASX32_API ASX_ERROR ASX_Node_GetIndex(
01555                     ASX_HANDLE hNode,
01556                     int *pnIndex);
01557 
01569 ASX32_API ASX_ERROR ASX_Node_GetLocation(
01570                     ASX_HANDLE hNode,
01571                     int *pnModuleSlot,
01572                     int *pnNodeIndexOnSlot,
01573                     char *pszModuleName,
01574                     const int nStringLength);
01575 
01582 ASX32_API ASX_ERROR ASX_Node_GetSubSystem(
01583                     ASX_HANDLE hNode,
01584                     int *p_nSubSystem);
01585 
01593 ASX32_API ASX_ERROR ASX_Node_GetName(
01594             ASX_HANDLE hNode,
01595             char *pszNodeName,
01596             const int nStringLength
01597             );
01598 
01602 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType(
01603                     ASX_HANDLE hNode,
01604                     enum asxNODE *peType);
01605 
01609 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex(
01610                     ASX_HANDLE hNode,
01611                     int *pnIndex);
01612  // end of Node group
01614 
01619 /******************************************************************
01620  * Control functions
01621  */
01635 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl);
01642 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01649 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01665 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl );
01672 ASX32_API ASX_ERROR ASX_Control_GetSubSystem(
01673                     ASX_HANDLE hControl,
01674                     int *p_nSubSystem);
01675 
01676 
01677 /*
01678 enum asxCONTROL_PROPERTY {
01679     asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY,
01680     asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION,
01681     asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION
01682 };
01683 
01684 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 );
01685 */
01686  // end of Control group
01688 
01689 #if (DISABLE_PLAYREC_CONTROLS!=1)
01690 /*******************************************************************
01691  * Player Control
01692  */
01783 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile);
01790 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat);
01800 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer,
01801                             enum asxAUDIO_FORMAT *peFormat,
01802                             int *pnChannnels,
01803                             int *pnSampleRate,
01804                             int *pnBitRate);
01818 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01824 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer);
01831 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer);
01838 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer);
01845 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer);
01851 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer);
01863 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition);
01871 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01878 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState);
01888 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale);
01897 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale);
01907 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength );
01915 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping );
01923 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping );
01934 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist(
01935     ASX_HANDLE hPlayer,
01936     const char **pszFileList,
01937     const unsigned int nFiles);
01958 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus(
01959     ASX_HANDLE hPlayer,
01960     unsigned int *nTotalFileCount,
01961     int *nCurrentFile,
01962     char **szCurrentFilename,
01963     unsigned int *nTotalTime_ms,
01964     unsigned int *nCurrentTime_ms
01965 );
01975 ASX32_API ASX_ERROR ASX_Player_RegisterCallback(
01976     ASX_HANDLE hPlayer,
01977     ASX_PLAYER_CALLBACK *pCallback,
01978     const enum asxPLAYER_FLAGS flags,
01979     void *pUser1);
01986 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer);
01987  // end of Player group
01989 
02036 /******************************************************************
02037  * Recorder Control
02038  */
02118 ASX32_API ASX_ERROR ASX_Recorder_Open(
02119     ASX_HANDLE hRecorder, const char *pszFile,
02120     const enum asxFILE_FORMAT nFileType,
02121     const enum asxFILE_MODE nFileMode,
02122     const int nChannels,
02123     const enum asxAUDIO_FORMAT nFormat,
02124     const long lSampleRate,
02125     const long lBitrate,
02126     const enum asxRECORD_MODE nMode
02127     );
02133 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder );
02139 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder);
02145 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder);
02151 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder);
02159 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition);
02166 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState);
02176 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength );
02185 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group
02187 
02238 #endif
02239 /*******************************************************************
02240  * Meter Control
02241  */
02252 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels);
02253 
02273 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels);
02287 ASX32_API ASX_ERROR ASX_Meter_GetRMS(  ASX_HANDLE hMeter, float *fdB, const int nChannels);
02380 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs);
02381 
02389  ASX32_API ASX_ERROR ASX_Meter_GetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, float *fAttackTimeMs, float *fDecayTimeMs); // end of Meter group
02391 
02396 /********************************************************************
02397  * Volume Control
02398  */
02409 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels);
02416 ASX32_API ASX_ERROR ASX_Volume_SetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02423 ASX32_API ASX_ERROR ASX_Volume_GetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02431 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels);
02439 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels);
02448 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume,
02449                              float *fMinGain,
02450                              float *fMaxGain,
02451                              float *fGainStep);
02464 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); // end of Volume group
02466 
02467 /*******************************************************************
02468  * Level Control
02469  */
02481 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain);
02488 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain);
02497 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel,
02498                              float *fMinGain,
02499                              float *fMaxGain,
02500                              float *fGainStep);
02501  // end of Level group
02503 
02504 /*******************************************************************
02505  * Multiplexer Control
02506  */
02524 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount);
02532 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex);
02540 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group
02545 /******************************************************************
02546  * Channel Mode Control
02547  */
02561 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount);
02568 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode);
02575 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group
02577 
02578 /******************************************************************
02579  * Tuner Control
02580  */
02593 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount);
02600 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand);
02607 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand);
02617 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq);
02626 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq);
02627 
02637 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner,
02638             const enum asxTUNERBAND eBand,
02639             unsigned long *plMin, unsigned long *plMax,
02640             unsigned long *plStep);
02641 
02651 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep);
02658 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain);
02665 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain);
02672 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel);
02679 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel);
02689 ASX32_API ASX_ERROR ASX_Tuner_GetStatus(
02690             ASX_HANDLE hTuner,
02691             unsigned int *puErrorStatusMask,
02692             unsigned int *puErrorStatus);
02701 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner,
02702             const enum asxTUNERMODE eMode,
02703             enum asxTUNERMODE *peSetting);
02704 
02713 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner,
02714             const enum asxTUNERMODE eMode,
02715             const enum asxTUNERMODE eSetting);
02716 
02725 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner,
02726             const int nIndex,
02727             enum asxTUNERDEEMPHASIS *peDeemphasis,
02728             int *pnCount);
02729 
02736 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner,
02737             const enum asxTUNERDEEMPHASIS eDeemphasis
02738             );
02739 
02746 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner,
02747             enum asxTUNERDEEMPHASIS *peDeemphasis
02748             );
02749 
02758 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner,
02759             const int nIndex,
02760             enum asxTUNERPROGRAM *peProgram,
02761             int *pnCount);
02762 
02769 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner,
02770             const enum asxTUNERPROGRAM eProgram
02771             );
02772 
02779 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner,
02780             enum asxTUNERPROGRAM *peProgram
02781             );
02782 
02786 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality(
02787     ASX_HANDLE hTuner,
02788     int *pnSignalQuality
02789 );
02790 
02797 ASX32_API ASX_ERROR ASX_Tuner_GetDigitalSignalQuality(
02798     ASX_HANDLE hTuner,
02799     int *pnSignalQuality
02800 );
02801 
02802 /*
02803  * Get a Tuner property of type integer
02804  * @param hTuner A handle to an ASX tuner control.
02805  * @param nTunerProperty - tuner property.  One of #asxTUNER_PROPERTY_INT
02806  * @param nPropertyValue - the returned property
02807  * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned.
02808  */
02809 /*
02810 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner,
02811                 const enum asxTUNER_PROPERTY_INT eTunerProperty,
02812             int *pnPropertyValue
02813             );
02814 */
02815 
02819 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner,
02820             char *szSdkVersion,
02821             const int nStringLength
02822             );
02826 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner,
02827             char *szSdkVersion,
02828             const int nStringLength
02829             );
02837 ASX32_API ASX_ERROR ASX_Tuner_GetFirmwareVersion(ASX_HANDLE hTuner,
02838             char *szFirmwareVersion,
02839             const int nStringLength
02840             );
02849 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner,
02850             const int nIndex,
02851             enum asxTUNERHDBLEND *peBlend,
02852             int *pnCount);
02853 
02860 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner,
02861             const enum asxTUNERHDBLEND  nMode
02862             );
02863 
02870 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner,
02871             enum asxTUNERHDBLEND *pnMode
02872             );
02873 
02881 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceCount(ASX_HANDLE hTuner,
02882             int *pnIndex,
02883             int *pnCount
02884             );
02885 
02894 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceName(ASX_HANDLE hTuner,
02895         char *szAudioServiceName,
02896         const int nSize,
02897         const int nIndex
02898         );
02899 
02906 ASX32_API ASX_ERROR ASX_Tuner_SetDabAudioService(ASX_HANDLE hTuner,
02907         const int nIndex
02908         );
02909  // end of Tuner group
02916 /******************************************************************
02917  * PAD Control
02918  */
02932 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD,
02933             char *pszChannelName,
02934             const int nStringLength
02935             );
02936 
02945 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD,
02946             char *pszArtist,
02947             const int nStringLength
02948             );
02949 
02958 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD,
02959             char *pszTitle,
02960             const int nStringLength
02961             );
02962 
02971 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD,
02972             char *pszComment,
02973             const int nStringLength
02974             );
02975 
02983 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD,
02984             int *pnProgramType
02985             );
02996 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD,
02997             const enum asxTUNER_RDS_TYPE eType,
02998             const int nPTY,
02999             char *pszString,
03000             const int nStringLength
03001             );
03002 
03011 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD,
03012             int *uPI
03013             );
03014 
03015  // end of pads group
03017 
03018 
03019 /******************************************************************
03020  * Sample Clock Control
03021  */
03029 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
03030 
03039 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
03040 
03043 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate);
03044 
03051 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate);
03052 
03059 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
03066 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
03075 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount);
03082 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource);
03089 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource);
03096 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable);
03103 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable);
03113 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock);
03120 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group
03122 
03123 /******************************************************************
03124  * AESEBU Receiver Control
03125  **/
03138 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx,
03139                                                       unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus );
03146 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx,
03147                                                      unsigned int *pdwSampleRate );
03156 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03157 
03164 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx,
03165                                                  const enum asxAESEBU_FORMAT eAesebuFormat );
03172 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx,
03173                                                  enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group
03175 
03176 /******************************************************************
03177  * AESEBU Transmitter Control
03178  **/
03191 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03198 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat );
03205 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group
03207 
03208 /******************************************************************
03209  * GPIO Control
03210  */
03225 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits);
03237 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits);
03247 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits);
03256 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group
03258 
03259 /********************************************************************
03260  * Vox Control
03261  */
03272 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel);
03279 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel);
03288 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox,
03289                              float *fMinLevel,
03290                              float *fMaxLevel,
03291                              float *fLevelStep); // end of Vox group
03293 
03294 /********************************************************************
03295  * Generic Control
03296  */
03307 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group
03309 
03310 /******************************************************************
03311  * Microphone Control
03312  */
03323 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff);
03330 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group
03332 
03333 /******************************************************************
03334  * Parametric EQ control
03335  */
03347 ASX32_API ASX_ERROR ASX_EQ_GetInfo(
03348         ASX_HANDLE hParmEq,
03349         unsigned short  *pwNumberOfBands,
03350         unsigned short  *pwEnabled
03351         );
03358 ASX32_API ASX_ERROR ASX_EQ_SetState(
03359         ASX_HANDLE hParmEq,
03360         const unsigned short    wOnOff
03361         );
03375 ASX32_API ASX_ERROR ASX_EQ_SetBand(
03376         ASX_HANDLE hParmEq,
03377         const unsigned short        wIndex,
03378         const enum asxEQBANDTYPE    eType,
03379         const unsigned long     dwFrequencyHz,
03380         const short             nQ100,
03381         const short             nGain0_01dB
03382         );
03383 
03397 ASX32_API ASX_ERROR ASX_EQ_GetBand(
03398         ASX_HANDLE hParmEq,
03399         const unsigned short        wIndex,
03400         enum asxEQBANDTYPE  *peType,
03401         unsigned long       *pdwFrequencyHz,
03402         short               *pnQ100,
03403         short               *pnGain0_01dB
03404         ); // end of Parametric Equalizer group
03406 
03407 /******************************************************************
03408  * Compander control
03409  */
03427 ASX32_API ASX_ERROR ASX_Compander_Set(
03428         ASX_HANDLE hCompander,
03429         const unsigned short  wAttack,
03430         const unsigned short  wDecay,
03431         const short           wRatio100,
03432         const short           nThreshold0_01dB,
03433         const short           nMakeupGain0_01dB
03434         );
03435 
03449 ASX32_API ASX_ERROR ASX_Compander_Get(
03450         ASX_HANDLE hCompander,
03451         unsigned short  *pwAttack,
03452         unsigned short  *pwDecay,
03453         short           *pwRatio100,
03454         short           *pnThreshold0_01dB,
03455         short           *pnMakeupGain0_01dB
03456         );
03463 ASX32_API ASX_ERROR ASX_Compander_SetEnable(
03464         ASX_HANDLE hCompander,
03465         const unsigned int nOn
03466 );
03473 ASX32_API ASX_ERROR ASX_Compander_GetEnable(
03474         ASX_HANDLE hCompander,
03475         unsigned int *nOn
03476 );
03483 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain(
03484         ASX_HANDLE hCompander,
03485         const float fMakeupGain
03486 );
03493 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain(
03494         ASX_HANDLE hCompander,
03495         float *fMakeupGain
03496 );
03504 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant(
03505         ASX_HANDLE hCompander,
03506         enum asxCOMPANDER_INDEX index,
03507         const unsigned int nAttack
03508 );
03516 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant(
03517         ASX_HANDLE hCompander,
03518         enum asxCOMPANDER_INDEX index,
03519         unsigned int *pnAttack
03520 );
03528 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant(
03529         ASX_HANDLE hCompander,
03530         enum asxCOMPANDER_INDEX index,
03531         const unsigned int nDecay
03532 );
03540 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant(
03541         ASX_HANDLE hCompander,
03542         enum asxCOMPANDER_INDEX index,
03543         unsigned int *pnDecay
03544 );
03552 ASX32_API ASX_ERROR ASX_Compander_SetThreshold(
03553         ASX_HANDLE hCompander,
03554         enum asxCOMPANDER_INDEX index,
03555         const float nThreshold
03556 );
03564 ASX32_API ASX_ERROR ASX_Compander_GetThreshold(
03565         ASX_HANDLE hCompander,
03566         enum asxCOMPANDER_INDEX index,
03567         float *pnThreshold
03568 );
03576 ASX32_API ASX_ERROR ASX_Compander_SetRatio(
03577         ASX_HANDLE hCompander,
03578         enum asxCOMPANDER_INDEX index,
03579         const float fRatio
03580 );
03588 ASX32_API ASX_ERROR ASX_Compander_GetRatio(
03589         ASX_HANDLE hCompander,
03590         enum asxCOMPANDER_INDEX index,
03591         float  *fRatio
03592 );
03593  // end of Compander group
03595 
03600 /******************************************************************
03601  * Cobranet control
03602  */
03612 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount);
03616 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode);
03620 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode);
03627 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03634 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03642 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03650 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03658 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03666 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength );
03674 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength );
03682 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString);
03690 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength );
03698 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString);
03706 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision);
03715 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay);
03723 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate);
03731 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate);
03741 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting);
03751 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting);
03759 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority);
03767 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority);
03775 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState);
03782 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff);
03789 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff);
03802 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig(
03803     ASX_HANDLE hCobranet,
03804     const unsigned int nBaud,
03805     const unsigned int nPPeriod,
03806     const char pRxMAC[6],
03807     const int nAcceptUnicast,
03808     const char pTxMAC[6]);
03820 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig(
03821     ASX_HANDLE hCobranet,
03822     unsigned int *pnBaud,
03823     unsigned int *pnPPeriod,
03824     char pRxMAC[6],
03825     int *pnAcceptUnicast,
03826     char pTxMAC[6]);
03835 ASX32_API ASX_ERROR ASX_Cobranet_GetIfStatus(
03836     ASX_HANDLE hCobranet,
03837     unsigned int *pnCurrentIf,
03838     unsigned int *pnPrimaryLinkStatus,
03839     unsigned int *pnSecondaryLinkStatus); // end of Cobranet group
03841 /******************************************************************
03842  * Cobranet transmitter control
03843  */
03856 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers);
03863 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle);
03870 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle);
03877 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount);
03884 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount);
03891 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]);
03898 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]);
03905 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat);
03914 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat);
03922 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast);
03953 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast);
03954  // end of Cobranet Tx group
03956 
03957 /******************************************************************
03958  * Cobranet receiver control
03959  */
04004 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]);
04011 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle);
04018 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle);
04026 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
04034 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs);
04041 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]);
04048 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]);
04055 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay);
04068 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group
04070 
04071 /******************************************************************
04072  * Tone Detector control
04073  */
04089 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04096 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04103 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04110 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04115 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold);
04121 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold);
04127 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState);
04133 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group
04135 
04136 /******************************************************************
04137  * Silence Detector control
04138  */
04149 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04156 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04163 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04170 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04171 
04177 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay(
04178     ASX_HANDLE hSilenceDetector,
04179     const unsigned int Delay
04180 );
04186 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay(
04187     ASX_HANDLE hSilenceDetector,
04188     unsigned int *Delay
04189 );
04194 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold);
04199 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold);
04205 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group
04207 /******************************************************************
04208  * Block control
04209  */
04225 ASX32_API ASX_ERROR ASX_Block_GetInfo(
04226         ASX_HANDLE hBlock,
04227         char *szBlockName,
04228         const unsigned int uStringLength,
04229         unsigned int *uParameterCount);
04230 
04240 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName(
04241         ASX_HANDLE hBlock,
04242         const unsigned int uParameterIndex,
04243         char *szParameterName,
04244         const unsigned int uStringLength);
04254 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits(
04255         ASX_HANDLE hBlock,
04256         const unsigned int uParameterIndex,
04257         char *szParameterUnits,
04258         const unsigned int uStringLength);
04266 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType(
04267         ASX_HANDLE hBlock,
04268         const unsigned int uParameterIndex,
04269         enum asxUCONTROL_PTYPE *eType);
04270 
04278 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags(
04279         ASX_HANDLE hBlock,
04280         const unsigned int uParameterIndex,
04281         enum asxUCONTROL_PFLAGS *eFlags);
04282 
04290 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount(
04291         ASX_HANDLE hBlock,
04292         const unsigned int uParameterIndex,
04293         unsigned int *uCount);
04294 
04302 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange(
04303         ASX_HANDLE hBlock,
04304         const unsigned int uParameterIndex,
04305         struct asxParameterRangeInfo *info);
04306 
04317 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName(
04318         ASX_HANDLE hBlock,
04319         const unsigned int uParameterIndex,
04320         const unsigned int uEnumItem,
04321         char *szEnumName,
04322         const unsigned int uStringLength);
04323 
04331 ASX32_API ASX_ERROR ASX_Block_Parameter_Set(
04332         ASX_HANDLE hBlock,
04333         const unsigned int uParameterIndex,
04334         struct asxParameterValue *data);
04335 
04343 ASX32_API ASX_ERROR ASX_Block_Parameter_Get(
04344         ASX_HANDLE hBlock,
04345         const unsigned int uParameterIndex,
04346         struct asxParameterValue *data);
04347 
04348 /* for the future
04349 ASX32_API ASX_ERROR ASX_ParameterValue_Init(
04350         struct asxParameterValue *data,
04351         enum asxUCONTROL_PTYPE *eType,
04352         const unsigned int uElementCount,
04353         void *data2);
04354 */
04355  // end of block group
04357 
04358 #endif /* ASX_H_DEFS_ONLY */
04359 #ifdef __cplusplus
04360 }
04361 #endif
04362 #endif  /* _ASX_H_ */
04363 
04364 /***********************************************************
04365 *
04366 ***********************************************************/