ASX Version4.11.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 
00262     asxERROR_INVALID_CONTROL=304,           
00263     asxERROR_INVALID_CONTROL_VALUE=305,     
00264     asxERROR_INVALID_CONTROL_NOT_FOUND=306,     
00265     asxERROR_INVALID_NUMBER_OF_CHANNELS=307,    
00266     asxERROR_INVALID_CONTROL_ATTRIBUTE=308,     
00267     asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309,     
00268     asxERROR_INVALID_CONTROL_OPERATION=310,     
00269     asxERROR_CONTROL_NOT_READY=311,         
00270 
00271     asxERROR_FILE_OPEN_FAILED=336,          
00272 
00273     asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 
00274     asxERROR_PLAYER_TIME_OUT=385,           
00275     asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386,   
00276     asxERROR_PLAYER_TWAV=387,           
00277     asxERROR_PLAYER_NOFILE=388,         
00278     asxERROR_PLAYER_INVALIDFILEFORMAT=389,      
00279     asxERROR_PLAYER_UNSUPPORTEDFORMAT=390,      
00280     asxERROR_PLAYER_FILEREADERROR=391,      
00281     asxERROR_PLAYER_FILEOPENERROR=392,      
00282 
00283     asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448,   
00284     asxERROR_RECORDER_TIME_OUT=449,         
00285     asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 
00286     asxERROR_RECORDER_TWAV=451,         
00287     asxERROR_RECORDER_FILECREATEERROR=452,      
00288     asxERROR_RECORDER_FILEWRITEERROR=453,       
00289     asxERROR_RECORDER_FORMATMISMATCH=454,       
00290     asxERROR_RECORDER_INVALIDFILENAME=455,      
00291 
00292     asxERROR_MIXER_SAVECONTROLSTATE=460,        
00293 
00294     asxERROR_UNKNOWN=4095               
00295 };
00296 
00298 enum asxNODE {
00299     asxNODE_NONE=0,         
00300     asxNODE_INVALID=400,        
00301 
00302     asxNODE_ADAPTER=401,        
00303     asxNODE_PLAYER=402,     
00304     asxNODE_LINE_IN=403,        
00305     asxNODE_AESEBU_IN=404,      
00306     asxNODE_TUNER_IN=405,       
00307     asxNODE_RADIO_FREQ_IN=406,  
00308     asxNODE_CLOCK_SOURCE_IN=407,    
00309     asxNODE_BITSTREAM_IN=408,   
00310     asxNODE_MICROPHONE_IN=409,  
00311     asxNODE_COBRANET_IN=410,    
00312     asxNODE_COBRANET_RECEIVER=411,  
00313     asxNODE_ANALOG_IN=412,      
00314     asxNODE_SDI_IN=413,     
00315     asxNODE_RTP_DESTINATION_IN=414, 
00316     asxNODE_INTERNAL_IN=416,    
00317 
00318     asxNODE_LAST_SOURCE_NODE=417,   
00319 
00320     asxNODE_FIRST_DEST_NODE=450,    
00321     asxNODE_RECORDER=450,       
00322     asxNODE_LINE_OUT=451,       
00323     asxNODE_AESEBU_OUT=452,     
00324     asxNODE_RADIO_FREQ_OUT=453, 
00325     asxNODE_SPEAKER_OUT=454,    
00326     asxNODE_COBRANET_OUT=455,   
00327     asxNODE_COBRANET_TRANSMITTER=456,
00328     asxNODE_ANALOG_OUT=457,     
00329     asxNODE_SDI_OUT=458,        
00330     asxNODE_RTP_SOURCE_OUT=459, 
00331 
00332     asxNODE_LAST_DEST_NODE=460  
00333 };
00334 
00336 enum asxCONTROL {
00337     asxCONTROL_INVALID=500,         
00338 
00339     asxCONTROL_CONNECTION=501,      
00340     asxCONTROL_VOLUME=502,          
00341     asxCONTROL_METER=503,           
00342     asxCONTROL_MUTE=504,            
00343     asxCONTROL_MULTIPLEXER=505,     
00344     asxCONTROL_AESEBU_TRANSMITTER=506,  
00345     asxCONTROL_AESEBU_RECEIVER=507,     
00346     asxCONTROL_LEVEL=508,           
00347     asxCONTROL_TUNER=509,           
00348     asxCONTROL_RDS=510,         
00349     asxCONTROL_VOX=511,         
00350     asxCONTROL_AES18_TRANSMITTER=512,   
00351     asxCONTROL_AES18_RECEIVER=513,      
00352     asxCONTROL_AES18_BLOCK_GENERATOR=514,   
00353     asxCONTROL_CHANNEL_MODE=515,        
00354     asxCONTROL_BIT_STREAM=516,      
00355     asxCONTROL_SAMPLE_CLOCK=517,        
00356     asxCONTROL_MICROPHONE=518,      
00357     asxCONTROL_PARAMETRIC_EQ=519,       
00358     asxCONTROL_COMPANDER=520,       
00359     asxCONTROL_COBRANET=521,        
00360     asxCONTROL_PLAYER=522,          
00361     asxCONTROL_RECORDER=523,        
00362     asxCONTROL_GPIO=524,            
00363     asxCONTROL_RESERVED_525=525,        
00364     asxCONTROL_RESERVED_526=526,        
00365     asxCONTROL_RESERVED_527=527,        
00366     asxCONTROL_RESERVED_528=528,        
00367     asxCONTROL_GENERIC=529,         
00368     asxCONTROL_TONEDETECTOR=530,        
00369     asxCONTROL_SILENCEDETECTOR=531,     
00370     asxCONTROL_COBRANET_TRANSMITTER=532,    
00371     asxCONTROL_COBRANET_RECEIVER=533,   
00372     asxCONTROL_PAD=534,         
00373     asxCONTROL_SRC=535,         
00374     asxCONTROL_BLOCK=536,           
00375 
00376     asxCONTROL_LAST_CONTROL=537
00377 };
00378 
00379 /****************************************
00380  * Various control enums
00381 *****************************************/
00382 
00384 enum asxVOLUME_AUTOFADE {
00385     asxVOLUME_AUTOFADE_LOG,     
00386     asxVOLUME_AUTOFADE_LINEAR   
00387 };
00388 
00390 enum asxMETER_TYPE {
00391     asxMETER_PEAK,  
00392     asxMETER_RMS    
00393 };
00394 
00396 enum asxCHANNELMODE {
00397     asxCHANNELMODE_ILLEGAL=1000,        
00398     asxCHANNELMODE_NORMAL=1001,     
00399     asxCHANNELMODE_SWAP=1002,       
00400     asxCHANNELMODE_STEREOTOLEFT=1003,   
00401     asxCHANNELMODE_STEREOTORIGHT=1004,  
00402     asxCHANNELMODE_LEFTTOSTEREO=1005,   
00403     asxCHANNELMODE_RIGHTTOSTEREO=1006   
00404 };
00406 enum asxADAPTERMODE {
00407     asxADAPTERMODE_ILLEGAL=1100,        
00408     asxADAPTERMODE_4_PLAY=1101,     
00409     asxADAPTERMODE_6_PLAY=1102,     
00410     asxADAPTERMODE_8_PLAY=1103,     
00411     asxADAPTERMODE_9_PLAY=1104,     
00412     asxADAPTERMODE_12_PLAY=1105,        
00413     asxADAPTERMODE_16_PLAY=1106,        
00414     asxADAPTERMODE_1_PLAY=1107,     
00415     asxADAPTERMODE_MODE_1=1108,     
00416     asxADAPTERMODE_MODE_2=1109,     
00417     asxADAPTERMODE_MODE_3=1110,     
00418     asxADAPTERMODE_MULTICHANNEL=1111,   
00419     asxADAPTERMODE_MONO=1112,       
00420     asxADAPTERMODE_LOW_LATENCY=1113     
00421 };
00423 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!!
00424 enum asxTUNERBAND {
00425     asxTUNERBAND_AM=1200,       
00426     asxTUNERBAND_FM=1201,       
00427     asxTUNERBAND_TV=1202,       
00428     asxTUNERBAND_FM_STEREO=1203,    
00429     asxTUNERBAND_AUX=1204,      
00430     asxTUNERBAND_TV_PAL_BG=1205,    
00431     asxTUNERBAND_TV_PAL_I=1206, 
00432     asxTUNERBAND_TV_PAL_DK=1207,    
00433     asxTUNERBAND_TV_SECAM_L=1208    
00434 };
00436 enum asxTUNERDEEMPHASIS {
00437     asxTUNERDEEMPHASIS_50=1240, 
00438     asxTUNERDEEMPHASIS_75=1241, 
00439     asxTUNERDEEMPHASIS_none=1242,   
00440 };
00442 enum asxTUNERMODE {
00443     asxTUNERMODE_RSS=1250,      
00444     asxTUNERMODE_RSS_ENABLE=1251,   
00445     asxTUNERMODE_RSS_DISABLE=1252   
00446 };
00448 enum asxTUNERPROGRAM {
00449     asxTUNERPROGRAM_none=1260,  
00450     asxTUNERPROGRAM_1=1261,     
00451     asxTUNERPROGRAM_2=1262,     
00452     asxTUNERPROGRAM_3=1263,     
00453     asxTUNERPROGRAM_4=1264,     
00454     asxTUNERPROGRAM_5=1265,     
00455     asxTUNERPROGRAM_6=1266,     
00456     asxTUNERPROGRAM_7=1267,     
00457     asxTUNERPROGRAM_8=1268,     
00458 };
00460 enum asxTUNERHDBLEND {
00461     asxTUNERHDBLEND_auto=1280,  
00462     asxTUNERHDBLEND_analog=1281,    
00463 };
00465 enum asxSAMPLE_CLOCK_SOURCE {
00466     asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400,    
00467     asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 
00468     asxSAMPLE_CLOCK_SOURCE_WORD=1402,   
00469     asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403,
00470     asxSAMPLE_CLOCK_SOURCE_SMPTE=1404,  
00471     asxSAMPLE_CLOCK_SOURCE_NETWORK=1405,    
00472     asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 
00473     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407,
00474     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408,
00475     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409,
00476     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410,
00477     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411,
00478     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412,
00479     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413,
00480     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414,
00481     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415,
00482     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416,
00483     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417,
00484     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418,
00485     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419,
00486     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420,
00487     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421,
00488     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422,
00489     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423,
00490     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424,
00491     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425,
00492     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426,
00493     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427,
00494     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428,
00495     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429,
00496     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430,
00497     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431,
00498     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432,
00499     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433,
00500     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434,
00501     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435,
00502     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436,
00503     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437,
00504     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438,
00505     asxSAMPLE_CLOCK_SOURCE_LOCAL=1439,        
00506     asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440,  
00507     asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441,  
00508     asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442    
00509 };
00510 
00512 enum asxAESEBU_FORMAT {
00513     asxAESEBU_FORMAT_AESEBU=1450,       
00514     asxAESEBU_FORMAT_SPDIF=1451,        
00515     asxAESEBU_FORMAT_UNDEFINED=1452     
00516 };
00518 enum asxEQBANDTYPE {
00519     asxEQBANDTYPE_BYPASS=1460,      
00520     asxEQBANDTYPE_LOWSHELF=1461,        
00521     asxEQBANDTYPE_HIGHSHELF=1462,       
00522     asxEQBANDTYPE_EQUALIZER=1463,       
00523     asxEQBANDTYPE_LOWPASS=1464,         
00524     asxEQBANDTYPE_HIGHPASS=1465,        
00525     asxEQBANDTYPE_BANDPASS=1466,        
00526     asxEQBANDTYPE_BANDSTOP=1467,        
00527 };
00529 enum asxCOBRANET_MODE {
00530     asxCOBRANET_MODE_NETWORK=1470,      
00531     asxCOBRANET_MODE_TETHERED=1471      
00532 };
00534 enum asxADPROPENUM_MODE {
00535     asxADPROPENUM_MODE_PROPERTIES=1480, 
00536     asxADPROPENUM_MODE_SETTINGS=1481    
00537 };
00539 enum asxADPROPENUM_SSX2 {
00540     asxADPROPENUM_SSX2_OFF=1488,        
00541     asxADPROPENUM_SSX2_ON=1489      
00542 };
00544 enum asxCOBRANET_LATENCY {
00545     asxCOBRANET_LATENCY_133ms=1490,     
00546     asxCOBRANET_LATENCY_266ms=1491,     
00547     asxCOBRANET_LATENCY_533ms=1492      
00548 };
00549 /****************************************
00550  * Various player and recorder enums
00551 *****************************************/
00552 
00554 enum asxFILE_FORMAT {
00555     asxFILE_FORMAT_WAV=10000,   
00556     asxFILE_FORMAT_RAW=10001    
00557 };
00559 enum asxFILE_MODE {
00560     asxFILE_MODE_CREATE=10100,  
00561     asxFILE_MODE_APPEND=10101   
00562 };
00564 enum asxAUDIO_FORMAT {
00565     asxAUDIO_FORMAT_PCM8=10200,     
00566     asxAUDIO_FORMAT_PCM16=10201,        
00567     asxAUDIO_FORMAT_PCM24=10202,        
00568     asxAUDIO_FORMAT_PCM32=10203,        
00569     asxAUDIO_FORMAT_PCM32_FLOAT=10204,  
00570     asxAUDIO_FORMAT_MPEG_L2=10205,      
00571     asxAUDIO_FORMAT_MPEG_L3=10206,      
00572     asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 
00573     asxAUDIO_FORMAT_DOLBY_AC2=10208,    
00574     asxAUDIO_FORMAT_PCM20=10209,        
00575     asxAUDIO_FORMAT_NONE=10210      
00576 };
00577 
00578 
00580 enum asxRECORD_MODE {
00581     asxRECORD_MODE_STEREO=10300,        
00582     asxRECORD_MODE_JOINT_STEREO=10301,  
00583     asxRECORD_MODE_DUAL_MONO=10302,     
00584     asxRECORD_MODE_MONO=10303,      
00585     asxRECORD_MODE_DONT_CARE=10304      
00586 };
00588 enum asxPLAYER_STATE{
00589     asxPLAYER_INIT=10400,           
00590     asxPLAYER_OPEN=10401,           
00591     asxPLAYER_PREFILL=10402,        
00592     asxPLAYER_RUNNING=10403,        
00593     asxPLAYER_PAUSED=10404,         
00594     asxPLAYER_DONE=10405,           
00595     asxPLAYER_DESTROY=10406         
00596 };
00598 enum asxRECORDER_STATE{
00599     asxRECORDER_INIT=10500,         
00600     asxRECORDER_OPEN=10501,         
00601     asxRECORDER_RUNNING=10502,      
00602     asxRECORDER_PAUSED=10503,       
00603     asxRECORDER_DONE=10504,         
00604     asxRECORDER_DESTROY=10505       
00605 };
00606 
00608 enum asxTIMESCALE {
00609     asxTIMESCALE_INVALID=10600,         
00610     asxTIMESCALE_BYTES=10601,           
00611     asxTIMESCALE_MILLISECONDS=10602,        
00612     asxTIMESCALE_SAMPLES=10603,         
00613     asxTIMESCALE_BYTES_REMAINING=10604,     
00614     asxTIMESCALE_MILLISECONDS_REMAINING=10605,  
00615     asxTIMESCALE_SAMPLES_REMAINING=10606        
00616 };
00617 
00619 enum asxSAMPLE_RATE {
00620     asxSAMPLE_RATE_8000=10700,
00621     asxSAMPLE_RATE_11025=10701,
00622     asxSAMPLE_RATE_16000=10702,
00623     asxSAMPLE_RATE_22050=10703,
00624     asxSAMPLE_RATE_24000=10704,
00625     asxSAMPLE_RATE_32000=10705,
00626     asxSAMPLE_RATE_44100=10706,
00627     asxSAMPLE_RATE_48000=10707,
00628     asxSAMPLE_RATE_64000=10708,
00629     asxSAMPLE_RATE_88200=10709,
00630     asxSAMPLE_RATE_96000=10710,
00631     asxSAMPLE_RATE_192000=10711,
00632     asxSAMPLE_RATE_12000=10712,
00633     asxSAMPLE_RATE_UNDEFINED=10799
00634 };
00635 
00637 enum asxMSG_LOGGING {
00638     asxMSG_LOGGING_DISABLE=10800,   
00639     asxMSG_LOGGING_ERROR=10801, 
00640     asxMSG_LOGGING_WARNING=10802,   
00641     asxMSG_LOGGING_NOTICE=10803,    
00642     asxMSG_LOGGING_INFO=10804,  
00643     asxMSG_LOGGING_DEBUG=10805, 
00644     asxMSG_LOGGING_VERBOSE=10806    
00645 };
00646 
00647 /******************************************************************************************************
00648  * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString();
00649  ******************************************************************************************************/
00651 enum asxPLAYER_FLAGS {
00652     asxPLAYER_FILE_COMPLETE=1,      
00653     asxPLAYER_FILELIST_COMPLETE=2,      
00654     asxPLAYER_FILE_START=4,         
00655 };
00656 
00658 enum asxTUNER_STATUS {
00659     asxTUNER_STATUS_VIDEO_VALID=1,              
00660     asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2,          
00661     asxTUNER_STATUS_VIDEO_IS_60HZ=4,            
00662     asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8,      
00663     asxTUNER_STATUS_PLL_LOCKED=16,              
00664     asxTUNER_STATUS_FM_STEREO=32,               
00665     asxTUNER_STATUS_DIGITAL=64,             
00666     asxTUNER_STATUS_MULTIPROGRAM=128            
00667 };
00668 
00670 enum asxTUNER_RDS_TYPE {
00671     asxTUNER_RDS_TYPE_RDS=0,        
00672     asxTUNER_RDS_TYPE_RBDS=1,       
00673 };
00674 
00676 enum asxAESEBU_STATUS {
00677     asxAESEBU_ERROR=0x01,               
00678     asxAESEBU_ERROR_NOT_LOCKED=0x02,        
00679     asxAESEBU_ERROR_POOR_QUALITY=0x04,      
00680     asxAESEBU_ERROR_PARITY_ERROR=0x08,      
00681     asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10,     
00682     asxAESEBU_ERROR_VALIDITY=0x20,          
00683     asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40      
00684 };
00685 
00687 enum asxCOMPANDER_INDEX {
00688     asxCOMPANDER_INDEX_NOISEGATE=0, 
00689     asxCOMPANDER_INDEX_COMPANDER=1  
00690 };
00691 
00693 enum asxHANDLE_TYPE {
00694     asxHANDLE_INVALID,  
00695     asxHANDLE_SYSTEM,   
00696     asxHANDLE_ADAPTER,  
00697     asxHANDLE_MIXER,    
00698     asxHANDLE_NODE,     
00699     asxHANDLE_CONTROL,  
00700     asxHANDLE_LAST      
00701     };
00702 
00704 enum asxUCONTROL_PTYPE {
00705     asxPARAM_TYPE_NONE       = 0,
00706     asxPARAM_TYPE_INTEGER    = 3,
00707     asxPARAM_TYPE_FLOAT      = 4,
00708     asxPARAM_TYPE_DOUBLE     = 5,
00709     asxPARAM_TYPE_STRING     = 6,
00710     //asxPARAM_TYPE_ENUMERATED = 7
00711     asxPARAM_TYPE_IP4_ADDRESS= 8,
00712     asxPARAM_TYPE_IP6_ADDRESS= 9,
00713     asxPARAM_TYPE_MAC_ADDRESS= 10,
00714     asxPARAM_TYPE_BOOLEAN= 11
00715 };
00716 
00718 enum asxUCONTROL_RTYPE {
00719     asxPARAM_RANGE_NONE         = 0,
00720     asxPARAM_RANGE_STEPPED_INTEGER      = 1,
00721     asxPARAM_RANGE_STEPPED_FLOAT        = 2,
00722     asxPARAM_RANGE_ENUMERATED_INTEGER   = 3,
00723     asxPARAM_RANGE_ENUMERATED_FLOAT     = 4,
00724     asxPARAM_RANGE_ENUMERATED       = 5,
00725     asxPARAM_RANGE_STRING_LENGTH        = 6,
00726     asxPARAM_RANGE_NUMBER_OF_BITS       = 7
00727 };
00728 
00730 enum asxUCONTROL_PFLAGS {
00731     asxPARAM_FLAG_WRITEABLE   = 1, 
00732     asxPARAM_FLAG_READABLE    = 2, 
00733     asxPARAM_FLAG_VOLATILE    = 4 
00734 };
00735 
00737 enum asxCOBRANET_IFSTATUS {
00738     asxCOBRANET_IFSTATUS_LINK_ESTABLISHED=0x01, 
00739     asxCOBRANET_IFSTATUS_FULL_DUPLEX=0x02,      
00740     asxCOBRANET_IFSTATUS_ACTIVE_CONNECTION=0x04 
00741 };
00742 
00743 /**************************
00744  * Typedefs
00745  **************************/
00746 
00747 typedef void *ASX_HANDLE;       
00748 typedef enum asxERROR ASX_ERROR;    
00749 typedef enum asxNODE ASX_NODE;      
00750 typedef int ASX_TIME;           
00751 
00752 typedef void ASX_ERROR_CALLBACK(
00753         ASX_HANDLE hASX_Object,
00754         const char *pszCallingFunction,
00755         void *pUser1,
00756         void *pUser2);
00758 typedef void ASX_PLAYER_CALLBACK(
00759         ASX_HANDLE hASX_Player_Object,
00760         const enum asxPLAYER_FLAGS flags,
00761         void *pUser1);
00762 
00763 
00764 struct asxParameterRangeInfo_NamedEnumerated {
00765         int value;
00766         char name[ASX_SHORT_STRING];
00767 };
00768 
00769 struct asxParameterRangeInfo {
00770     enum asxUCONTROL_RTYPE type;
00771     union {
00772         struct {
00773             int min;
00774             int max;
00775             int step;
00776         } integer;
00777         struct {
00778             unsigned int count;
00779             int *value;
00780         } enumerated_integer;
00781         struct {
00782             unsigned int count;
00783             float *value;
00784         } enumerated_float;
00785         struct {
00786             unsigned int count;
00787             struct asxParameterRangeInfo_NamedEnumerated *enums;
00788         } enumerated;
00789         struct {
00790             float fmin;
00791             float fmax;
00792             float fstep;
00793         } floating;
00794         struct {
00795             unsigned int max_len;
00796         } string;
00797     } u;
00798 };
00799 
00800 struct asxParameterValue {
00801     enum asxUCONTROL_PTYPE eType;
00802     unsigned int uItems;
00803     size_t size;
00804     void *value;
00805 };
00806 
00807 struct asxCobranetIpAutoassignParameters {
00808     char addr_start[20];
00809     char addr_end[20];
00810     int autoassign;
00811 };
00812 
00813 
00814 #ifndef ASX_H_DEFS_ONLY
00815 /**************************************************************************************
00816  * Functions
00817  **************************************************************************************/
00818 
00819 /*******************************************************************/
00831 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType);
00832 
00842 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem );
00843 
00852 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem );
00853 
00860 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface );
00861 
00871 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem );
00872 
00886 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback(   ASX_HANDLE hSystem,
00887                             ASX_ERROR_CALLBACK *pCallback,
00888                             void *pUser1,
00889                             void *pUser2);
00890 
00909 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem,
00910                     char *pszName,
00911                     const int nStringLength,
00912                     int *pnRequiredLength );
00926 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem,
00927                       char *pszSystemVersion,
00928                       const int nSystemVersionLength,
00929                       int *pnRequiredSystemVersionLength,
00930                       char *pszSubSystemVersion,
00931                       const int nSubSystemVersionLength,
00932                       int *pnRequiredSubSystemVersionLength);
00939 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount );
00947 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter );
00954 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog);
00961 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog);
00969 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms( const struct asxCobranetIpAutoassignParameters *pCAP );
00975 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms( struct asxCobranetIpAutoassignParameters *pCAP );
00976  // end of System group
00978 
00979 
00980 /*******************************************************************
00981  * Handle functions
00982  */
00992 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle); // end of Handle group
00994 
00995 /*******************************************************************
00996  * Error functions
00997  */
01011 ASX32_API ASX_ERROR ASX_Error_GetLast(
01012                             ASX_HANDLE hASXObject,
01013                             ASX_ERROR *pnAsxErrorCode,
01014                             int *pnAsxSubSystemErrorCode);
01015 
01031 ASX32_API ASX_ERROR ASX_Error_GetLastString(
01032                             ASX_HANDLE hASXObject,
01033                             char *pszAsxErrorString,
01034                             const int nAsxErrorStringLength,
01035                             int *pnRequiredAsxErrorStringLength,
01036                             char *pszAsxSubSystemErrorString,
01037                             const int nAsxSubSystemErrorStringLength,
01038                             int *pnRequiredAsxSubSystemErrorStringLength);
01039 
01040 
01046 ASX32_API ASX_ERROR ASX_Error_Clear(
01047                             ASX_HANDLE hASXObject);
01048  // end of Error group
01050 
01055 /*******************************************************************
01056  * Adapter functions
01057  */
01073 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems(
01074         ASX_HANDLE hAdapter,
01075         unsigned int *pnSubSystemMask,
01076         unsigned int *pnSubSystemOkMask);
01077 
01078 
01107 ASX32_API ASX_ERROR ASX_Adapter_GetName(
01108                             ASX_HANDLE hAdapter,
01109                             char *pszName,
01110                             const int nStringLength,
01111                             int *RequiredLength );
01112 
01129 ASX32_API ASX_ERROR ASX_Adapter_GetIndex(
01130                             ASX_HANDLE hAdapter,
01131                             int *pnIndex );
01140 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber(
01141                             ASX_HANDLE hAdapter,
01142                             unsigned long *pdwSerialNumber );
01143 
01155  ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision(
01156                             ASX_HANDLE hAdapter,
01157                             char *pszRevision);
01158 
01168  ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision(
01169                             ASX_HANDLE hAdapter,
01170                             char *pszRevision);
01171 
01181  ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress(
01182                             ASX_HANDLE hAdapter,
01183                             char *pszMAC);
01184 
01194  ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress(
01195                             ASX_HANDLE hAdapter,
01196                             char *pszIP);
01197 
01208 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization(
01209                             ASX_HANDLE hAdapter,
01210                             const int nDspIndex,
01211                             int *pnDspUtilization);
01212 
01220 ASX32_API ASX_ERROR ASX_Adapter_GetMixer(
01221                             ASX_HANDLE hAdapter,
01222                             ASX_HANDLE *p_hMixer );
01223 
01224 
01233 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount);
01240 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode);
01247 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode);
01257 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting);
01273 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2);
01282 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2);
01290 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue);
01298 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue);
01305 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount);
01306 
01307  // end of Adapter group
01309 
01314 /*******************************************************************
01315  * Mixer functions
01316  */
01335 ASX32_API ASX_ERROR ASX_Mixer_ResetControls(
01336                     ASX_HANDLE hMixer);
01337 
01344 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount(
01345                     ASX_HANDLE hMixer,
01346                     int *pnCount);
01347 
01356 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode(
01357                     ASX_HANDLE hMixer,
01358                     const int nSourceNode,
01359                     ASX_HANDLE *p_hNode );
01360 
01361 
01368 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount(
01369                     ASX_HANDLE hMixer,
01370                     int *pnCount);
01371 
01380 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode(
01381                     ASX_HANDLE hMixer,
01382                     const int nDestinationNode,
01383                     ASX_HANDLE *p_hNode );
01384 
01395 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType(
01396                     ASX_HANDLE hMixer,
01397                     const enum asxNODE eType,
01398                     const int nIndex,
01399                     ASX_HANDLE *p_hNode);
01400 
01410 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount(
01411                     ASX_HANDLE hMixer,
01412                     const enum asxNODE eType,
01413                     int *pnCount);
01414 
01415 
01416 
01423 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount(
01424                     ASX_HANDLE hMixer,
01425                     int *pnControls);
01426 
01434 ASX32_API ASX_ERROR ASX_Mixer_GetControl(
01435                     ASX_HANDLE hMixer,
01436                     const int nControl,
01437                     ASX_HANDLE *p_hControlBase );
01438 
01450 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode(
01451                     const ASX_HANDLE hMixer,
01452                     const ASX_HANDLE hSourceNode,
01453                     const ASX_HANDLE hDestinationNode,
01454                     const enum asxCONTROL eControlType,
01455                     ASX_HANDLE *p_hControlBase );
01456 
01470 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex(
01471                     ASX_HANDLE hMixer,
01472                     const enum asxNODE nSourceNodeType,
01473                     const int nSourceIndex,
01474                     const enum asxNODE nDestinationNodeType,
01475                     const int nDestinationIndex,
01476                     const enum asxCONTROL eControlType,
01477                     ASX_HANDLE *p_hControlBase );
01478 
01492 ASX32_API ASX_ERROR ASX_Mixer_GetBlockControlByNodeTypeAndIndex(
01493                 ASX_HANDLE hMixer,
01494                 const enum asxNODE nSourceNodeType,
01495                 const int nSourceIndex,
01496                 const enum asxNODE nDestinationNodeType,
01497                 const int nDestinationIndex,
01498                 const char *pszBlockName,
01499                 ASX_HANDLE *p_hControlBase );
01500  // end of Mixer group
01502 
01503 /*******************************************************************
01504  * Node functions
01505  */
01521 ASX32_API ASX_ERROR ASX_Node_GetType(
01522                     ASX_HANDLE hNode,
01523                     enum asxNODE *peType);
01524 
01533 ASX32_API ASX_ERROR ASX_Node_GetIndex(
01534                     ASX_HANDLE hNode,
01535                     int *pnIndex);
01536 
01548 ASX32_API ASX_ERROR ASX_Node_GetLocation(
01549                     ASX_HANDLE hNode,
01550                     int *pnModuleSlot,
01551                     int *pnNodeIndexOnSlot,
01552                     char *pszModuleName,
01553                     const int nStringLength);
01554 
01561 ASX32_API ASX_ERROR ASX_Node_GetSubSystem(
01562                     ASX_HANDLE hNode,
01563                     int *p_nSubSystem);
01564 
01572 ASX32_API ASX_ERROR ASX_Node_GetName(
01573             ASX_HANDLE hNode,
01574             char *pszNodeName,
01575             const int nStringLength
01576             );
01577 
01581 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType(
01582                     ASX_HANDLE hNode,
01583                     enum asxNODE *peType);
01584 
01588 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex(
01589                     ASX_HANDLE hNode,
01590                     int *pnIndex);
01591  // end of Node group
01593 
01598 /******************************************************************
01599  * Control functions
01600  */
01614 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl);
01621 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01628 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01644 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl );
01651 ASX32_API ASX_ERROR ASX_Control_GetSubSystem(
01652                     ASX_HANDLE hControl,
01653                     int *p_nSubSystem);
01654 
01655 
01656 /*
01657 enum asxCONTROL_PROPERTY {
01658     asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY,
01659     asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION,
01660     asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION
01661 };
01662 
01663 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 );
01664 */
01665  // end of Control group
01667 
01668 #if (DISABLE_PLAYREC_CONTROLS!=1)
01669 /*******************************************************************
01670  * Player Control
01671  */
01762 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile);
01769 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat);
01779 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer,
01780                             enum asxAUDIO_FORMAT *peFormat,
01781                             int *pnChannnels,
01782                             int *pnSampleRate,
01783                             int *pnBitRate);
01797 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01803 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer);
01810 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer);
01817 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer);
01824 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer);
01830 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer);
01842 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition);
01850 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01857 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState);
01867 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale);
01876 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale);
01886 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength );
01894 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping );
01902 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping );
01913 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist(
01914     ASX_HANDLE hPlayer,
01915     const char **pszFileList,
01916     const unsigned int nFiles);
01937 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus(
01938     ASX_HANDLE hPlayer,
01939     unsigned int *nTotalFileCount,
01940     int *nCurrentFile,
01941     char **szCurrentFilename,
01942     unsigned int *nTotalTime_ms,
01943     unsigned int *nCurrentTime_ms
01944 );
01954 ASX32_API ASX_ERROR ASX_Player_RegisterCallback(
01955     ASX_HANDLE hPlayer,
01956     ASX_PLAYER_CALLBACK *pCallback,
01957     const enum asxPLAYER_FLAGS flags,
01958     void *pUser1);
01965 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer);
01966  // end of Player group
01968 
02015 /******************************************************************
02016  * Recorder Control
02017  */
02097 ASX32_API ASX_ERROR ASX_Recorder_Open(
02098     ASX_HANDLE hRecorder, const char *pszFile,
02099     const enum asxFILE_FORMAT nFileType,
02100     const enum asxFILE_MODE nFileMode,
02101     const int nChannels,
02102     const enum asxAUDIO_FORMAT nFormat,
02103     const long lSampleRate,
02104     const long lBitrate,
02105     const enum asxRECORD_MODE nMode
02106     );
02112 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder );
02118 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder);
02124 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder);
02130 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder);
02138 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition);
02145 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState);
02155 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength );
02164 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group
02166 
02217 #endif
02218 /*******************************************************************
02219  * Meter Control
02220  */
02231 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels);
02232 
02252 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels);
02266 ASX32_API ASX_ERROR ASX_Meter_GetRMS(  ASX_HANDLE hMeter, float *fdB, const int nChannels);
02359 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs);
02360 
02368  ASX32_API ASX_ERROR ASX_Meter_GetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, float *fAttackTimeMs, float *fDecayTimeMs); // end of Meter group
02370 
02375 /********************************************************************
02376  * Volume Control
02377  */
02388 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels);
02395 ASX32_API ASX_ERROR ASX_Volume_SetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02402 ASX32_API ASX_ERROR ASX_Volume_GetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02410 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels);
02418 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels);
02427 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume,
02428                              float *fMinGain,
02429                              float *fMaxGain,
02430                              float *fGainStep);
02443 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
02445 
02446 /*******************************************************************
02447  * Level Control
02448  */
02460 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain);
02467 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain);
02476 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel,
02477                              float *fMinGain,
02478                              float *fMaxGain,
02479                              float *fGainStep);
02480  // end of Level group
02482 
02483 /*******************************************************************
02484  * Multiplexer Control
02485  */
02503 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount);
02511 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex);
02519 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group
02524 /******************************************************************
02525  * Channel Mode Control
02526  */
02540 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount);
02547 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode);
02554 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group
02556 
02557 /******************************************************************
02558  * Tuner Control
02559  */
02572 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount);
02579 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand);
02586 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand);
02596 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq);
02605 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq);
02606 
02616 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner,
02617             const enum asxTUNERBAND eBand,
02618             unsigned long *plMin, unsigned long *plMax,
02619             unsigned long *plStep);
02620 
02630 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep);
02637 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain);
02644 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain);
02651 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel);
02658 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel);
02668 ASX32_API ASX_ERROR ASX_Tuner_GetStatus(
02669             ASX_HANDLE hTuner,
02670             unsigned int *puErrorStatusMask,
02671             unsigned int *puErrorStatus);
02680 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner,
02681             const enum asxTUNERMODE eMode,
02682             enum asxTUNERMODE *peSetting);
02683 
02692 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner,
02693             const enum asxTUNERMODE eMode,
02694             const enum asxTUNERMODE eSetting);
02695 
02704 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner,
02705             const int nIndex,
02706             enum asxTUNERDEEMPHASIS *peDeemphasis,
02707             int *pnCount);
02708 
02715 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner,
02716             const enum asxTUNERDEEMPHASIS eDeemphasis
02717             );
02718 
02725 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner,
02726             enum asxTUNERDEEMPHASIS *peDeemphasis
02727             );
02728 
02737 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner,
02738             const int nIndex,
02739             enum asxTUNERPROGRAM *peProgram,
02740             int *pnCount);
02741 
02748 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner,
02749             const enum asxTUNERPROGRAM eProgram
02750             );
02751 
02758 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner,
02759             enum asxTUNERPROGRAM *peProgram
02760             );
02761 
02768 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality(
02769     ASX_HANDLE hTuner,
02770     int *pnSignalQuality
02771 );
02772 
02773 /*
02774  * Get a Tuner property of type integer
02775  * @param hTuner A handle to an ASX tuner control.
02776  * @param nTunerProperty - tuner property.  One of #asxTUNER_PROPERTY_INT
02777  * @param nPropertyValue - the returned property
02778  * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned.
02779  */
02780 /*
02781 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner,
02782                 const enum asxTUNER_PROPERTY_INT eTunerProperty,
02783             int *pnPropertyValue
02784             );
02785 */
02786 
02794 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner,
02795             char *szSdkVersion,
02796             const int nStringLength
02797             );
02805 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner,
02806             char *szSdkVersion,
02807             const int nStringLength
02808             );
02809 
02818 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner,
02819             const int nIndex,
02820             enum asxTUNERHDBLEND *peBlend,
02821             int *pnCount);
02822 
02829 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner,
02830             const enum asxTUNERHDBLEND  nMode
02831             );
02832 
02839 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner,
02840             enum asxTUNERHDBLEND *pnMode
02841             );
02842  // end of Tuner group
02849 /******************************************************************
02850  * PAD Control
02851  */
02865 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD,
02866             char *pszChannelName,
02867             const int nStringLength
02868             );
02869 
02878 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD,
02879             char *pszArtist,
02880             const int nStringLength
02881             );
02882 
02891 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD,
02892             char *pszTitle,
02893             const int nStringLength
02894             );
02895 
02904 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD,
02905             char *pszComment,
02906             const int nStringLength
02907             );
02908 
02916 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD,
02917             int *pnProgramType
02918             );
02929 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD,
02930             const enum asxTUNER_RDS_TYPE eType,
02931             const int nPTY,
02932             char *pszString,
02933             const int nStringLength
02934             );
02935 
02944 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD,
02945             int *uPI
02946             );
02947 
02948  // end of pads group
02950 
02951 
02952 /******************************************************************
02953  * Sample Clock Control
02954  */
02962 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
02963 
02972 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
02973 
02976 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate);
02977 
02984 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate);
02985 
02992 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
02999 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
03008 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount);
03015 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource);
03022 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource);
03029 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable);
03036 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable);
03046 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock);
03053 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group
03055 
03056 /******************************************************************
03057  * AESEBU Receiver Control
03058  **/
03071 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx,
03072                                                       unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus );
03079 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx,
03080                                                      unsigned int *pdwSampleRate );
03089 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03090 
03097 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx,
03098                                                  const enum asxAESEBU_FORMAT eAesebuFormat );
03105 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx,
03106                                                  enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group
03108 
03109 /******************************************************************
03110  * AESEBU Transmitter Control
03111  **/
03124 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03131 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat );
03138 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group
03140 
03141 /******************************************************************
03142  * GPIO Control
03143  */
03158 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits);
03170 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits);
03180 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits);
03189 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group
03191 
03192 /********************************************************************
03193  * Vox Control
03194  */
03205 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel);
03212 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel);
03221 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox,
03222                              float *fMinLevel,
03223                              float *fMaxLevel,
03224                              float *fLevelStep); // end of Vox group
03226 
03227 /********************************************************************
03228  * Generic Control
03229  */
03240 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group
03242 
03243 /******************************************************************
03244  * Microphone Control
03245  */
03256 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff);
03263 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group
03265 
03266 /******************************************************************
03267  * Parametric EQ control
03268  */
03280 ASX32_API ASX_ERROR ASX_EQ_GetInfo(
03281         ASX_HANDLE hParmEq,
03282         unsigned short  *pwNumberOfBands,
03283         unsigned short  *pwEnabled
03284         );
03291 ASX32_API ASX_ERROR ASX_EQ_SetState(
03292         ASX_HANDLE hParmEq,
03293         const unsigned short    wOnOff
03294         );
03308 ASX32_API ASX_ERROR ASX_EQ_SetBand(
03309         ASX_HANDLE hParmEq,
03310         const unsigned short        wIndex,
03311         const enum asxEQBANDTYPE    eType,
03312         const unsigned long     dwFrequencyHz,
03313         const short             nQ100,
03314         const short             nGain0_01dB
03315         );
03316 
03330 ASX32_API ASX_ERROR ASX_EQ_GetBand(
03331         ASX_HANDLE hParmEq,
03332         const unsigned short        wIndex,
03333         enum asxEQBANDTYPE  *peType,
03334         unsigned long       *pdwFrequencyHz,
03335         short               *pnQ100,
03336         short               *pnGain0_01dB
03337         ); // end of Parametric Equalizer group
03339 
03340 /******************************************************************
03341  * Compander control
03342  */
03360 ASX32_API ASX_ERROR ASX_Compander_Set(
03361         ASX_HANDLE hCompander,
03362         const unsigned short  wAttack,
03363         const unsigned short  wDecay,
03364         const short           wRatio100,
03365         const short           nThreshold0_01dB,
03366         const short           nMakeupGain0_01dB
03367         );
03368 
03382 ASX32_API ASX_ERROR ASX_Compander_Get(
03383         ASX_HANDLE hCompander,
03384         unsigned short  *pwAttack,
03385         unsigned short  *pwDecay,
03386         short           *pwRatio100,
03387         short           *pnThreshold0_01dB,
03388         short           *pnMakeupGain0_01dB
03389         );
03396 ASX32_API ASX_ERROR ASX_Compander_SetEnable(
03397         ASX_HANDLE hCompander,
03398         const unsigned int nOn
03399 );
03406 ASX32_API ASX_ERROR ASX_Compander_GetEnable(
03407         ASX_HANDLE hCompander,
03408         unsigned int *nOn
03409 );
03416 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain(
03417         ASX_HANDLE hCompander,
03418         const float fMakeupGain
03419 );
03426 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain(
03427         ASX_HANDLE hCompander,
03428         float *fMakeupGain
03429 );
03437 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant(
03438         ASX_HANDLE hCompander,
03439         enum asxCOMPANDER_INDEX index,
03440         const unsigned int nAttack
03441 );
03449 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant(
03450         ASX_HANDLE hCompander,
03451         enum asxCOMPANDER_INDEX index,
03452         unsigned int *pnAttack
03453 );
03461 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant(
03462         ASX_HANDLE hCompander,
03463         enum asxCOMPANDER_INDEX index,
03464         const unsigned int nDecay
03465 );
03473 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant(
03474         ASX_HANDLE hCompander,
03475         enum asxCOMPANDER_INDEX index,
03476         unsigned int *pnDecay
03477 );
03485 ASX32_API ASX_ERROR ASX_Compander_SetThreshold(
03486         ASX_HANDLE hCompander,
03487         enum asxCOMPANDER_INDEX index,
03488         const float nThreshold
03489 );
03497 ASX32_API ASX_ERROR ASX_Compander_GetThreshold(
03498         ASX_HANDLE hCompander,
03499         enum asxCOMPANDER_INDEX index,
03500         float *pnThreshold
03501 );
03509 ASX32_API ASX_ERROR ASX_Compander_SetRatio(
03510         ASX_HANDLE hCompander,
03511         enum asxCOMPANDER_INDEX index,
03512         const float fRatio
03513 );
03521 ASX32_API ASX_ERROR ASX_Compander_GetRatio(
03522         ASX_HANDLE hCompander,
03523         enum asxCOMPANDER_INDEX index,
03524         float  *fRatio
03525 );
03526  // end of Compander group
03528 
03533 /******************************************************************
03534  * Cobranet control
03535  */
03545 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount);
03549 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode);
03553 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode);
03560 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03567 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03575 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03583 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03591 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03599 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength );
03607 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength );
03615 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString);
03623 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength );
03631 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString);
03639 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision);
03648 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay);
03656 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate);
03664 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate);
03674 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting);
03684 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting);
03692 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority);
03700 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority);
03708 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState);
03715 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff);
03722 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff);
03735 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig(
03736     ASX_HANDLE hCobranet,
03737     const unsigned int nBaud,
03738     const unsigned int nPPeriod,
03739     const char pRxMAC[6],
03740     const int nAcceptUnicast,
03741     const char pTxMAC[6]);
03753 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig(
03754     ASX_HANDLE hCobranet,
03755     unsigned int *pnBaud,
03756     unsigned int *pnPPeriod,
03757     char pRxMAC[6],
03758     int *pnAcceptUnicast,
03759     char pTxMAC[6]);
03768 ASX32_API ASX_ERROR ASX_Cobranet_GetIfStatus(
03769     ASX_HANDLE hCobranet,
03770     unsigned int *pnCurrentIf,
03771     unsigned int *pnPrimaryLinkStatus,
03772     unsigned int *pnSecondaryLinkStatus); // end of Cobranet group
03774 /******************************************************************
03775  * Cobranet transmitter control
03776  */
03789 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers);
03796 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle);
03803 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle);
03810 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount);
03817 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount);
03824 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]);
03831 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]);
03838 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat);
03847 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat);
03855 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast);
03886 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast);
03887  // end of Cobranet Tx group
03889 
03890 /******************************************************************
03891  * Cobranet receiver control
03892  */
03937 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]);
03944 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle);
03951 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle);
03959 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03967 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs);
03974 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]);
03981 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]);
03988 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay);
04001 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group
04003 
04004 /******************************************************************
04005  * Tone Detector control
04006  */
04022 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04029 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04036 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04043 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04048 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold);
04054 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold);
04060 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState);
04066 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group
04068 
04069 /******************************************************************
04070  * Silence Detector control
04071  */
04082 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04089 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04096 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04103 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04104 
04110 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay(
04111     ASX_HANDLE hSilenceDetector,
04112     const unsigned int Delay
04113 );
04119 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay(
04120     ASX_HANDLE hSilenceDetector,
04121     unsigned int *Delay
04122 );
04127 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold);
04132 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold);
04138 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group
04140 /******************************************************************
04141  * Block control
04142  */
04158 ASX32_API ASX_ERROR ASX_Block_GetInfo(
04159         ASX_HANDLE hBlock,
04160         char *szBlockName,
04161         const unsigned int uStringLength,
04162         unsigned int *uParameterCount);
04163 
04173 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName(
04174         ASX_HANDLE hBlock,
04175         const unsigned int uParameterIndex,
04176         char *szParameterName,
04177         const unsigned int uStringLength);
04187 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits(
04188         ASX_HANDLE hBlock,
04189         const unsigned int uParameterIndex,
04190         char *szParameterUnits,
04191         const unsigned int uStringLength);
04199 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType(
04200         ASX_HANDLE hBlock,
04201         const unsigned int uParameterIndex,
04202         enum asxUCONTROL_PTYPE *eType);
04203 
04211 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags(
04212         ASX_HANDLE hBlock,
04213         const unsigned int uParameterIndex,
04214         enum asxUCONTROL_PFLAGS *eFlags);
04215 
04223 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount(
04224         ASX_HANDLE hBlock,
04225         const unsigned int uParameterIndex,
04226         unsigned int *uCount);
04227 
04235 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange(
04236         ASX_HANDLE hBlock,
04237         const unsigned int uParameterIndex,
04238         struct asxParameterRangeInfo *info);
04239 
04250 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName(
04251         ASX_HANDLE hBlock,
04252         const unsigned int uParameterIndex,
04253         const unsigned int uEnumItem,
04254         char *szEnumName,
04255         const unsigned int uStringLength);
04256 
04264 ASX32_API ASX_ERROR ASX_Block_Parameter_Set(
04265         ASX_HANDLE hBlock,
04266         const unsigned int uParameterIndex,
04267         struct asxParameterValue *data);
04268 
04276 ASX32_API ASX_ERROR ASX_Block_Parameter_Get(
04277         ASX_HANDLE hBlock,
04278         const unsigned int uParameterIndex,
04279         struct asxParameterValue *data);
04280 
04281 /* for the future
04282 ASX32_API ASX_ERROR ASX_ParameterValue_Init(
04283         struct asxParameterValue *data,
04284         enum asxUCONTROL_PTYPE *eType,
04285         const unsigned int uElementCount,
04286         void *data2);
04287 */
04288  // end of block group
04290 
04291 #endif /* ASX_H_DEFS_ONLY */
04292 #ifdef __cplusplus
04293 }
04294 #endif
04295 #endif  /* _ASX_H_ */
04296 
04297 /***********************************************************
04298 *
04299 ***********************************************************/