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