asx.h

Go to the documentation of this file.
00001 /*****************************************************************************************
00002 * $Header: /Repository/apps/asx/asx.h,v 1.611.2.5 2010/09/10 17:19:54 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 #ifndef ASX_VERSION
00192 #define ASX_VERSION_CONSTRUCTOR(maj,min,rel)  (((maj) <<16 ) + ((min) << 8) + (rel))
00193 
00194 #define ASX_VER_MAJOR(v) ((v)>>16)
00195 #define ASX_VER_MINOR(v) (((v)>>8) & 0xFF )
00196 #define ASX_VER_RELEASE(v) ((v) & 0xFF )
00197 
00198 /* Use single digits for versions less that 10 to avoid octal. */
00199 #define ASX_VERSION ASX_VERSION_CONSTRUCTOR( 4, 4, 5 )
00200 #endif
00201 
00202 /**************************
00203  * Defines
00204  **************************/
00209 #define ASX_SYSTEM_TYPE_HPI 0       
00210 #define ASX_SYSTEM_TYPE_WAVE 1      
00211 #define ASX_SYSTEM_TYPE_ALSA 2      
00212 #define ASX_SYSTEM_TYPE_DIRECTX 3   
00213 #define ASX_SYSTEM_TYPE_PORTAUDIO 4 
00214 #define ASX_SYSTEM_TYPE_PCXTOOLS 5  
00215 #define ASX_SYSTEM_TYPE_SNMP 6      
00216 #define ASX_SYSTEM_TYPE_HPIUDP 7    
00217 #define ASX_SYSTEM_TYPE_DUMMY  8    
00218 #define ASX_SYSTEM_TYPE_ANY 9       
00219 #define ASX_SYSTEM_TYPE_COUNT 10    
00220  // end of SubSystemTypes group
00221 
00222 #define ASX_SHORT_STRING 32     
00223 #define ASX_LONG_STRING 128         
00224 #define ASX_LONGLONG_STRING 256     
00225 
00226 #if !linux
00227 #include <crtdbg.h>
00228 #endif
00229 
00230 #ifndef _RPT0
00231 #define _RPT0(l,s) printf(s)        
00232 #define _RPT1(l,s,d1) printf(s,d1)  
00233 #endif
00234 
00235 /**************************
00236  * Enums
00237  **************************/
00238 
00240 enum asxERROR {
00241     asxERROR_NO_ERROR=0,                
00242     // leave a gap here so that any 8-bit bit enums will never map to error codes.
00243     asxERROR_ASXOBJECT=256,             
00244     asxERROR_INDEX_OUT_OF_RANGE=257,        
00245     asxERROR_UNIMPLEMENTED=258,             
00246     asxERROR_COMMUNICATING_WITH_DEVICE=259, 
00247     asxERROR_STARTING_DEVICE=260,           
00248     asxERROR_NOT_OPEN=261,                  
00249     asxERROR_ALREADY_OPEN=262,              
00250     asxERROR_INVALID_FORMAT=263,            
00251     asxERROR_INTERNAL_BUFFERING_ERROR=264,  
00252     asxERROR_AES18=265,                     
00253     asxERROR_INVALID_OPERATION=266,         
00254     asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267,      
00255     asxERROR_BUFFER_TOO_SMALL=268,          
00256     asxERROR_OUTOFMEMORY=269,               
00257     asxERROR_DEPRECATED=270,                
00258     asxERROR_TOO_MANY_CLIENTS=271,          
00259 
00260     asxERROR_COBRANET_NODE_NOT_FOUND=272,   
00261     asxERROR_COBRANET_NODE_FOUND=273,   
00262     asxERROR_NO_IP_ADDRESSES_AVAILABLE=274, 
00263     asxERROR_IP_ASSIGNED=275,       
00264     asxERROR_IP_CHANGED=276,        
00265     asxERROR_IP_AUTOASSIGN_DISABLED=277,    
00266     asxERROR_PCAP_ERROR=278,        
00267     asxERROR_DISCO_DLL_NOT_FOUND=279,   
00268     asxERROR_HOST_NOT_FOUND=280,        
00269     asxERROR_COBRANET_NODE_UNREACHABLE=281, 
00270 
00271     asxERROR_INVALID_CONTROL=304,           
00272     asxERROR_INVALID_CONTROL_VALUE=305,     
00273     asxERROR_INVALID_CONTROL_NOT_FOUND=306, 
00274     asxERROR_INVALID_NUMBER_OF_CHANNELS=307,
00275     asxERROR_INVALID_CONTROL_ATTRIBUTE=308, 
00276     asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309, 
00277     asxERROR_INVALID_CONTROL_OPERATION=310, 
00278     asxERROR_CONTROL_NOT_READY=311, 
00279 
00280     asxERROR_FILE_OPEN_FAILED=336,          
00281 
00282     asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 
00283     asxERROR_PLAYER_TIME_OUT=385,               
00284     asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386,   
00285     asxERROR_PLAYER_TWAV=387,                   
00286     asxERROR_PLAYER_NOFILE=388,                 
00287     asxERROR_PLAYER_INVALIDFILEFORMAT=389,      
00288     asxERROR_PLAYER_UNSUPPORTEDFORMAT=390,      
00289     asxERROR_PLAYER_FILEREADERROR=391,          
00290     asxERROR_PLAYER_FILEOPENERROR=392,          
00291 
00292     asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448,
00293     asxERROR_RECORDER_TIME_OUT=449,             
00294     asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 
00295     asxERROR_RECORDER_TWAV=451,                 
00296     asxERROR_RECORDER_FILECREATEERROR=452,      
00297     asxERROR_RECORDER_FILEWRITEERROR=453,       
00298     asxERROR_RECORDER_FORMATMISMATCH=454,       
00299     asxERROR_RECORDER_INVALIDFILENAME=455,      
00300 
00301     asxERROR_MIXER_SAVECONTROLSTATE=460,        
00302 
00303     asxERROR_UNKNOWN=4095                       
00304 };
00305 
00307 enum asxNODE {
00308     asxNODE_NONE=0,         
00309     asxNODE_INVALID=400,    
00310 
00311     asxNODE_ADAPTER=401,        
00312     asxNODE_PLAYER=402,         
00313     asxNODE_LINE_IN=403,        
00314     asxNODE_AESEBU_IN=404,      
00315     asxNODE_TUNER_IN=405,       
00316     asxNODE_RADIO_FREQ_IN=406,  
00317     asxNODE_CLOCK_SOURCE_IN=407,
00318     asxNODE_BITSTREAM_IN=408,   
00319     asxNODE_MICROPHONE_IN=409,  
00320     asxNODE_COBRANET_IN=410,    
00321     asxNODE_COBRANET_RECEIVER=411,  
00322     asxNODE_ANALOG_IN=412,      
00323     asxNODE_SDI_IN=413,     
00324 
00325     asxNODE_LAST_SOURCE_NODE=414,   
00326 
00327     asxNODE_FIRST_DEST_NODE=450,    
00328     asxNODE_RECORDER=450,       
00329     asxNODE_LINE_OUT=451,       
00330     asxNODE_AESEBU_OUT=452, 
00331     asxNODE_RADIO_FREQ_OUT=453, 
00332     asxNODE_SPEAKER_OUT=454,    
00333     asxNODE_COBRANET_OUT=455,   
00334     asxNODE_COBRANET_TRANSMITTER=456,   
00335     asxNODE_ANALOG_OUT=457,     
00336     asxNODE_SDI_OUT=458,        
00337 
00338     asxNODE_LAST_DEST_NODE=459
00339 };
00340 
00342 enum asxCONTROL {
00343     asxCONTROL_INVALID=500,     
00344 
00345     asxCONTROL_CONNECTION=501,      
00346     asxCONTROL_VOLUME=502,          
00347     asxCONTROL_METER=503,           
00348     asxCONTROL_MUTE=504,            
00349     asxCONTROL_MULTIPLEXER=505,     
00350     asxCONTROL_AESEBU_TRANSMITTER=506, 
00351     asxCONTROL_AESEBU_RECEIVER=507, 
00352     asxCONTROL_LEVEL=508,           
00353     asxCONTROL_TUNER=509,           
00354     asxCONTROL_RDS=510,             
00355     asxCONTROL_VOX=511,             
00356     asxCONTROL_AES18_TRANSMITTER=512, 
00357     asxCONTROL_AES18_RECEIVER=513,  
00358     asxCONTROL_AES18_BLOCK_GENERATOR=514, 
00359     asxCONTROL_CHANNEL_MODE=515,    
00360     asxCONTROL_BIT_STREAM=516,      
00361     asxCONTROL_SAMPLE_CLOCK=517,    
00362     asxCONTROL_MICROPHONE=518,      
00363     asxCONTROL_PARAMETRIC_EQ=519,   
00364     asxCONTROL_COMPANDER=520,       
00365     asxCONTROL_COBRANET=521,        
00366     asxCONTROL_PLAYER=522,          
00367     asxCONTROL_RECORDER=523,        
00368     asxCONTROL_GPIO=524,            
00369     asxCONTROL_RESERVED_525=525,    
00370     asxCONTROL_RESERVED_526=526,    
00371     asxCONTROL_RESERVED_527=527,    
00372     asxCONTROL_RESERVED_528=528,    
00373     asxCONTROL_GENERIC=529,         
00374     asxCONTROL_TONEDETECTOR=530,    
00375     asxCONTROL_SILENCEDETECTOR=531, 
00376     asxCONTROL_COBRANET_TRANSMITTER=532,
00377     asxCONTROL_COBRANET_RECEIVER=533,
00378     asxCONTROL_PAD=534,     
00379     asxCONTROL_SRC=535,     
00380     asxCONTROL_BLOCK=536,       
00381 
00382     asxCONTROL_LAST_CONTROL=537
00383 };
00384 
00385 /****************************************
00386  * Various control enums
00387 *****************************************/
00388 
00390 enum asxVOLUME_AUTOFADE {
00391     asxVOLUME_AUTOFADE_LOG,                     
00392     asxVOLUME_AUTOFADE_LINEAR                   
00393 };
00394 
00396 enum asxMETER_TYPE {
00397     asxMETER_PEAK,  
00398     asxMETER_RMS    
00399 };
00400 
00402 enum asxCHANNELMODE {
00403     asxCHANNELMODE_ILLEGAL=1000,        
00404     asxCHANNELMODE_NORMAL=1001,         
00405     asxCHANNELMODE_SWAP=1002,           
00406     asxCHANNELMODE_STEREOTOLEFT=1003,   
00407     asxCHANNELMODE_STEREOTORIGHT=1004,  
00408     asxCHANNELMODE_LEFTTOSTEREO=1005,   
00409     asxCHANNELMODE_RIGHTTOSTEREO=1006   
00410 };
00412 enum asxADAPTERMODE {
00413     asxADAPTERMODE_ILLEGAL=1100,        
00414     asxADAPTERMODE_4_PLAY=1101,         
00415     asxADAPTERMODE_6_PLAY=1102,         
00416     asxADAPTERMODE_8_PLAY=1103,         
00417     asxADAPTERMODE_9_PLAY=1104,         
00418     asxADAPTERMODE_12_PLAY=1105,        
00419     asxADAPTERMODE_16_PLAY=1106,        
00420     asxADAPTERMODE_1_PLAY=1107,         
00421     asxADAPTERMODE_MODE_1=1108,         
00422     asxADAPTERMODE_MODE_2=1109,         
00423     asxADAPTERMODE_MODE_3=1110,         
00424     asxADAPTERMODE_MULTICHANNEL=1111,   
00425     asxADAPTERMODE_MONO=1112,       
00426     asxADAPTERMODE_LOW_LATENCY=1113     
00427 };
00429 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!!
00430 enum asxTUNERBAND {
00431     asxTUNERBAND_AM=1200,           
00432     asxTUNERBAND_FM=1201,           
00433     asxTUNERBAND_TV=1202,           
00434     asxTUNERBAND_FM_STEREO=1203,    
00435     asxTUNERBAND_AUX=1204,          
00436     asxTUNERBAND_TV_PAL_BG=1205,    
00437     asxTUNERBAND_TV_PAL_I=1206,     
00438     asxTUNERBAND_TV_PAL_DK=1207,        
00439     asxTUNERBAND_TV_SECAM_L=1208        
00440 };
00442 enum asxTUNERDEEMPHASIS {
00443     asxTUNERDEEMPHASIS_50=1240, 
00444     asxTUNERDEEMPHASIS_75=1241, 
00445     asxTUNERDEEMPHASIS_none=1242,   
00446 };
00448 enum asxTUNERMODE {
00449     asxTUNERMODE_RSS=1250,          
00450     asxTUNERMODE_RSS_ENABLE=1251,   
00451     asxTUNERMODE_RSS_DISABLE=1252   
00452 };
00454 enum asxTUNERPROGRAM {
00455     asxTUNERPROGRAM_none=1260,      
00456     asxTUNERPROGRAM_1=1261,     
00457     asxTUNERPROGRAM_2=1262,     
00458     asxTUNERPROGRAM_3=1263,     
00459     asxTUNERPROGRAM_4=1264,     
00460     asxTUNERPROGRAM_5=1265,     
00461     asxTUNERPROGRAM_6=1266,     
00462     asxTUNERPROGRAM_7=1267,     
00463     asxTUNERPROGRAM_8=1268,     
00464 };
00466 enum asxTUNERHDBLEND {
00467     asxTUNERHDBLEND_auto=1280,  
00468     asxTUNERHDBLEND_analog=1281,    
00469 };
00471 enum asxSAMPLE_CLOCK_SOURCE {
00472     asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400,
00473     asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 
00474     asxSAMPLE_CLOCK_SOURCE_WORD=1402,       
00475     asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403, 
00476     asxSAMPLE_CLOCK_SOURCE_SMPTE=1404,      
00477     asxSAMPLE_CLOCK_SOURCE_NETWORK=1405,    
00478     asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 
00479     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407,
00480     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408,
00481     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409,
00482     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410,
00483     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411,
00484     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412,
00485     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413,
00486     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414,
00487     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415,
00488     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416,
00489     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417,
00490     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418,
00491     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419,
00492     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420,
00493     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421,
00494     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422,
00495     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423,
00496     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424,
00497     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425,
00498     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426,
00499     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427,
00500     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428,
00501     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429,
00502     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430,
00503     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431,
00504     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432,
00505     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433,
00506     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434,
00507     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435,
00508     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436,
00509     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437,
00510     asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438,
00511     asxSAMPLE_CLOCK_SOURCE_LOCAL=1439,        
00512     asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440,  
00513     asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441,  
00514     asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442  
00515 };
00516 
00518 enum asxAESEBU_FORMAT {
00519     asxAESEBU_FORMAT_AESEBU=1450,   
00520     asxAESEBU_FORMAT_SPDIF=1451,        
00521     asxAESEBU_FORMAT_UNDEFINED=1452     
00522 };
00524 enum asxEQBANDTYPE {
00525     asxEQBANDTYPE_BYPASS=1460,      
00526     asxEQBANDTYPE_LOWSHELF=1461,        
00527     asxEQBANDTYPE_HIGHSHELF=1462,       
00528     asxEQBANDTYPE_EQUALIZER=1463,       
00529     asxEQBANDTYPE_LOWPASS=1464,         
00530     asxEQBANDTYPE_HIGHPASS=1465,        
00531     asxEQBANDTYPE_BANDPASS=1466,        
00532     asxEQBANDTYPE_BANDSTOP=1467,        
00533 };
00535 enum asxCOBRANET_MODE {
00536     asxCOBRANET_MODE_NETWORK=1470,  
00537     asxCOBRANET_MODE_TETHERED=1471  
00538 };
00540 enum asxADPROPENUM_MODE {
00541     asxADPROPENUM_MODE_PROPERTIES=1480, 
00542     asxADPROPENUM_MODE_SETTINGS=1481    
00543 };
00545 enum asxADPROPENUM_SSX2 {
00546     asxADPROPENUM_SSX2_OFF=1488,        
00547     asxADPROPENUM_SSX2_ON=1489      
00548 };
00550 enum asxCOBRANET_LATENCY {
00551     asxCOBRANET_LATENCY_133ms=1490, 
00552     asxCOBRANET_LATENCY_266ms=1491, 
00553     asxCOBRANET_LATENCY_533ms=1492  
00554 };
00555 /****************************************
00556  * Various player and recorder enums
00557 *****************************************/
00558 
00560 enum asxFILE_FORMAT {
00561     asxFILE_FORMAT_WAV=10000,   
00562     asxFILE_FORMAT_RAW=10001    
00563 };
00565 enum asxFILE_MODE {
00566     asxFILE_MODE_CREATE=10100,  
00567     asxFILE_MODE_APPEND=10101   
00568 };
00570 enum asxAUDIO_FORMAT {
00571     asxAUDIO_FORMAT_PCM8=10200,     
00572     asxAUDIO_FORMAT_PCM16=10201,        
00573     asxAUDIO_FORMAT_PCM24=10202,        
00574     asxAUDIO_FORMAT_PCM32=10203,        
00575     asxAUDIO_FORMAT_PCM32_FLOAT=10204,  
00576     asxAUDIO_FORMAT_MPEG_L2=10205,      
00577     asxAUDIO_FORMAT_MPEG_L3=10206,      
00578     asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 
00579     asxAUDIO_FORMAT_DOLBY_AC2=10208,    
00580     asxAUDIO_FORMAT_PCM20=10209,        
00581     asxAUDIO_FORMAT_NONE=10210      
00582 };
00583 
00584 
00586 enum asxRECORD_MODE {
00587     asxRECORD_MODE_STEREO=10300,    
00588     asxRECORD_MODE_JOINT_STEREO=10301,  
00589     asxRECORD_MODE_DUAL_MONO=10302,     
00590     asxRECORD_MODE_MONO=10303,          
00591     asxRECORD_MODE_DONT_CARE=10304      
00592 };
00594 enum asxPLAYER_STATE{
00595     asxPLAYER_INIT=10400,           
00596     asxPLAYER_OPEN=10401,           
00597     asxPLAYER_PREFILL=10402,        
00598     asxPLAYER_RUNNING=10403,        
00599     asxPLAYER_PAUSED=10404,         
00600     asxPLAYER_DONE=10405,           
00601     asxPLAYER_DESTROY=10406         
00602 };
00604 enum asxRECORDER_STATE{
00605     asxRECORDER_INIT=10500,         
00606     asxRECORDER_OPEN=10501,         
00607     asxRECORDER_RUNNING=10502,      
00608     asxRECORDER_PAUSED=10503,       
00609     asxRECORDER_DONE=10504,         
00610     asxRECORDER_DESTROY=10505       
00611 };
00612 
00614 enum asxTIMESCALE {
00615     asxTIMESCALE_INVALID=10600,         
00616     asxTIMESCALE_BYTES=10601,           
00617     asxTIMESCALE_MILLISECONDS=10602,        
00618     asxTIMESCALE_SAMPLES=10603,         
00619     asxTIMESCALE_BYTES_REMAINING=10604,     
00620     asxTIMESCALE_MILLISECONDS_REMAINING=10605,  
00621     asxTIMESCALE_SAMPLES_REMAINING=10606        
00622 };
00623 
00625 enum asxSAMPLE_RATE {
00626     asxSAMPLE_RATE_8000=10700,
00627     asxSAMPLE_RATE_11025=10701,
00628     asxSAMPLE_RATE_16000=10702,
00629     asxSAMPLE_RATE_22050=10703,
00630     asxSAMPLE_RATE_24000=10704,
00631     asxSAMPLE_RATE_32000=10705,
00632     asxSAMPLE_RATE_44100=10706,
00633     asxSAMPLE_RATE_48000=10707,
00634     asxSAMPLE_RATE_64000=10708,
00635     asxSAMPLE_RATE_88200=10709,
00636     asxSAMPLE_RATE_96000=10710,
00637     asxSAMPLE_RATE_192000=10711,
00638     asxSAMPLE_RATE_12000=10712,
00639     asxSAMPLE_RATE_UNDEFINED=10799
00640 };
00641 
00643 enum asxMSG_LOGGING {
00644     asxMSG_LOGGING_DISABLE=10800,   
00645     asxMSG_LOGGING_ERROR=10801, 
00646     asxMSG_LOGGING_WARNING=10802,   
00647     asxMSG_LOGGING_NOTICE=10803,    
00648     asxMSG_LOGGING_INFO=10804,  
00649     asxMSG_LOGGING_DEBUG=10805, 
00650     asxMSG_LOGGING_VERBOSE=10806    
00651 };
00652 
00653 /******************************************************************************************************
00654  * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString();
00655  ******************************************************************************************************/
00657 enum asxPLAYER_FLAGS {
00658     asxPLAYER_FILE_COMPLETE=1,      
00659     asxPLAYER_FILELIST_COMPLETE=2,      
00660     asxPLAYER_FILE_START=4,         
00661 };
00662 
00664 enum asxTUNER_STATUS {
00665     asxTUNER_STATUS_VIDEO_VALID=1,              
00666     asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2,      
00667     asxTUNER_STATUS_VIDEO_IS_60HZ=4,            
00668     asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8,  
00669     asxTUNER_STATUS_PLL_LOCKED=16,              
00670     asxTUNER_STATUS_FM_STEREO=32,               
00671     asxTUNER_STATUS_DIGITAL=64,             
00672     asxTUNER_STATUS_MULTIPROGRAM=128            
00673 };
00674 
00676 enum asxTUNER_RDS_TYPE {
00677     asxTUNER_RDS_TYPE_RDS=0,        
00678     asxTUNER_RDS_TYPE_RBDS=1,       
00679 };
00680 
00682 enum asxAESEBU_STATUS {
00683     asxAESEBU_ERROR=0x01,               
00684     asxAESEBU_ERROR_NOT_LOCKED=0x02,        
00685     asxAESEBU_ERROR_POOR_QUALITY=0x04,      
00686     asxAESEBU_ERROR_PARITY_ERROR=0x08,      
00687     asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10,     
00688     asxAESEBU_ERROR_VALIDITY=0x20,          
00689     asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40      
00690 };
00691 
00693 enum asxCOMPANDER_INDEX {
00694     asxCOMPANDER_INDEX_NOISEGATE=0, 
00695     asxCOMPANDER_INDEX_COMPANDER=1  
00696 };
00697 
00699 enum asxHANDLE_TYPE {
00700     asxHANDLE_INVALID,  
00701     asxHANDLE_SYSTEM,   
00702     asxHANDLE_ADAPTER,  
00703     asxHANDLE_MIXER,    
00704     asxHANDLE_NODE,     
00705     asxHANDLE_CONTROL,  
00706     asxHANDLE_LAST      
00707     };
00708 
00710 enum asxUCONTROL_PTYPE {
00711     asxPARAM_TYPE_NONE       = 0,
00712     asxPARAM_TYPE_INTEGER    = 3,
00713     asxPARAM_TYPE_FLOAT      = 4,
00714     asxPARAM_TYPE_DOUBLE     = 5,
00715     asxPARAM_TYPE_STRING     = 6,
00716     //asxPARAM_TYPE_ENUMERATED = 7
00717     asxPARAM_TYPE_IP4_ADDRESS= 8,
00718     asxPARAM_TYPE_IP6_ADDRESS= 9,
00719     asxPARAM_TYPE_MAC_ADDRESS= 10
00720 };
00721 
00723 enum asxUCONTROL_RTYPE {
00724     asxPARAM_RANGE_NONE         = 0,
00725     asxPARAM_RANGE_STEPPED_INTEGER      = 1,
00726     asxPARAM_RANGE_STEPPED_FLOAT        = 2,
00727     asxPARAM_RANGE_ENUMERATED_INTEGER   = 3,
00728     asxPARAM_RANGE_ENUMERATED_FLOAT     = 4,
00729     asxPARAM_RANGE_ENUMERATED       = 5,
00730     asxPARAM_RANGE_STRING_LENGTH        = 6
00731 };
00732 
00734 enum asxUCONTROL_PFLAGS {
00735     asxPARAM_FLAG_WRITEABLE   = 1, 
00736     asxPARAM_FLAG_READABLE    = 2, 
00737     asxPARAM_FLAG_VOLATILE    = 4 
00738 };
00739 /**************************
00740  * Typedefs
00741  **************************/
00742 
00743 typedef void *ASX_HANDLE;   
00744 typedef enum asxERROR ASX_ERROR;    
00745 typedef enum asxNODE ASX_NODE;      
00746 typedef int ASX_TIME;               
00747 
00748 typedef void ASX_ERROR_CALLBACK(
00749         ASX_HANDLE hASX_Object,
00750         const char *pszCallingFunction,
00751         void *pUser1,
00752         void *pUser2);
00754 typedef void ASX_PLAYER_CALLBACK(
00755         ASX_HANDLE hASX_Player_Object,
00756         const enum asxPLAYER_FLAGS flags,
00757         void *pUser1);
00758 
00759 
00760 struct asxParameterRangeInfo_NamedEnumerated {
00761         int value;
00762         char name[ASX_SHORT_STRING];
00763 };
00764 
00765 struct asxParameterRangeInfo {
00766     enum asxUCONTROL_RTYPE type;
00767     union {
00768         struct {
00769             int min;
00770             int max;
00771             int step;
00772         } integer;
00773         struct {
00774             unsigned int count;
00775             int *value;
00776         } enumerated_integer;
00777         struct {
00778             unsigned int count;
00779             float *value;
00780         } enumerated_float;
00781         struct {
00782             unsigned int count;
00783             struct asxParameterRangeInfo_NamedEnumerated *enums;
00784         } enumerated;
00785         struct {
00786             float fmin;
00787             float fmax;
00788             float fstep;
00789         } floating;
00790         struct {
00791             unsigned int max_len;
00792         } string;
00793     } u;
00794 };
00795 
00796 struct asxParameterValue {
00797     enum asxUCONTROL_PTYPE eType;
00798     unsigned int uItems;
00799     void *value;
00800 };
00801 
00802 struct asxCobranetIpAutoassignParameters {
00803     char addr_start[20];
00804     char addr_end[20];
00805     int autoassign;
00806 };
00807 
00808 
00809 #ifndef ASX_H_DEFS_ONLY
00810 /**************************************************************************************
00811  * Functions
00812  **************************************************************************************/
00813 
00814 /*******************************************************************/
00826 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType);
00827 
00837 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem );
00838 
00847 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem );
00848 
00855 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface );
00856 
00866 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem );
00867 
00881 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback(   ASX_HANDLE hSystem,
00882                             ASX_ERROR_CALLBACK *pCallback,
00883                             void *pUser1,
00884                             void *pUser2);
00885 
00904 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem,
00905                     char *pszName,
00906                     const int nStringLength,
00907                     int *pnRequiredLength );
00921 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem,
00922                       char *pszSystemVersion,
00923                       const int nSystemVersionLength,
00924                       int *pnRequiredSystemVersionLength,
00925                       char *pszSubSystemVersion,
00926                       const int nSubSystemVersionLength,
00927                       int *pnRequiredSubSystemVersionLength);
00934 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount );
00942 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter );
00949 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog);
00956 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog);
00964 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms( const struct asxCobranetIpAutoassignParameters *pCAP );
00970 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms( struct asxCobranetIpAutoassignParameters *pCAP );
00971  // end of System group
00973 
00974 
00975 /*******************************************************************
00976  * Handle functions
00977  */
00987 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle); // end of Handle group
00989 
00990 /*******************************************************************
00991  * Error functions
00992  */
01006 ASX32_API ASX_ERROR ASX_Error_GetLast(
01007                             ASX_HANDLE hASXObject,
01008                             ASX_ERROR *pnAsxErrorCode,
01009                             int *pnAsxSubSystemErrorCode);
01010 
01026 ASX32_API ASX_ERROR ASX_Error_GetLastString(
01027                             ASX_HANDLE hASXObject,
01028                             char *pszAsxErrorString,
01029                             const int nAsxErrorStringLength,
01030                             int *pnRequiredAsxErrorStringLength,
01031                             char *pszAsxSubSystemErrorString,
01032                             const int nAsxSubSystemErrorStringLength,
01033                             int *pnRequiredAsxSubSystemErrorStringLength);
01034 
01035 
01041 ASX32_API ASX_ERROR ASX_Error_Clear(
01042                             ASX_HANDLE hASXObject);
01043  // end of Error group
01045 
01050 /*******************************************************************
01051  * Adapter functions
01052  */
01068 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems(
01069         ASX_HANDLE hAdapter,
01070         unsigned int *pnSubSystemMask,
01071         unsigned int *pnSubSystemOkMask);
01072 
01073 
01102 ASX32_API ASX_ERROR ASX_Adapter_GetName(
01103                             ASX_HANDLE hAdapter,
01104                             char *pszName,
01105                             const int nStringLength,
01106                             int *RequiredLength );
01107 
01124 ASX32_API ASX_ERROR ASX_Adapter_GetIndex(
01125                             ASX_HANDLE hAdapter,
01126                             int *pnIndex );
01135 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber(
01136                             ASX_HANDLE hAdapter,
01137                             unsigned long *pdwSerialNumber );
01138 
01150  ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision(
01151                             ASX_HANDLE hAdapter,
01152                             char *pszRevision);
01153 
01163  ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision(
01164                             ASX_HANDLE hAdapter,
01165                             char *pszRevision);
01166 
01176  ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress(
01177                             ASX_HANDLE hAdapter,
01178                             char *pszMAC);
01179 
01189  ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress(
01190                             ASX_HANDLE hAdapter,
01191                             char *pszIP);
01192 
01203 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization(
01204                             ASX_HANDLE hAdapter,
01205                             const int nDspIndex,
01206                             int *pnDspUtilization);
01207 
01215 ASX32_API ASX_ERROR ASX_Adapter_GetMixer(
01216                             ASX_HANDLE hAdapter,
01217                             ASX_HANDLE *p_hMixer );
01218 
01219 
01228 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount);
01235 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode);
01242 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode);
01252 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting);
01266 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2);
01275 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2);
01283 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue);
01291 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue);
01298 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount);
01299 
01300  // end of Adapter group
01302 
01307 /*******************************************************************
01308  * Mixer functions
01309  */
01328 ASX32_API ASX_ERROR ASX_Mixer_ResetControls(
01329                     ASX_HANDLE hMixer);
01330 
01337 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount(
01338                     ASX_HANDLE hMixer,
01339                     int *pnCount);
01340 
01349 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode(
01350                     ASX_HANDLE hMixer,
01351                     const int nSourceNode,
01352                     ASX_HANDLE *p_hNode );
01353 
01354 
01361 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount(
01362                     ASX_HANDLE hMixer,
01363                     int *pnCount);
01364 
01373 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode(
01374                     ASX_HANDLE hMixer,
01375                     const int nDestinationNode,
01376                     ASX_HANDLE *p_hNode );
01377 
01388 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType(
01389                     ASX_HANDLE hMixer,
01390                     const enum asxNODE eType,
01391                     const int nIndex,
01392                     ASX_HANDLE *p_hNode);
01393 
01403 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount(
01404                     ASX_HANDLE hMixer,
01405                     const enum asxNODE eType,
01406                     int *pnCount);
01407 
01408 
01409 
01416 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount(
01417                     ASX_HANDLE hMixer,
01418                     int *pnControls);
01419 
01427 ASX32_API ASX_ERROR ASX_Mixer_GetControl(
01428                     ASX_HANDLE hMixer,
01429                     const int nControl,
01430                     ASX_HANDLE *p_hControlBase );
01431 
01443 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode(
01444                     const ASX_HANDLE hMixer,
01445                     const ASX_HANDLE hSourceNode,
01446                     const ASX_HANDLE hDestinationNode,
01447                     const enum asxCONTROL eControlType,
01448                     ASX_HANDLE *p_hControlBase );
01449 
01463 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex(
01464                     ASX_HANDLE hMixer,
01465                     const enum asxNODE nSourceNodeType,
01466                     const int nSourceIndex,
01467                     const enum asxNODE nDestinationNodeType,
01468                     const int nDestinationIndex,
01469                     const enum asxCONTROL eControlType,
01470                     ASX_HANDLE *p_hControlBase );
01471 
01472 
01473  // end of Mixer group
01475 
01476 /*******************************************************************
01477  * Node functions
01478  */
01494 ASX32_API ASX_ERROR ASX_Node_GetType(
01495                     ASX_HANDLE hNode,
01496                     enum asxNODE *peType);
01497 
01506 ASX32_API ASX_ERROR ASX_Node_GetIndex(
01507                     ASX_HANDLE hNode,
01508                     int *pnIndex);
01509 
01521 ASX32_API ASX_ERROR ASX_Node_GetLocation(
01522                     ASX_HANDLE hNode,
01523                     int *pnModuleSlot,
01524                     int *pnNodeIndexOnSlot,
01525                     char *pszModuleName,
01526                     const int nStringLength);
01527 
01534 ASX32_API ASX_ERROR ASX_Node_GetSubSystem(
01535                     ASX_HANDLE hNode,
01536                     int *p_nSubSystem);
01537 
01545 ASX32_API ASX_ERROR ASX_Node_GetName(
01546             ASX_HANDLE hNode,
01547             char *pszNodeName,
01548             const int nStringLength
01549             );
01550 
01554 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType(
01555                     ASX_HANDLE hNode,
01556                     enum asxNODE *peType);
01557 
01561 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex(
01562                     ASX_HANDLE hNode,
01563                     int *pnIndex);
01564  // end of Node group
01566 
01571 /******************************************************************
01572  * Control functions
01573  */
01587 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl);
01594 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01601 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01617 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl );
01624 ASX32_API ASX_ERROR ASX_Control_GetSubSystem(
01625                     ASX_HANDLE hControl,
01626                     int *p_nSubSystem);
01627 
01628 
01629 /*
01630 enum asxCONTROL_PROPERTY {
01631     asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY,
01632     asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION,
01633     asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION
01634 };
01635 
01636 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 );
01637 */
01638  // end of Control group
01640 
01641 #if (DISABLE_PLAYREC_CONTROLS!=1)
01642 /*******************************************************************
01643  * Player Control
01644  */
01735 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile);
01742 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat);
01752 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer,
01753                             enum asxAUDIO_FORMAT *peFormat,
01754                             int *pnChannnels,
01755                             int *pnSampleRate,
01756                             int *pnBitRate);
01770 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01776 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer);
01783 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer);
01790 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer);
01797 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer);
01803 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer);
01815 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition);
01823 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01830 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState);
01840 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale);
01849 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale);
01859 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength );
01867 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping );
01875 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping );
01886 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist(
01887     ASX_HANDLE hPlayer,
01888     const char **pszFileList,
01889     const unsigned int nFiles);
01910 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus(
01911     ASX_HANDLE hPlayer,
01912     unsigned int *nTotalFileCount,
01913     int *nCurrentFile,
01914     char **szCurrentFilename,
01915     unsigned int *nTotalTime_ms,
01916     unsigned int *nCurrentTime_ms
01917 );
01927 ASX32_API ASX_ERROR ASX_Player_RegisterCallback(
01928     ASX_HANDLE hPlayer,
01929     ASX_PLAYER_CALLBACK *pCallback,
01930     const enum asxPLAYER_FLAGS flags,
01931     void *pUser1);
01938 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer);
01939  // end of Player group
01941 
01985 /******************************************************************
01986  * Recorder Control
01987  */
02067 ASX32_API ASX_ERROR ASX_Recorder_Open(
02068     ASX_HANDLE hRecorder, const char *pszFile,
02069     const enum asxFILE_FORMAT nFileType,
02070     const enum asxFILE_MODE nFileMode,
02071     const int nChannels,
02072     const enum asxAUDIO_FORMAT nFormat,
02073     const long lSampleRate,
02074     const long lBitrate,
02075     const enum asxRECORD_MODE nMode
02076     );
02082 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder );
02088 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder);
02094 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder);
02100 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder);
02108 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition);
02115 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState);
02125 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength );
02134 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group
02136 
02187 #endif
02188 /*******************************************************************
02189  * Meter Control
02190  */
02201 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels);
02202 
02222 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels);
02236 ASX32_API ASX_ERROR ASX_Meter_GetRMS(  ASX_HANDLE hMeter, float *fdB, const int nChannels);
02324 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs); // end of Meter group
02326 
02331 /********************************************************************
02332  * Volume Control
02333  */
02344 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels);
02352 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels);
02360 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels);
02369 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume,
02370                              float *fMinGain,
02371                              float *fMaxGain,
02372                              float *fGainStep);
02385 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
02387 
02388 /*******************************************************************
02389  * Level Control
02390  */
02402 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain);
02409 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain);
02418 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel,
02419                              float *fMinGain,
02420                              float *fMaxGain,
02421                              float *fGainStep);
02422  // end of Level group
02424 
02425 /*******************************************************************
02426  * Multiplexer Control
02427  */
02445 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount);
02453 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex);
02461 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group
02466 /******************************************************************
02467  * Channel Mode Control
02468  */
02482 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount);
02489 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode);
02496 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group
02498 
02499 /******************************************************************
02500  * Tuner Control
02501  */
02514 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount);
02521 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand);
02528 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand);
02538 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq);
02547 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq);
02548 
02558 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner,
02559             const enum asxTUNERBAND eBand,
02560             unsigned long *plMin, unsigned long *plMax,
02561             unsigned long *plStep);
02562 
02572 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep);
02579 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain);
02586 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain);
02593 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel);
02600 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel);
02610 ASX32_API ASX_ERROR ASX_Tuner_GetStatus(
02611             ASX_HANDLE hTuner,
02612             unsigned int *puErrorStatusMask,
02613             unsigned int *puErrorStatus);
02622 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner,
02623             const enum asxTUNERMODE eMode,
02624             enum asxTUNERMODE *peSetting);
02625 
02634 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner,
02635             const enum asxTUNERMODE eMode,
02636             const enum asxTUNERMODE eSetting);
02637 
02646 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner,
02647             const int nIndex,
02648             enum asxTUNERDEEMPHASIS *peDeemphasis,
02649             int *pnCount);
02650 
02657 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner,
02658             const enum asxTUNERDEEMPHASIS eDeemphasis
02659             );
02660 
02667 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner,
02668             enum asxTUNERDEEMPHASIS *peDeemphasis
02669             );
02670 
02679 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner,
02680             const int nIndex,
02681             enum asxTUNERPROGRAM *peProgram,
02682             int *pnCount);
02683 
02690 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner,
02691             const enum asxTUNERPROGRAM eProgram
02692             );
02693 
02700 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner,
02701             enum asxTUNERPROGRAM *peProgram
02702             );
02703 
02710 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality(
02711     ASX_HANDLE hTuner,
02712     int *pnSignalQuality
02713 );
02714 
02715 /*
02716  * Get a Tuner property of type integer
02717  * @param hTuner A handle to an ASX tuner control.
02718  * @param nTunerProperty - tuner property.  One of #asxTUNER_PROPERTY_INT
02719  * @param nPropertyValue - the returned property
02720  * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned.
02721  */
02722 /*
02723 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner,
02724                 const enum asxTUNER_PROPERTY_INT eTunerProperty,
02725             int *pnPropertyValue
02726             );
02727 */
02728 
02736 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner,
02737             char *szSdkVersion,
02738             const int nStringLength
02739             );
02747 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner,
02748             char *szSdkVersion,
02749             const int nStringLength
02750             );
02751 
02760 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner,
02761             const int nIndex,
02762             enum asxTUNERHDBLEND *peBlend,
02763             int *pnCount);
02764 
02771 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner,
02772             const enum asxTUNERHDBLEND  nMode
02773             );
02774 
02781 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner,
02782             enum asxTUNERHDBLEND *pnMode
02783             );
02784  // end of Tuner group
02791 /******************************************************************
02792  * PAD Control
02793  */
02807 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD,
02808             char *pszChannelName,
02809             const int nStringLength
02810             );
02811 
02820 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD,
02821             char *pszArtist,
02822             const int nStringLength
02823             );
02824 
02833 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD,
02834             char *pszTitle,
02835             const int nStringLength
02836             );
02837 
02846 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD,
02847             char *pszComment,
02848             const int nStringLength
02849             );
02850 
02858 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD,
02859             int *pnProgramType
02860             );
02871 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD,
02872             const enum asxTUNER_RDS_TYPE eType,
02873             const int nPTY,
02874             char *pszString,
02875             const int nStringLength
02876             );
02877 
02886 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD,
02887             int *uPI
02888             );
02889 
02890  // end of pads group
02892 
02893 
02894 /******************************************************************
02895  * Sample Clock Control
02896  */
02904 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
02905 
02914 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount);
02915 
02918 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate);
02919 
02926 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate);
02927 
02934 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
02941 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate);
02950 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount);
02957 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource);
02964 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource);
02971 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable);
02978 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable);
02988 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock);
02995 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group
02997 
02998 /******************************************************************
02999  * AESEBU Receiver Control
03000  **/
03013 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx,
03014                                                       unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus );
03021 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx,
03022                                                      unsigned int *pdwSampleRate );
03031 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03032 
03039 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx,
03040                                                  const enum asxAESEBU_FORMAT eAesebuFormat );
03047 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx,
03048                                                  enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group
03050 
03051 /******************************************************************
03052  * AESEBU Transmitter Control
03053  **/
03066 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount);
03073 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat );
03080 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group
03082 
03083 /******************************************************************
03084  * GPIO Control
03085  */
03100 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits);
03112 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits);
03122 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits);
03131 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group
03133 
03134 /********************************************************************
03135  * Vox Control
03136  */
03147 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel);
03154 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel);
03163 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox,
03164                              float *fMinLevel,
03165                              float *fMaxLevel,
03166                              float *fLevelStep); // end of Vox group
03168 
03169 /********************************************************************
03170  * Generic Control
03171  */
03182 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group
03184 
03185 /******************************************************************
03186  * Microphone Control
03187  */
03198 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff);
03205 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group
03207 
03208 /******************************************************************
03209  * Parametric EQ control
03210  */
03222 ASX32_API ASX_ERROR ASX_EQ_GetInfo(
03223         ASX_HANDLE hParmEq,
03224         unsigned short  *pwNumberOfBands,
03225         unsigned short  *pwEnabled
03226         );
03233 ASX32_API ASX_ERROR ASX_EQ_SetState(
03234         ASX_HANDLE hParmEq,
03235         const unsigned short    wOnOff
03236         );
03250 ASX32_API ASX_ERROR ASX_EQ_SetBand(
03251         ASX_HANDLE hParmEq,
03252         const unsigned short        wIndex,
03253         const enum asxEQBANDTYPE    eType,
03254         const unsigned long     dwFrequencyHz,
03255         const short             nQ100,
03256         const short             nGain0_01dB
03257         );
03258 
03272 ASX32_API ASX_ERROR ASX_EQ_GetBand(
03273         ASX_HANDLE hParmEq,
03274         const unsigned short        wIndex,
03275         enum asxEQBANDTYPE  *peType,
03276         unsigned long       *pdwFrequencyHz,
03277         short               *pnQ100,
03278         short               *pnGain0_01dB
03279         ); // end of Parametric Equalizer group
03281 
03282 /******************************************************************
03283  * Compander control
03284  */
03302 ASX32_API ASX_ERROR ASX_Compander_Set(
03303         ASX_HANDLE hCompander,
03304         const unsigned short  wAttack,
03305         const unsigned short  wDecay,
03306         const short           wRatio100,
03307         const short           nThreshold0_01dB,
03308         const short           nMakeupGain0_01dB
03309         );
03310 
03324 ASX32_API ASX_ERROR ASX_Compander_Get(
03325         ASX_HANDLE hCompander,
03326         unsigned short  *pwAttack,
03327         unsigned short  *pwDecay,
03328         short           *pwRatio100,
03329         short           *pnThreshold0_01dB,
03330         short           *pnMakeupGain0_01dB
03331         );
03338 ASX32_API ASX_ERROR ASX_Compander_SetEnable(
03339         ASX_HANDLE hCompander,
03340         const unsigned int nOn
03341 );
03348 ASX32_API ASX_ERROR ASX_Compander_GetEnable(
03349         ASX_HANDLE hCompander,
03350         unsigned int *nOn
03351 );
03358 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain(
03359         ASX_HANDLE hCompander,
03360         const float fMakeupGain
03361 );
03368 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain(
03369         ASX_HANDLE hCompander,
03370         float *fMakeupGain
03371 );
03379 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant(
03380         ASX_HANDLE hCompander,
03381         enum asxCOMPANDER_INDEX index,
03382         const unsigned int nAttack
03383 );
03391 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant(
03392         ASX_HANDLE hCompander,
03393         enum asxCOMPANDER_INDEX index,
03394         unsigned int *pnAttack
03395 );
03403 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant(
03404         ASX_HANDLE hCompander,
03405         enum asxCOMPANDER_INDEX index,
03406         const unsigned int nDecay
03407 );
03415 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant(
03416         ASX_HANDLE hCompander,
03417         enum asxCOMPANDER_INDEX index,
03418         unsigned int *pnDecay
03419 );
03427 ASX32_API ASX_ERROR ASX_Compander_SetThreshold(
03428         ASX_HANDLE hCompander,
03429         enum asxCOMPANDER_INDEX index,
03430         const float nThreshold
03431 );
03439 ASX32_API ASX_ERROR ASX_Compander_GetThreshold(
03440         ASX_HANDLE hCompander,
03441         enum asxCOMPANDER_INDEX index,
03442         float *pnThreshold
03443 );
03451 ASX32_API ASX_ERROR ASX_Compander_SetRatio(
03452         ASX_HANDLE hCompander,
03453         enum asxCOMPANDER_INDEX index,
03454         const float fRatio
03455 );
03463 ASX32_API ASX_ERROR ASX_Compander_GetRatio(
03464         ASX_HANDLE hCompander,
03465         enum asxCOMPANDER_INDEX index,
03466         float  *fRatio
03467 );
03468  // end of Compander group
03470 
03475 /******************************************************************
03476  * Cobranet control
03477  */
03487 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount);
03491 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode);
03495 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode);
03502 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03509 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03517 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr);
03525 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr);
03533 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03541 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength );
03549 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength );
03557 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString);
03565 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength );
03573 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString);
03581 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision);
03590 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay);
03598 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate);
03606 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate);
03616 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting);
03626 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting);
03634 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority);
03642 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority);
03650 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState);
03657 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff);
03664 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff);
03677 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig(
03678     ASX_HANDLE hCobranet,
03679     const unsigned int nBaud,
03680     const unsigned int nPPeriod,
03681     const char pRxMAC[6],
03682     const int nAcceptUnicast,
03683     const char pTxMAC[6]);
03695 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig(
03696     ASX_HANDLE hCobranet,
03697     unsigned int *pnBaud,
03698     unsigned int *pnPPeriod,
03699     char pRxMAC[6],
03700     int *pnAcceptUnicast,
03701     char pTxMAC[6]); // end of Cobranet group
03703 /******************************************************************
03704  * Cobranet transmitter control
03705  */
03718 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers);
03725 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle);
03732 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle);
03739 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount);
03746 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount);
03753 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]);
03760 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]);
03767 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat);
03776 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat);
03784 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast);
03815 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast);
03816  // end of Cobranet Tx group
03818 
03819 /******************************************************************
03820  * Cobranet receiver control
03821  */
03866 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]);
03873 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle);
03880 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle);
03888 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs);
03896 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs);
03903 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]);
03910 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]);
03917 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay);
03930 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group
03932 
03933 /******************************************************************
03934  * Tone Detector control
03935  */
03951 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
03958 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
03965 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable);
03972 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable);
03977 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold);
03983 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold);
03989 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState);
03995 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group
03997 
03998 /******************************************************************
03999  * Silence Detector control
04000  */
04011 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04018 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04025 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable);
04032 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable);
04033 
04039 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay(
04040     ASX_HANDLE hSilenceDetector,
04041     const unsigned int Delay
04042 );
04048 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay(
04049     ASX_HANDLE hSilenceDetector,
04050     unsigned int *Delay
04051 );
04056 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold);
04061 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold);
04067 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group
04069 /******************************************************************
04070  * Block control
04071  */
04087 ASX32_API ASX_ERROR ASX_Block_GetInfo(
04088         ASX_HANDLE hBlock,
04089         char *szBlockName,
04090         const unsigned int uStringLength,
04091         unsigned int *uParameterCount);
04092 
04102 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName(
04103         ASX_HANDLE hBlock,
04104         const unsigned int uParameterIndex,
04105         char *szParameterName,
04106         const unsigned int uStringLength);
04116 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits(
04117         ASX_HANDLE hBlock,
04118         const unsigned int uParameterIndex,
04119         char *szParameterUnits,
04120         const unsigned int uStringLength);
04128 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType(
04129         ASX_HANDLE hBlock,
04130         const unsigned int uParameterIndex,
04131         enum asxUCONTROL_PTYPE *eType);
04132 
04140 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags(
04141         ASX_HANDLE hBlock,
04142         const unsigned int uParameterIndex,
04143         enum asxUCONTROL_PFLAGS *eFlags);
04144 
04152 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount(
04153         ASX_HANDLE hBlock,
04154         const unsigned int uParameterIndex,
04155         unsigned int *uCount);
04156 
04164 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange(
04165         ASX_HANDLE hBlock,
04166         const unsigned int uParameterIndex,
04167         struct asxParameterRangeInfo *info);
04168 
04179 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName(
04180         ASX_HANDLE hBlock,
04181         const unsigned int uParameterIndex,
04182         const unsigned int uEnumItem,
04183         char *szEnumName,
04184         const unsigned int uStringLength);
04185 
04193 ASX32_API ASX_ERROR ASX_Block_Parameter_Set(
04194         ASX_HANDLE hBlock,
04195         const unsigned int uParameterIndex,
04196         struct asxParameterValue *data);
04197 
04205 ASX32_API ASX_ERROR ASX_Block_Parameter_Get(
04206         ASX_HANDLE hBlock,
04207         const unsigned int uParameterIndex,
04208         struct asxParameterValue *data);
04209 
04210 /* for the future
04211 ASX32_API ASX_ERROR ASX_ParameterValue_Init(
04212         struct asxParameterValue *data,
04213         enum asxUCONTROL_PTYPE *eType,
04214         const unsigned int uElementCount,
04215         void *data2);
04216 */
04217  // end of block group
04219 
04220 #endif /* ASX_H_DEFS_ONLY */
04221 #ifdef __cplusplus
04222 }
04223 #endif
04224 #endif  /* _ASX_H_ */
04225 
04226 /***********************************************************
04227 *
04228 ***********************************************************/

Generated on Wed Oct 6 09:58:05 2010 for ASX by  doxygen 1.4.6-NO