ASX Version4.10.32

asx.h

Go to the documentation of this file.
00001 /*****************************************************************************************
00002 * $Header: /home/eliot/asi/repo/cvsrepo/Repository/apps/asx/asx.h,v 1.690 2011/11/15 15:49:28 as-tfe 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().
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_COUNT 11    ///< Indicates the number of subsystems defined.
00210  // end of SubSystemTypes group
00211 
00212 #define ASX_SHORT_STRING 32     ///< Short string size for adapter, node, control, enum translations.
00213 #define ASX_LONG_STRING 128         ///< Long string size for error strings, filenames and PADs strings.
00214 #define ASX_LONGLONG_STRING 256     ///< LongLong string size for PADs comment string.
00215 
00216 #ifdef HPI_OS_WIN32_USER
00217 #include <crtdbg.h>
00218 #endif
00219 
00220 #ifndef _RPT0
00221 #define _RPT0(l,s) printf(s)        ///< A debug helper function, 0 arguments.
00222 #define _RPT1(l,s,d1) printf(s,d1)  ///< A debug helper function, 1 argument.
00223 #endif
00224 
00225 /**************************
00226  * Enums
00227  **************************/
00228 
00230 enum asxERROR {
00231     asxERROR_NO_ERROR=0,            
00232     // leave a gap here so that any 8-bit bit enums will never map to error codes.
00233     asxERROR_ASXOBJECT=256,         
00234     asxERROR_INDEX_OUT_OF_RANGE=257,    
00235     asxERROR_UNIMPLEMENTED=258,     
00236     asxERROR_COMMUNICATING_WITH_DEVICE=259, 
00237     asxERROR_STARTING_DEVICE=260,       
00238     asxERROR_NOT_OPEN=261,          
00239     asxERROR_ALREADY_OPEN=262,      
00240     asxERROR_INVALID_FORMAT=263,        
00241     asxERROR_INTERNAL_BUFFERING_ERROR=264,  
00242     asxERROR_AES18=265,         
00243     asxERROR_INVALID_OPERATION=266,     
00244     asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267,
00245     asxERROR_BUFFER_TOO_SMALL=268,      
00246     asxERROR_OUTOFMEMORY=269,       
00247     asxERROR_DEPRECATED=270,        
00248     asxERROR_TOO_MANY_CLIENTS=271,      
00249 
00250     asxERROR_COBRANET_NODE_NOT_FOUND=272,   
00251     asxERROR_COBRANET_NODE_FOUND=273,   
00252     asxERROR_NO_IP_ADDRESSES_AVAILABLE=274, 
00253     asxERROR_IP_ASSIGNED=275,       
00254     asxERROR_IP_CHANGED=276,        
00255     asxERROR_IP_AUTOASSIGN_DISABLED=277,    
00256     asxERROR_PCAP_ERROR=278,        
00257     asxERROR_DISCO_DLL_NOT_FOUND=279,   
00258     asxERROR_HOST_NOT_FOUND=280,        
00259     asxERROR_COBRANET_NODE_UNREACHABLE=281, 
00260 
00261     asxERROR_INVALID_CONTROL=304,           
00262     asxERROR_INVALID_CONTROL_VALUE=305,     
00263     asxERROR_INVALID_CONTROL_NOT_FOUND=306,     
00264     asxERROR_INVALID_NUMBER_OF_CHANNELS=307,    
00265     asxERROR_INVALID_CONTROL_ATTRIBUTE=308,     
00266     asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309,     
00267     asxERROR_INVALID_CONTROL_OPERATION=310,     
00268     asxERROR_CONTROL_NOT_READY=311,         
00269 
00270     asxERROR_FILE_OPEN_FAILED=336,          
00271 
00272     asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 
00273     asxERROR_PLAYER_TIME_OUT=385,           
00274     asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386,   
00275     asxERROR_PLAYER_TWAV=387,           
00276     asxERROR_PLAYER_NOFILE=388,         
00277     asxERROR_PLAYER_INVALIDFILEFORMAT=389,      
00278     asxERROR_PLAYER_UNSUPPORTEDFORMAT=390,      
00279     asxERROR_PLAYER_FILEREADERROR=391,      
00280     asxERROR_PLAYER_FILEOPENERROR=392,      
00281 
00282     asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448,   
00283     asxERROR_RECORDER_TIME_OUT=449,         
00284     asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 
00285     asxERROR_RECORDER_TWAV=451,         
00286     asxERROR_RECORDER_FILECREATEERROR=452,      
00287     asxERROR_RECORDER_FILEWRITEERROR=453,       
00288     asxERROR_RECORDER_FORMATMISMATCH=454,       
00289     asxERROR_RECORDER_INVALIDFILENAME=455,      
00290 
00291     asxERROR_MIXER_SAVECONTROLSTATE=460,        
00292 
00293     asxERROR_UNKNOWN=4095               
00294 };
00295 
00297 enum asxNODE {
00298     asxNODE_NONE=0,         
00299     asxNODE_INVALID=400,        
00300 
00301     asxNODE_ADAPTER=401,        
00302     asxNODE_PLAYER=402,     
00303     asxNODE_LINE_IN=403,        
00304     asxNODE_AESEBU_IN=404,      
00305     asxNODE_TUNER_IN=405,       
00306     asxNODE_RADIO_FREQ_IN=406,  
00307     asxNODE_CLOCK_SOURCE_IN=407,    
00308     asxNODE_BITSTREAM_IN=408,   
00309     asxNODE_MICROPHONE_IN=409,  
00310     asxNODE_COBRANET_IN=410,    
00311     asxNODE_COBRANET_RECEIVER=411,  
00312     asxNODE_ANALOG_IN=412,      
00313     asxNODE_SDI_IN=413,     
00314     asxNODE_RTP_DESTINATION_IN=414, 
00315     asxNODE_INTERNAL_IN=416,    
00316 
00317     asxNODE_LAST_SOURCE_NODE=417,   
00318 
00319     asxNODE_FIRST_DEST_NODE=450,    
00320     asxNODE_RECORDER=450,       
00321     asxNODE_LINE_OUT=451,       
00322     asxNODE_AESEBU_OUT=452,     
00323     asxNODE_RADIO_FREQ_OUT=453, 
00324     asxNODE_SPEAKER_OUT=454,    
00325     asxNODE_COBRANET_OUT=455,   
00326     asxNODE_COBRANET_TRANSMITTER=456,
00327     asxNODE_ANALOG_OUT=457,     
00328     asxNODE_SDI_OUT=458,        
00329     asxNODE_RTP_SOURCE_OUT=459, 
00330 
00331     asxNODE_LAST_DEST_NODE=460  
00332 };
00333 
00335 enum asxCONTROL {
00336     asxCONTROL_INVALID=500,         
00337 
00338     asxCONTROL_CONNECTION=501,      
00339     asxCONTROL_VOLUME=502,          
00340     asxCONTROL_METER=503,           
00341     asxCONTROL_MUTE=504,            
00342     asxCONTROL_MULTIPLEXER=505,     
00343     asxCONTROL_AESEBU_TRANSMITTER=506,  
00344     asxCONTROL_AESEBU_RECEIVER=507,     
00345     asxCONTROL_LEVEL=508,           
00346     asxCONTROL_TUNER=509,           
00347     asxCONTROL_RDS=510,         
00348     asxCONTROL_VOX=511,         
00349     asxCONTROL_AES18_TRANSMITTER=512,   
00350     asxCONTROL_AES18_RECEIVER=513,      
00351     asxCONTROL_AES18_BLOCK_GENERATOR=514,   
00352     asxCONTROL_CHANNEL_MODE=515,        
00353     asxCONTROL_BIT_STREAM=516,      
00354     asxCONTROL_SAMPLE_CLOCK=517,        
00355     asxCONTROL_MICROPHONE=518,      
00356     asxCONTROL_PARAMETRIC_EQ=519,       
00357     asxCONTROL_COMPANDER=520,       
00358     asxCONTROL_COBRANET=521,        
00359     asxCONTROL_PLAYER=522,          
00360     asxCONTROL_RECORDER=523,        
00361     asxCONTROL_GPIO=524,            
00362     asxCONTROL_RESERVED_525=525,        
00363     asxCONTROL_RESERVED_526=526,        
00364     asxCONTROL_RESERVED_527=527,        
00365     asxCONTROL_RESERVED_528=528,        
00366     asxCONTROL_GENERIC=529,         
00367     asxCONTROL_TONEDETECTOR=530,        
00368     asxCONTROL_SILENCEDETECTOR=531,     
00369     asxCONTROL_COBRANET_TRANSMITTER=532,    
00370     asxCONTROL_COBRANET_RECEIVER=533,   
00371     asxCONTROL_PAD=534,         
00372     asxCONTROL_SRC=535,         
00373     asxCONTROL_BLOCK=536,           
00374 
00375     asxCONTROL_LAST_CONTROL=537
00376 };
00377 
00378 /****************************************
00379  * Various control enums
00380 *****************************************/
00381 
00383 enum asxVOLUME_AUTOFADE {
00384     asxVOLUME_AUTOFADE_LOG,     
00385     asxVOLUME_AUTOFADE_LINEAR   
00386 };
00387 
00389 enum asxMETER_TYPE {
00390     asxMETER_PEAK,  
00391     asxMETER_RMS    
00392 };
00393 
00395 enum asxCHANNELMODE {
00396     asxCHANNELMODE_ILLEGAL=1000,        
00397     asxCHANNELMODE_NORMAL=1001,     
00398     asxCHANNELMODE_SWAP=1002,       
00399     asxCHANNELMODE_STEREOTOLEFT=1003,   
00400     asxCHANNELMODE_STEREOTORIGHT=1004,  
00401     asxCHANNELMODE_LEFTTOSTEREO=1005,   
00402     asxCHANNELMODE_RIGHTTOSTEREO=1006   
00403 };
00405 enum asxADAPTERMODE {
00406     asxADAPTERMODE_ILLEGAL=1100,        
00407     asxADAPTERMODE_4_PLAY=1101,     
00408     asxADAPTERMODE_6_PLAY=1102,     
00409     asxADAPTERMODE_8_PLAY=1103,     
00410     asxADAPTERMODE_9_PLAY=1104,     
00411     asxADAPTERMODE_12_PLAY=1105,        
00412     asxADAPTERMODE_16_PLAY=1106,        
00413     asxADAPTERMODE_1_PLAY=1107,     
00414     asxADAPTERMODE_MODE_1=1108,     
00415     asxADAPTERMODE_MODE_2=1109,     
00416     asxADAPTERMODE_MODE_3=1110,     
00417     asxADAPTERMODE_MULTICHANNEL=1111,   
00418     asxADAPTERMODE_MONO=1112,       
00419     asxADAPTERMODE_LOW_LATENCY=1113     
00420 };
00422 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!!
00423 enum asxTUNERBAND {
00424     asxTUNERBAND_AM=1200,       
00425     asxTUNERBAND_FM=1201,       
00426     asxTUNERBAND_TV=1202,       
00427     asxTUNERBAND_FM_STEREO=1203,    
00428     asxTUNERBAND_AUX=1204,      
00429     asxTUNERBAND_TV_PAL_BG=1205,    
00430     asxTUNERBAND_TV_PAL_I=1206, 
00431     asxTUNERBAND_TV_PAL_DK=1207,    
00432     asxTUNERBAND_TV_SECAM_L=1208    
00433 };
00435 enum asxTUNERDEEMPHASIS {
00436     asxTUNERDEEMPHASIS_50=1240, 
00437     asxTUNERDEEMPHASIS_75=1241, 
00438     asxTUNERDEEMPHASIS_none=1242,   
00439 };
00441 enum asxTUNERMODE {
00442     asxTUNERMODE_RSS=1250,      
00443     asxTUNERMODE_RSS_ENABLE=1251,   
00444     asxTUNERMODE_RSS_DISABLE=1252   
00445 };
00447 enum asxTUNERPROGRAM {
00448     asxTUNERPROGRAM_none=1260,  
00449     asxTUNERPROGRAM_1=1261,     
00450     asxTUNERPROGRAM_2=1262,     
00451     asxTUNERPROGRAM_3=1263,     
00452     asxTUNERPROGRAM_4=1264,     
00453     asxTUNERPROGRAM_5=1265,     
00454     asxTUNERPROGRAM_6=1266,     
00455     asxTUNERPROGRAM_7=1267,     
00456     asxTUNERPROGRAM_8=1268,     
00457 };
00459 enum asxTUNERHDBLEND {
00460     asxTUNERHDBLEND_auto=1280,  
00461     asxTUNERHDBLEND_analog=1281,    
00462 };
00464 enum asxSAMPLE_CLOCK_SOURCE {
00465     asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400,    
00466     asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 
00467     asxSAMPLE_CLOCK_SOURCE_WORD=1402,   
00468     asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403,
00469     asxSAMPLE_CLOCK_SOURCE_SMPTE=1404,  
00470     asxSAMPLE_CLOCK_SOURCE_NETWORK=1405,    
00471     asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 
00472     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407,
00473     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408,
00474     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409,
00475     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410,
00476     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411,
00477     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412,
00478     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413,
00479     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414,
00480     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415,
00481     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416,
00482     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417,
00483     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418,
00484     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419,
00485     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420,
00486     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421,
00487     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422,
00488     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423,
00489     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424,
00490     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425,
00491     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426,
00492     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427,
00493     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428,
00494     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429,
00495     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430,
00496     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431,
00497     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432,
00498     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433,
00499     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434,
00500     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435,
00501     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436,
00502     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437,
00503     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438,
00504     asxSAMPLE_CLOCK_SOURCE_LOCAL=1439,        
00505     asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440,  
00506     asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441,  
00507     asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442    
00508 };
00509 
00511 enum asxAESEBU_FORMAT {
00512     asxAESEBU_FORMAT_AESEBU=1450,       
00513     asxAESEBU_FORMAT_SPDIF=1451,        
00514     asxAESEBU_FORMAT_UNDEFINED=1452     
00515 };
00517 enum asxEQBANDTYPE {
00518     asxEQBANDTYPE_BYPASS=1460,      
00519     asxEQBANDTYPE_LOWSHELF=1461,        
00520     asxEQBANDTYPE_HIGHSHELF=1462,       
00521     asxEQBANDTYPE_EQUALIZER=1463,       
00522     asxEQBANDTYPE_LOWPASS=1464,         
00523     asxEQBANDTYPE_HIGHPASS=1465,        
00524     asxEQBANDTYPE_BANDPASS=1466,        
00525     asxEQBANDTYPE_BANDSTOP=1467,        
00526 };
00528 enum asxCOBRANET_MODE {
00529     asxCOBRANET_MODE_NETWORK=1470,      
00530     asxCOBRANET_MODE_TETHERED=1471      
00531 };
00533 enum asxADPROPENUM_MODE {
00534     asxADPROPENUM_MODE_PROPERTIES=1480, 
00535     asxADPROPENUM_MODE_SETTINGS=1481    
00536 };
00538 enum asxADPROPENUM_SSX2 {
00539     asxADPROPENUM_SSX2_OFF=1488,        
00540     asxADPROPENUM_SSX2_ON=1489      
00541 };
00543 enum asxCOBRANET_LATENCY {
00544     asxCOBRANET_LATENCY_133ms=1490,     
00545     asxCOBRANET_LATENCY_266ms=1491,     
00546     asxCOBRANET_LATENCY_533ms=1492      
00547 };
00548 /****************************************
00549  * Various player and recorder enums
00550 *****************************************/
00551 
00553 enum asxFILE_FORMAT {
00554     asxFILE_FORMAT_WAV=10000,   
00555     asxFILE_FORMAT_RAW=10001    
00556 };
00558 enum asxFILE_MODE {
00559     asxFILE_MODE_CREATE=10100,  
00560     asxFILE_MODE_APPEND=10101   
00561 };
00563 enum asxAUDIO_FORMAT {
00564     asxAUDIO_FORMAT_PCM8=10200,     
00565     asxAUDIO_FORMAT_PCM16=10201,        
00566     asxAUDIO_FORMAT_PCM24=10202,        
00567     asxAUDIO_FORMAT_PCM32=10203,        
00568     asxAUDIO_FORMAT_PCM32_FLOAT=10204,  
00569     asxAUDIO_FORMAT_MPEG_L2=10205,      
00570     asxAUDIO_FORMAT_MPEG_L3=10206,      
00571     asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 
00572     asxAUDIO_FORMAT_DOLBY_AC2=10208,    
00573     asxAUDIO_FORMAT_PCM20=10209,        
00574     asxAUDIO_FORMAT_NONE=10210      
00575 };
00576 
00577 
00579 enum asxRECORD_MODE {
00580     asxRECORD_MODE_STEREO=10300,        
00581     asxRECORD_MODE_JOINT_STEREO=10301,  
00582     asxRECORD_MODE_DUAL_MONO=10302,     
00583     asxRECORD_MODE_MONO=10303,      
00584     asxRECORD_MODE_DONT_CARE=10304      
00585 };
00587 enum asxPLAYER_STATE{
00588     asxPLAYER_INIT=10400,           
00589     asxPLAYER_OPEN=10401,           
00590     asxPLAYER_PREFILL=10402,        
00591     asxPLAYER_RUNNING=10403,        
00592     asxPLAYER_PAUSED=10404,         
00593     asxPLAYER_DONE=10405,           
00594     asxPLAYER_DESTROY=10406         
00595 };
00597 enum asxRECORDER_STATE{
00598     asxRECORDER_INIT=10500,         
00599     asxRECORDER_OPEN=10501,         
00600     asxRECORDER_RUNNING=10502,      
00601     asxRECORDER_PAUSED=10503,       
00602     asxRECORDER_DONE=10504,         
00603     asxRECORDER_DESTROY=10505       
00604 };
00605 
00607 enum asxTIMESCALE {
00608     asxTIMESCALE_INVALID=10600,         
00609     asxTIMESCALE_BYTES=10601,           
00610     asxTIMESCALE_MILLISECONDS=10602,        
00611     asxTIMESCALE_SAMPLES=10603,         
00612     asxTIMESCALE_BYTES_REMAINING=10604,     
00613     asxTIMESCALE_MILLISECONDS_REMAINING=10605,  
00614     asxTIMESCALE_SAMPLES_REMAINING=10606        
00615 };
00616 
00618 enum asxSAMPLE_RATE {
00619     asxSAMPLE_RATE_8000=10700,
00620     asxSAMPLE_RATE_11025=10701,
00621     asxSAMPLE_RATE_16000=10702,
00622     asxSAMPLE_RATE_22050=10703,
00623     asxSAMPLE_RATE_24000=10704,
00624     asxSAMPLE_RATE_32000=10705,
00625     asxSAMPLE_RATE_44100=10706,
00626     asxSAMPLE_RATE_48000=10707,
00627     asxSAMPLE_RATE_64000=10708,
00628     asxSAMPLE_RATE_88200=10709,
00629     asxSAMPLE_RATE_96000=10710,
00630     asxSAMPLE_RATE_192000=10711,
00631     asxSAMPLE_RATE_12000=10712,
00632     asxSAMPLE_RATE_UNDEFINED=10799
00633 };
00634 
00636 enum asxMSG_LOGGING {
00637     asxMSG_LOGGING_DISABLE=10800,   
00638     asxMSG_LOGGING_ERROR=10801, 
00639     asxMSG_LOGGING_WARNING=10802,   
00640     asxMSG_LOGGING_NOTICE=10803,    
00641     asxMSG_LOGGING_INFO=10804,  
00642     asxMSG_LOGGING_DEBUG=10805, 
00643     asxMSG_LOGGING_VERBOSE=10806    
00644 };
00645 
00646 /******************************************************************************************************
00647  * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString();
00648  ******************************************************************************************************/
00650 enum asxPLAYER_FLAGS {
00651     asxPLAYER_FILE_COMPLETE=1,      
00652     asxPLAYER_FILELIST_COMPLETE=2,      
00653     asxPLAYER_FILE_START=4,         
00654 };
00655 
00657 enum asxTUNER_STATUS {
00658     asxTUNER_STATUS_VIDEO_VALID=1,              
00659     asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2,          
00660     asxTUNER_STATUS_VIDEO_IS_60HZ=4,            
00661     asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8,      
00662     asxTUNER_STATUS_PLL_LOCKED=16,              
00663     asxTUNER_STATUS_FM_STEREO=32,               
00664     asxTUNER_STATUS_DIGITAL=64,             
00665     asxTUNER_STATUS_MULTIPROGRAM=128            
00666 };
00667 
00669 enum asxTUNER_RDS_TYPE {
00670     asxTUNER_RDS_TYPE_RDS=0,        
00671     asxTUNER_RDS_TYPE_RBDS=1,       
00672 };
00673 
00675 enum asxAESEBU_STATUS {
00676     asxAESEBU_ERROR=0x01,               
00677     asxAESEBU_ERROR_NOT_LOCKED=0x02,        
00678     asxAESEBU_ERROR_POOR_QUALITY=0x04,      
00679     asxAESEBU_ERROR_PARITY_ERROR=0x08,      
00680     asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10,     
00681     asxAESEBU_ERROR_VALIDITY=0x20,          
00682     asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40      
00683 };
00684 
00686 enum asxCOMPANDER_INDEX {
00687     asxCOMPANDER_INDEX_NOISEGATE=0, 
00688     asxCOMPANDER_INDEX_COMPANDER=1  
00689 };
00690 
00692 enum asxHANDLE_TYPE {
00693     asxHANDLE_INVALID,  
00694     asxHANDLE_SYSTEM,   
00695     asxHANDLE_ADAPTER,  
00696     asxHANDLE_MIXER,    
00697     asxHANDLE_NODE,     
00698     asxHANDLE_CONTROL,  
00699     asxHANDLE_LAST      
00700     };
00701 
00703 enum asxUCONTROL_PTYPE {
00704     asxPARAM_TYPE_NONE       = 0,
00705     asxPARAM_TYPE_INTEGER    = 3,
00706     asxPARAM_TYPE_FLOAT      = 4,
00707     asxPARAM_TYPE_DOUBLE     = 5,
00708     asxPARAM_TYPE_STRING     = 6,
00709     //asxPARAM_TYPE_ENUMERATED = 7
00710     asxPARAM_TYPE_IP4_ADDRESS= 8,
00711     asxPARAM_TYPE_IP6_ADDRESS= 9,
00712     asxPARAM_TYPE_MAC_ADDRESS= 10,
00713     asxPARAM_TYPE_BOOLEAN= 11
00714 };
00715 
00717 enum asxUCONTROL_RTYPE {
00718     asxPARAM_RANGE_NONE         = 0,
00719     asxPARAM_RANGE_STEPPED_INTEGER      = 1,
00720     asxPARAM_RANGE_STEPPED_FLOAT        = 2,
00721     asxPARAM_RANGE_ENUMERATED_INTEGER   = 3,
00722     asxPARAM_RANGE_ENUMERATED_FLOAT     = 4,
00723     asxPARAM_RANGE_ENUMERATED       = 5,
00724     asxPARAM_RANGE_STRING_LENGTH        = 6,
00725     asxPARAM_RANGE_NUMBER_OF_BITS       = 7
00726 };
00727 
00729 enum asxUCONTROL_PFLAGS {
00730     asxPARAM_FLAG_WRITEABLE   = 1, 
00731     asxPARAM_FLAG_READABLE    = 2, 
00732     asxPARAM_FLAG_VOLATILE    = 4 
00733 };
00734 
00736 enum asxCOBRANET_IFSTATUS {
00737     asxCOBRANET_IFSTATUS_LINK_ESTABLISHED=0x01, 
00738     asxCOBRANET_IFSTATUS_FULL_DUPLEX=0x02,      
00739     asxCOBRANET_IFSTATUS_ACTIVE_CONNECTION=0x04 
00740 };
00741 
00742 /**************************
00743  * Typedefs
00744  **************************/
00745 
00746 typedef void *ASX_HANDLE;       
00747 typedef enum asxERROR ASX_ERROR;    
00748 typedef enum asxNODE ASX_NODE;      
00749 typedef int ASX_TIME;           
00750 
00751 typedef void ASX_ERROR_CALLBACK(
00752         ASX_HANDLE hASX_Object,
00753         const char *pszCallingFunction,
00754         void *pUser1,
00755         void *pUser2);
00757 typedef void ASX_PLAYER_CALLBACK(
00758         ASX_HANDLE hASX_Player_Object,
00759         const enum asxPLAYER_FLAGS flags,
00760         void *pUser1);
00761 
00762 
00763 struct asxParameterRangeInfo_NamedEnumerated {
00764         int value;
00765         char name[ASX_SHORT_STRING];
00766 };
00767 
00768 struct asxParameterRangeInfo {
00769     enum asxUCONTROL_RTYPE type;
00770     union {
00771         struct {
00772             int min;
00773             int max;
00774             int step;
00775         } integer;
00776         struct {
00777             unsigned int count;
00778             int *value;
00779         } enumerated_integer;
00780         struct {
00781             unsigned int count;
00782             float *value;
00783         } enumerated_float;
00784         struct {
00785             unsigned int count;
00786             struct asxParameterRangeInfo_NamedEnumerated *enums;
00787         } enumerated;
00788         struct {
00789             float fmin;
00790             float fmax;
00791             float fstep;
00792         } floating;
00793         struct {
00794             unsigned int max_len;
00795         } string;
00796     } u;
00797 };
00798 
00799 struct asxParameterValue {
00800     enum asxUCONTROL_PTYPE eType;
00801     unsigned int uItems;
00802     size_t size;
00803     void *value;
00804 };
00805 
00806 struct asxCobranetIpAutoassignParameters {
00807     char addr_start[20];
00808     char addr_end[20];
00809     int autoassign;
00810 };
00811 
00812 
00813 #ifndef ASX_H_DEFS_ONLY
00814 /**************************************************************************************
00815  * Functions
00816  **************************************************************************************/
00817 
00818 /*******************************************************************/
00830 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType);
00831 
00841 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem );
00842 
00851 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem );
00852 
00859 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface );
00860 
00870 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem );
00871 
00885 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback(   ASX_HANDLE hSystem,
00886                             ASX_ERROR_CALLBACK *pCallback,
00887                             void *pUser1,
00888                             void *pUser2);
00889 
00908 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem,
00909                     char *pszName,
00910                     const int nStringLength,
00911                     int *pnRequiredLength );
00925 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem,
00926                       char *pszSystemVersion,
00927                       const int nSystemVersionLength,
00928                       int *pnRequiredSystemVersionLength,
00929                       char *pszSubSystemVersion,
00930                       const int nSubSystemVersionLength,
00931                       int *pnRequiredSubSystemVersionLength);
00938 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount );
00946 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter );
00953 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog);
00960 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog);
00968 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms( const struct asxCobranetIpAutoassignParameters *pCAP );
00974 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms( struct asxCobranetIpAutoassignParameters *pCAP );
00975  // end of System group
00977 
00978 
00979 /*******************************************************************
00980  * Handle functions
00981  */
00991 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle); // end of Handle group
00993 
00994 /*******************************************************************
00995  * Error functions
00996  */
01010 ASX32_API ASX_ERROR ASX_Error_GetLast(
01011                             ASX_HANDLE hASXObject,
01012                             ASX_ERROR *pnAsxErrorCode,
01013                             int *pnAsxSubSystemErrorCode);
01014 
01030 ASX32_API ASX_ERROR ASX_Error_GetLastString(
01031                             ASX_HANDLE hASXObject,
01032                             char *pszAsxErrorString,
01033                             const int nAsxErrorStringLength,
01034                             int *pnRequiredAsxErrorStringLength,
01035                             char *pszAsxSubSystemErrorString,
01036                             const int nAsxSubSystemErrorStringLength,
01037                             int *pnRequiredAsxSubSystemErrorStringLength);
01038 
01039 
01045 ASX32_API ASX_ERROR ASX_Error_Clear(
01046                             ASX_HANDLE hASXObject);
01047  // end of Error group
01049 
01054 /*******************************************************************
01055  * Adapter functions
01056  */
01072 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems(
01073         ASX_HANDLE hAdapter,
01074         unsigned int *pnSubSystemMask,
01075         unsigned int *pnSubSystemOkMask);
01076 
01077 
01106 ASX32_API ASX_ERROR ASX_Adapter_GetName(
01107                             ASX_HANDLE hAdapter,
01108                             char *pszName,
01109                             const int nStringLength,
01110                             int *RequiredLength );
01111 
01128 ASX32_API ASX_ERROR ASX_Adapter_GetIndex(
01129                             ASX_HANDLE hAdapter,
01130                             int *pnIndex );
01139 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber(
01140                             ASX_HANDLE hAdapter,
01141                             unsigned long *pdwSerialNumber );
01142 
01154  ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision(
01155                             ASX_HANDLE hAdapter,
01156                             char *pszRevision);
01157 
01167  ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision(
01168                             ASX_HANDLE hAdapter,
01169                             char *pszRevision);
01170 
01180  ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress(
01181                             ASX_HANDLE hAdapter,
01182                             char *pszMAC);
01183 
01193  ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress(
01194                             ASX_HANDLE hAdapter,
01195                             char *pszIP);
01196 
01207 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization(
01208                             ASX_HANDLE hAdapter,
01209                             const int nDspIndex,
01210                             int *pnDspUtilization);
01211 
01219 ASX32_API ASX_ERROR ASX_Adapter_GetMixer(
01220                             ASX_HANDLE hAdapter,
01221                             ASX_HANDLE *p_hMixer );
01222 
01223 
01232 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount);
01239 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode);
01246 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode);
01256 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting);
01272 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2);
01281 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2);
01289 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue);
01297 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue);
01304 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount);
01305 
01306  // end of Adapter group
01308 
01313 /*******************************************************************
01314  * Mixer functions
01315  */
01334 ASX32_API ASX_ERROR ASX_Mixer_ResetControls(
01335                     ASX_HANDLE hMixer);
01336 
01343 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount(
01344                     ASX_HANDLE hMixer,
01345                     int *pnCount);
01346 
01355 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode(
01356                     ASX_HANDLE hMixer,
01357                     const int nSourceNode,
01358                     ASX_HANDLE *p_hNode );
01359 
01360 
01367 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount(
01368                     ASX_HANDLE hMixer,
01369                     int *pnCount);
01370 
01379 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode(
01380                     ASX_HANDLE hMixer,
01381                     const int nDestinationNode,
01382                     ASX_HANDLE *p_hNode );
01383 
01394 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType(
01395                     ASX_HANDLE hMixer,
01396                     const enum asxNODE eType,
01397                     const int nIndex,
01398                     ASX_HANDLE *p_hNode);
01399 
01409 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount(
01410                     ASX_HANDLE hMixer,
01411                     const enum asxNODE eType,
01412                     int *pnCount);
01413 
01414 
01415 
01422 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount(
01423                     ASX_HANDLE hMixer,
01424                     int *pnControls);
01425 
01433 ASX32_API ASX_ERROR ASX_Mixer_GetControl(
01434                     ASX_HANDLE hMixer,
01435                     const int nControl,
01436                     ASX_HANDLE *p_hControlBase );
01437 
01449 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode(
01450                     const ASX_HANDLE hMixer,
01451                     const ASX_HANDLE hSourceNode,
01452                     const ASX_HANDLE hDestinationNode,
01453                     const enum asxCONTROL eControlType,
01454                     ASX_HANDLE *p_hControlBase );
01455 
01469 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex(
01470                     ASX_HANDLE hMixer,
01471                     const enum asxNODE nSourceNodeType,
01472                     const int nSourceIndex,
01473                     const enum asxNODE nDestinationNodeType,
01474                     const int nDestinationIndex,
01475                     const enum asxCONTROL eControlType,
01476                     ASX_HANDLE *p_hControlBase );
01477 
01491 ASX32_API ASX_ERROR ASX_Mixer_GetBlockControlByNodeTypeAndIndex(
01492                 ASX_HANDLE hMixer,
01493                 const enum asxNODE nSourceNodeType,
01494                 const int nSourceIndex,
01495                 const enum asxNODE nDestinationNodeType,
01496                 const int nDestinationIndex,
01497                 const char *pszBlockName,
01498                 ASX_HANDLE *p_hControlBase );
01499  // end of Mixer group
01501 
01502 /*******************************************************************
01503  * Node functions
01504  */
01520 ASX32_API ASX_ERROR ASX_Node_GetType(
01521                     ASX_HANDLE hNode,
01522                     enum asxNODE *peType);
01523 
01532 ASX32_API ASX_ERROR ASX_Node_GetIndex(
01533                     ASX_HANDLE hNode,
01534                     int *pnIndex);
01535 
01547 ASX32_API ASX_ERROR ASX_Node_GetLocation(
01548                     ASX_HANDLE hNode,
01549                     int *pnModuleSlot,
01550                     int *pnNodeIndexOnSlot,
01551                     char *pszModuleName,
01552                     const int nStringLength);
01553 
01560 ASX32_API ASX_ERROR ASX_Node_GetSubSystem(
01561                     ASX_HANDLE hNode,
01562                     int *p_nSubSystem);
01563 
01571 ASX32_API ASX_ERROR ASX_Node_GetName(
01572             ASX_HANDLE hNode,
01573             char *pszNodeName,
01574             const int nStringLength
01575             );
01576 
01580 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType(
01581                     ASX_HANDLE hNode,
01582                     enum asxNODE *peType);
01583 
01587 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex(
01588                     ASX_HANDLE hNode,
01589                     int *pnIndex);
01590  // end of Node group
01592 
01597 /******************************************************************
01598  * Control functions
01599  */
01613 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl);
01620 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01627 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01643 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl );
01650 ASX32_API ASX_ERROR ASX_Control_GetSubSystem(
01651                     ASX_HANDLE hControl,
01652                     int *p_nSubSystem);
01653 
01654 
01655 /*
01656 enum asxCONTROL_PROPERTY {
01657     asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY,
01658     asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION,
01659     asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION
01660 };
01661 
01662 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 );
01663 */
01664  // end of Control group
01666 
01667 #if (DISABLE_PLAYREC_CONTROLS!=1)
01668 /*******************************************************************
01669  * Player Control
01670  */
01761 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile);
01768 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat);
01778 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer,
01779                             enum asxAUDIO_FORMAT *peFormat,
01780                             int *pnChannnels,
01781                             int *pnSampleRate,
01782                             int *pnBitRate);
01796 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01802 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer);
01809 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer);
01816 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer);
01823 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer);
01829 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer);
01841 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition);
01849 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01856 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState);
01866 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale);
01875 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale);
01885 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength );
01893 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping );
01901 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping );
01912 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist(
01913     ASX_HANDLE hPlayer,
01914     const char **pszFileList,
01915     const unsigned int nFiles);
01936 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus(
01937     ASX_HANDLE hPlayer,
01938     unsigned int *nTotalFileCount,
01939     int *nCurrentFile,
01940     char **szCurrentFilename,
01941     unsigned int *nTotalTime_ms,
01942     unsigned int *nCurrentTime_ms
01943 );
01953 ASX32_API ASX_ERROR ASX_Player_RegisterCallback(
01954     ASX_HANDLE hPlayer,
01955     ASX_PLAYER_CALLBACK *pCallback,
01956     const enum asxPLAYER_FLAGS flags,
01957     void *pUser1);
01964 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer);
01965  // end of Player group
01967 
02014 /******************************************************************
02015  * Recorder Control
02016  */
02096 ASX32_API ASX_ERROR ASX_Recorder_Open(
02097     ASX_HANDLE hRecorder, const char *pszFile,
02098     const enum asxFILE_FORMAT nFileType,
02099     const enum asxFILE_MODE nFileMode,
02100     const int nChannels,
02101     const enum asxAUDIO_FORMAT nFormat,
02102     const long lSampleRate,
02103     const long lBitrate,
02104     const enum asxRECORD_MODE nMode
02105     );
02111 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder );
02117 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder);
02123 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder);
02129 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder);
02137 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition);
02144 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState);
02154 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength );
02163 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group
02165 
02216 #endif
02217 /*******************************************************************
02218  * Meter Control
02219  */
02230 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels);
02231 
02251 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels);
02265 ASX32_API ASX_ERROR ASX_Meter_GetRMS(  ASX_HANDLE hMeter, float *fdB, const int nChannels);
02358 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs);
02359 
02367  ASX32_API ASX_ERROR ASX_Meter_GetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, float *fAttackTimeMs, float *fDecayTimeMs); // end of Meter group
02369 
02374 /********************************************************************
02375  * Volume Control
02376  */
02387 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels);
02394 ASX32_API ASX_ERROR ASX_Volume_SetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02401 ASX32_API ASX_ERROR ASX_Volume_GetMute( ASX_HANDLE hVolume, int *mute, const int nChannels);
02409 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels);
02417 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels);
02426 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume,
02427                              float *fMinGain,
02428                              float *fMaxGain,
02429                              float *fGainStep);
02442 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
02444 
02445 /*******************************************************************
02446  * Level Control
02447  */
02459 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain);
02466 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain);
02475 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel,
02476                              float *fMinGain,
02477                              float *fMaxGain,
02478                              float *fGainStep);
02479  // end of Level group
02481 
02482 /*******************************************************************
02483  * Multiplexer Control
02484  */
02502 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount);
02510 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex);
02518 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group
02523 /******************************************************************
02524  * Channel Mode Control
02525  */
02539 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount);
02546 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode);
02553 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group
02555 
02556 /******************************************************************
02557  * Tuner Control
02558  */
02571 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount);
02578 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand);
02585 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand);
02595 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq);
02604 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq);
02605 
02615 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner,
02616             const enum asxTUNERBAND eBand,
02617             unsigned long *plMin, unsigned long *plMax,
02618             unsigned long *plStep);
02619 
02629 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep);
02636 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain);
02643 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain);
02650 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel);
02657 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel);
02667 ASX32_API ASX_ERROR ASX_Tuner_GetStatus(
02668             ASX_HANDLE hTuner,
02669             unsigned int *puErrorStatusMask,
02670             unsigned int *puErrorStatus);
02679 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner,
02680             const enum asxTUNERMODE eMode,
02681             enum asxTUNERMODE *peSetting);
02682 
02691 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner,
02692             const enum asxTUNERMODE eMode,
02693             const enum asxTUNERMODE eSetting);
02694 
02703 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner,
02704             const int nIndex,
02705             enum asxTUNERDEEMPHASIS *peDeemphasis,
02706             int *pnCount);
02707 
02714 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner,
02715             const enum asxTUNERDEEMPHASIS eDeemphasis
02716             );
02717 
02724 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner,
02725             enum asxTUNERDEEMPHASIS *peDeemphasis
02726             );
02727 
02736 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner,
02737             const int nIndex,
02738             enum asxTUNERPROGRAM *peProgram,
02739             int *pnCount);
02740 
02747 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner,
02748             const enum asxTUNERPROGRAM eProgram
02749             );
02750 
02757 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner,
02758             enum asxTUNERPROGRAM *peProgram
02759             );
02760 
02767 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality(
02768     ASX_HANDLE hTuner,
02769     int *pnSignalQuality
02770 );
02771 
02772 /*
02773  * Get a Tuner property of type integer
02774  * @param hTuner A handle to an ASX tuner control.
02775  * @param nTunerProperty - tuner property.  One of #asxTUNER_PROPERTY_INT
02776  * @param nPropertyValue - the returned property
02777  * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned.
02778  */
02779 /*
02780 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner,
02781                 const enum asxTUNER_PROPERTY_INT eTunerProperty,
02782             int *pnPropertyValue
02783             );
02784 */
02785 
02793 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner,
02794             char *szSdkVersion,
02795             const int nStringLength
02796             );
02804 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner,
02805             char *szSdkVersion,
02806             const int nStringLength
02807             );
02808 
02817 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner,
02818             const int nIndex,
02819             enum asxTUNERHDBLEND *peBlend,
02820             int *pnCount);
02821 
02828 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner,
02829             const enum asxTUNERHDBLEND  nMode
02830             );
02831 
02838 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner,
02839             enum asxTUNERHDBLEND *pnMode
02840             );
02841  // end of Tuner group
02848 /******************************************************************
02849  * PAD Control
02850  */
02864 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD,
02865             char *pszChannelName,
02866             const int nStringLength
02867             );
02868 
02877 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD,
02878             char *pszArtist,
02879             const int nStringLength
02880             );
02881 
02890 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD,
02891             char *pszTitle,
02892             const int nStringLength
02893             );
02894 
02903 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD,
02904             char *pszComment,
02905             const int nStringLength
02906             );
02907 
02915 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD,
02916             int *pnProgramType
02917             );
02928 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD,
02929             const enum asxTUNER_RDS_TYPE eType,
02930             const int nPTY,
02931             char *pszString,
02932             const int nStringLength
02933             );
02934 
02943 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD,
02944             int *uPI
02945             );
02946 
02947  // end of pads group
02949 
02950 
02951 /******************************************************************
02952  * Sample Clock Control
02953  */
02961 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
02962 
02971 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
02972 
02975 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate);
02976 
02983 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate);
02984 
02991 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
02998 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
03007 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount);
03014 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource);
03021 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource);
03028 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable);
03035 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable);
03045 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock);
03052 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group
03054 
03055 /******************************************************************
03056  * AESEBU Receiver Control
03057  **/
03070 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx,
03071                                                       unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus );
03078 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx,
03079                                                      unsigned int *pdwSampleRate );
03088 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03089 
03096 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx,
03097                                                  const enum asxAESEBU_FORMAT eAesebuFormat );
03104 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx,
03105                                                  enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group
03107 
03108 /******************************************************************
03109  * AESEBU Transmitter Control
03110  **/
03123 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03130 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat );
03137 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group
03139 
03140 /******************************************************************
03141  * GPIO Control
03142  */
03157 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits);
03169 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits);
03179 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits);
03188 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group
03190 
03191 /********************************************************************
03192  * Vox Control
03193  */
03204 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel);
03211 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel);
03220 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox,
03221                              float *fMinLevel,
03222                              float *fMaxLevel,
03223                              float *fLevelStep); // end of Vox group
03225 
03226 /********************************************************************
03227  * Generic Control
03228  */
03239 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group
03241 
03242 /******************************************************************
03243  * Microphone Control
03244  */
03255 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff);
03262 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group
03264 
03265 /******************************************************************
03266  * Parametric EQ control
03267  */
03279 ASX32_API ASX_ERROR ASX_EQ_GetInfo(
03280         ASX_HANDLE hParmEq,
03281         unsigned short  *pwNumberOfBands,
03282         unsigned short  *pwEnabled
03283         );
03290 ASX32_API ASX_ERROR ASX_EQ_SetState(
03291         ASX_HANDLE hParmEq,
03292         const unsigned short    wOnOff
03293         );
03307 ASX32_API ASX_ERROR ASX_EQ_SetBand(
03308         ASX_HANDLE hParmEq,
03309         const unsigned short        wIndex,
03310         const enum asxEQBANDTYPE    eType,
03311         const unsigned long     dwFrequencyHz,
03312         const short             nQ100,
03313         const short             nGain0_01dB
03314         );
03315 
03329 ASX32_API ASX_ERROR ASX_EQ_GetBand(
03330         ASX_HANDLE hParmEq,
03331         const unsigned short        wIndex,
03332         enum asxEQBANDTYPE  *peType,
03333         unsigned long       *pdwFrequencyHz,
03334         short               *pnQ100,
03335         short               *pnGain0_01dB
03336         ); // end of Parametric Equalizer group
03338 
03339 /******************************************************************
03340  * Compander control
03341  */
03359 ASX32_API ASX_ERROR ASX_Compander_Set(
03360         ASX_HANDLE hCompander,
03361         const unsigned short  wAttack,
03362         const unsigned short  wDecay,
03363         const short           wRatio100,
03364         const short           nThreshold0_01dB,
03365         const short           nMakeupGain0_01dB
03366         );
03367 
03381 ASX32_API ASX_ERROR ASX_Compander_Get(
03382         ASX_HANDLE hCompander,
03383         unsigned short  *pwAttack,
03384         unsigned short  *pwDecay,
03385         short           *pwRatio100,
03386         short           *pnThreshold0_01dB,
03387         short           *pnMakeupGain0_01dB
03388         );
03395 ASX32_API ASX_ERROR ASX_Compander_SetEnable(
03396         ASX_HANDLE hCompander,
03397         const unsigned int nOn
03398 );
03405 ASX32_API ASX_ERROR ASX_Compander_GetEnable(
03406         ASX_HANDLE hCompander,
03407         unsigned int *nOn
03408 );
03415 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain(
03416         ASX_HANDLE hCompander,
03417         const float fMakeupGain
03418 );
03425 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain(
03426         ASX_HANDLE hCompander,
03427         float *fMakeupGain
03428 );
03436 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant(
03437         ASX_HANDLE hCompander,
03438         enum asxCOMPANDER_INDEX index,
03439         const unsigned int nAttack
03440 );
03448 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant(
03449         ASX_HANDLE hCompander,
03450         enum asxCOMPANDER_INDEX index,
03451         unsigned int *pnAttack
03452 );
03460 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant(
03461         ASX_HANDLE hCompander,
03462         enum asxCOMPANDER_INDEX index,
03463         const unsigned int nDecay
03464 );
03472 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant(
03473         ASX_HANDLE hCompander,
03474         enum asxCOMPANDER_INDEX index,
03475         unsigned int *pnDecay
03476 );
03484 ASX32_API ASX_ERROR ASX_Compander_SetThreshold(
03485         ASX_HANDLE hCompander,
03486         enum asxCOMPANDER_INDEX index,
03487         const float nThreshold
03488 );
03496 ASX32_API ASX_ERROR ASX_Compander_GetThreshold(
03497         ASX_HANDLE hCompander,
03498         enum asxCOMPANDER_INDEX index,
03499         float *pnThreshold
03500 );
03508 ASX32_API ASX_ERROR ASX_Compander_SetRatio(
03509         ASX_HANDLE hCompander,
03510         enum asxCOMPANDER_INDEX index,
03511         const float fRatio
03512 );
03520 ASX32_API ASX_ERROR ASX_Compander_GetRatio(
03521         ASX_HANDLE hCompander,
03522         enum asxCOMPANDER_INDEX index,
03523         float  *fRatio
03524 );
03525  // end of Compander group
03527 
03532 /******************************************************************
03533  * Cobranet control
03534  */
03544 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount);
03548 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode);
03552 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode);
03559 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03566 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03574 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03582 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03590 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03598 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength );
03606 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength );
03614 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString);
03622 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength );
03630 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString);
03638 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision);
03647 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay);
03655 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate);
03663 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate);
03673 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting);
03683 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting);
03691 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority);
03699 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority);
03707 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState);
03714 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff);
03721 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff);
03734 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig(
03735     ASX_HANDLE hCobranet,
03736     const unsigned int nBaud,
03737     const unsigned int nPPeriod,
03738     const char pRxMAC[6],
03739     const int nAcceptUnicast,
03740     const char pTxMAC[6]);
03752 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig(
03753     ASX_HANDLE hCobranet,
03754     unsigned int *pnBaud,
03755     unsigned int *pnPPeriod,
03756     char pRxMAC[6],
03757     int *pnAcceptUnicast,
03758     char pTxMAC[6]);
03767 ASX32_API ASX_ERROR ASX_Cobranet_GetIfStatus(
03768     ASX_HANDLE hCobranet,
03769     unsigned int *pnCurrentIf,
03770     unsigned int *pnPrimaryLinkStatus,
03771     unsigned int *pnSecondaryLinkStatus); // end of Cobranet group
03773 /******************************************************************
03774  * Cobranet transmitter control
03775  */
03788 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers);
03795 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle);
03802 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle);
03809 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount);
03816 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount);
03823 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]);
03830 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]);
03837 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat);
03846 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat);
03854 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast);
03885 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast);
03886  // end of Cobranet Tx group
03888 
03889 /******************************************************************
03890  * Cobranet receiver control
03891  */
03936 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]);
03943 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle);
03950 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle);
03958 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03966 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs);
03973 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]);
03980 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]);
03987 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay);
04000 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group
04002 
04003 /******************************************************************
04004  * Tone Detector control
04005  */
04021 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04028 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04035 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
04042 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
04047 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold);
04053 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold);
04059 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState);
04065 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group
04067 
04068 /******************************************************************
04069  * Silence Detector control
04070  */
04081 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04088 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04095 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04102 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04103 
04109 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay(
04110     ASX_HANDLE hSilenceDetector,
04111     const unsigned int Delay
04112 );
04118 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay(
04119     ASX_HANDLE hSilenceDetector,
04120     unsigned int *Delay
04121 );
04126 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold);
04131 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold);
04137 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group
04139 /******************************************************************
04140  * Block control
04141  */
04157 ASX32_API ASX_ERROR ASX_Block_GetInfo(
04158         ASX_HANDLE hBlock,
04159         char *szBlockName,
04160         const unsigned int uStringLength,
04161         unsigned int *uParameterCount);
04162 
04172 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName(
04173         ASX_HANDLE hBlock,
04174         const unsigned int uParameterIndex,
04175         char *szParameterName,
04176         const unsigned int uStringLength);
04186 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits(
04187         ASX_HANDLE hBlock,
04188         const unsigned int uParameterIndex,
04189         char *szParameterUnits,
04190         const unsigned int uStringLength);
04198 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType(
04199         ASX_HANDLE hBlock,
04200         const unsigned int uParameterIndex,
04201         enum asxUCONTROL_PTYPE *eType);
04202 
04210 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags(
04211         ASX_HANDLE hBlock,
04212         const unsigned int uParameterIndex,
04213         enum asxUCONTROL_PFLAGS *eFlags);
04214 
04222 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount(
04223         ASX_HANDLE hBlock,
04224         const unsigned int uParameterIndex,
04225         unsigned int *uCount);
04226 
04234 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange(
04235         ASX_HANDLE hBlock,
04236         const unsigned int uParameterIndex,
04237         struct asxParameterRangeInfo *info);
04238 
04249 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName(
04250         ASX_HANDLE hBlock,
04251         const unsigned int uParameterIndex,
04252         const unsigned int uEnumItem,
04253         char *szEnumName,
04254         const unsigned int uStringLength);
04255 
04263 ASX32_API ASX_ERROR ASX_Block_Parameter_Set(
04264         ASX_HANDLE hBlock,
04265         const unsigned int uParameterIndex,
04266         struct asxParameterValue *data);
04267 
04275 ASX32_API ASX_ERROR ASX_Block_Parameter_Get(
04276         ASX_HANDLE hBlock,
04277         const unsigned int uParameterIndex,
04278         struct asxParameterValue *data);
04279 
04280 /* for the future
04281 ASX32_API ASX_ERROR ASX_ParameterValue_Init(
04282         struct asxParameterValue *data,
04283         enum asxUCONTROL_PTYPE *eType,
04284         const unsigned int uElementCount,
04285         void *data2);
04286 */
04287  // end of block group
04289 
04290 #endif /* ASX_H_DEFS_ONLY */
04291 #ifdef __cplusplus
04292 }
04293 #endif
04294 #endif  /* _ASX_H_ */
04295 
04296 /***********************************************************
04297 *
04298 ***********************************************************/