|
ASX Version4.20.14
|
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 00172 #ifdef __cplusplus 00173 extern "C" { 00174 #endif 00175 00176 // The following ifdef block is the standard way of creating macros which make exporting 00177 // from a DLL simpler. All files within this DLL are compiled with the ASX32_EXPORTS 00178 // symbol defined on the command line. this symbol should not be defined on any project 00179 // that uses this DLL. This way any other project whose source files include this file see 00180 // ASX32_API functions as being imported from a DLL, wheras this DLL sees symbols 00181 // defined with this macro as being exported. 00182 #ifdef ASX32_EXPORTS 00183 #define ASX32_API __declspec(dllexport) 00184 #endif 00185 #ifdef ASX32_IMPORTS 00186 #define ASX32_API __declspec(dllimport) 00187 #endif 00188 #ifndef ASX32_API 00189 #define ASX32_API 00190 #endif 00191 00192 /************************** 00193 * Defines 00194 **************************/ 00199 #define ASX_SYSTEM_TYPE_HPI 0 ///< Use this to select ASI's HPI interface when calling ASX_System_Create(). 00200 #define ASX_SYSTEM_TYPE_WAVE 1 ///< Use this to select Microsoft's WAVE interface when calling ASX_System_Create(). 00201 #define ASX_SYSTEM_TYPE_ALSA 2 ///< Use this to select the Linux ALSA interface when calling ASX_System_Create(). 00202 #define ASX_SYSTEM_TYPE_DIRECTX 3 ///< Use this to select Microsoft's DirectX interface when calling ASX_System_Create(). 00203 #define ASX_SYSTEM_TYPE_PORTAUDIO 4 ///< Use this to select the PortAudio interface when calling ASX_System_Create(). 00204 #define ASX_SYSTEM_TYPE_PCXTOOLS 5 ///< Use this to select Digigram's PCX interface when calling ASX_System_Create(). 00205 #define ASX_SYSTEM_TYPE_SNMP 6 ///< Use this to select Cobranet SNMP interface when calling ASX_System_Create(). 00206 #define ASX_SYSTEM_TYPE_HPIUDP 7 ///< Use this to select ASI's HPI interface over UDP when calling ASX_System_Create(). Also supports HPI. 00207 #define ASX_SYSTEM_TYPE_DUMMY 8 ///< Dummy backend 00208 #define ASX_SYSTEM_TYPE_ANY 9 ///< Wild card - any subsystem (reserved). 00209 #define ASX_SYSTEM_TYPE_ASIO 10 ///< Use this to select Stienberg's ASIO interface when calling ASX_System_Create(). 00210 #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(). 00211 #define ASX_SYSTEM_TYPE_COUNT 12 ///< Indicates the number of subsystems defined. 00212 // end of SubSystemTypes group 00213 00214 #define ASX_SHORT_STRING 32 ///< Short string size for adapter, node, control, enum translations. 00215 #define ASX_LONG_STRING 128 ///< Long string size for error strings, filenames and PADs strings. 00216 #define ASX_LONGLONG_STRING 256 ///< LongLong string size for PADs comment string. 00217 00218 #ifdef HPI_OS_WIN32_USER 00219 #include <crtdbg.h> 00220 #endif 00221 00222 #ifndef _RPT0 00223 #define _RPT0(l,s) printf(s) ///< A debug helper function, 0 arguments. 00224 #define _RPT1(l,s,d1) printf(s,d1) ///< A debug helper function, 1 argument. 00225 #endif 00226 00227 /************************** 00228 * Enums 00229 **************************/ 00230 00232 enum asxERROR { 00233 asxERROR_NO_ERROR=0, 00234 // leave a gap here so that any 8-bit bit enums will never map to error codes. 00235 asxERROR_ASXOBJECT=256, 00236 asxERROR_INDEX_OUT_OF_RANGE=257, 00237 asxERROR_UNIMPLEMENTED=258, 00238 asxERROR_COMMUNICATING_WITH_DEVICE=259, 00239 asxERROR_STARTING_DEVICE=260, 00240 asxERROR_NOT_OPEN=261, 00241 asxERROR_ALREADY_OPEN=262, 00242 asxERROR_INVALID_FORMAT=263, 00243 asxERROR_INTERNAL_BUFFERING_ERROR=264, 00244 asxERROR_AES18=265, 00245 asxERROR_INVALID_OPERATION=266, 00246 asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267, 00247 asxERROR_BUFFER_TOO_SMALL=268, 00248 asxERROR_OUTOFMEMORY=269, 00249 asxERROR_DEPRECATED=270, 00250 asxERROR_TOO_MANY_CLIENTS=271, 00251 00252 asxERROR_COBRANET_NODE_NOT_FOUND=272, 00253 asxERROR_COBRANET_NODE_FOUND=273, 00254 asxERROR_NO_IP_ADDRESSES_AVAILABLE=274, 00255 asxERROR_IP_ASSIGNED=275, 00256 asxERROR_IP_CHANGED=276, 00257 asxERROR_IP_AUTOASSIGN_DISABLED=277, 00258 asxERROR_PCAP_ERROR=278, 00259 asxERROR_DISCO_DLL_NOT_FOUND=279, 00260 asxERROR_HOST_NOT_FOUND=280, 00261 asxERROR_COBRANET_NODE_UNREACHABLE=281, 00262 asxERROR_DUPLICATE_ADAPTER_INDEX=282, 00263 asxERROR_AVDECC_DLL_NOT_FOUND = 283, 00264 00265 asxERROR_INVALID_CONTROL=304, 00266 asxERROR_INVALID_CONTROL_VALUE=305, 00267 asxERROR_INVALID_CONTROL_NOT_FOUND=306, 00268 asxERROR_INVALID_NUMBER_OF_CHANNELS=307, 00269 asxERROR_INVALID_CONTROL_ATTRIBUTE=308, 00270 asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309, 00271 asxERROR_INVALID_CONTROL_OPERATION=310, 00272 asxERROR_CONTROL_NOT_READY=311, 00273 00274 asxERROR_FILE_OPEN_FAILED=336, 00275 00276 asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 00277 asxERROR_PLAYER_TIME_OUT=385, 00278 asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386, 00279 asxERROR_PLAYER_TWAV=387, 00280 asxERROR_PLAYER_NOFILE=388, 00281 asxERROR_PLAYER_INVALIDFILEFORMAT=389, 00282 asxERROR_PLAYER_UNSUPPORTEDFORMAT=390, 00283 asxERROR_PLAYER_FILEREADERROR=391, 00284 asxERROR_PLAYER_FILEOPENERROR=392, 00285 00286 asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448, 00287 asxERROR_RECORDER_TIME_OUT=449, 00288 asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 00289 asxERROR_RECORDER_TWAV=451, 00290 asxERROR_RECORDER_FILECREATEERROR=452, 00291 asxERROR_RECORDER_FILEWRITEERROR=453, 00292 asxERROR_RECORDER_FORMATMISMATCH=454, 00293 asxERROR_RECORDER_INVALIDFILENAME=455, 00294 00295 asxERROR_MIXER_SAVECONTROLSTATE=460, 00296 00297 asxERROR_UNKNOWN=4095 00298 }; 00299 00301 enum asxNODE { 00302 asxNODE_NONE=0, 00303 asxNODE_INVALID=400, 00304 00305 asxNODE_ADAPTER=401, 00306 asxNODE_PLAYER=402, 00307 asxNODE_LINE_IN=403, 00308 asxNODE_AESEBU_IN=404, 00309 asxNODE_TUNER_IN=405, 00310 asxNODE_RADIO_FREQ_IN=406, 00311 asxNODE_CLOCK_SOURCE_IN=407, 00312 asxNODE_BITSTREAM_IN=408, 00313 asxNODE_MICROPHONE_IN=409, 00314 asxNODE_COBRANET_IN=410, 00315 asxNODE_COBRANET_RECEIVER=411, 00316 asxNODE_ANALOG_IN=412, 00317 asxNODE_SDI_IN=413, 00318 asxNODE_RTP_DESTINATION_IN=414, 00319 asxNODE_INTERNAL_IN=416, 00320 asxNODE_AVB_IN_STREAM=417, 00321 asxNODE_BLULINK_IN=418, 00322 asxNODE_AVB_IN_AUDIO = 419, 00323 00324 asxNODE_LAST_SOURCE_NODE=420, 00325 00326 asxNODE_FIRST_DEST_NODE=450, 00327 asxNODE_RECORDER=450, 00328 asxNODE_LINE_OUT=451, 00329 asxNODE_AESEBU_OUT=452, 00330 asxNODE_RADIO_FREQ_OUT=453, 00331 asxNODE_SPEAKER_OUT=454, 00332 asxNODE_COBRANET_OUT=455, 00333 asxNODE_COBRANET_TRANSMITTER=456, 00334 asxNODE_ANALOG_OUT=457, 00335 asxNODE_SDI_OUT=458, 00336 asxNODE_RTP_SOURCE_OUT=459, 00337 asxNODE_AVB_OUT_STREAM=460, 00338 asxNODE_INTERNAL_OUT=461, 00339 asxNODE_BLULINK_OUT=462, 00340 asxNODE_AVB_OUT_AUDIO = 463, 00341 00342 asxNODE_LAST_DEST_NODE=464 00343 }; 00344 00346 enum asxCONTROL { 00347 asxCONTROL_INVALID=500, 00348 00349 asxCONTROL_CONNECTION=501, 00350 asxCONTROL_VOLUME=502, 00351 asxCONTROL_METER=503, 00352 asxCONTROL_MUTE=504, 00353 asxCONTROL_MULTIPLEXER=505, 00354 asxCONTROL_AESEBU_TRANSMITTER=506, 00355 asxCONTROL_AESEBU_RECEIVER=507, 00356 asxCONTROL_LEVEL=508, 00357 asxCONTROL_TUNER=509, 00358 asxCONTROL_RDS=510, 00359 asxCONTROL_VOX=511, 00360 asxCONTROL_AES18_TRANSMITTER=512, 00361 asxCONTROL_AES18_RECEIVER=513, 00362 asxCONTROL_AES18_BLOCK_GENERATOR=514, 00363 asxCONTROL_CHANNEL_MODE=515, 00364 asxCONTROL_BIT_STREAM=516, 00365 asxCONTROL_SAMPLE_CLOCK=517, 00366 asxCONTROL_MICROPHONE=518, 00367 asxCONTROL_PARAMETRIC_EQ=519, 00368 asxCONTROL_COMPANDER=520, 00369 asxCONTROL_COBRANET=521, 00370 asxCONTROL_PLAYER=522, 00371 asxCONTROL_RECORDER=523, 00372 asxCONTROL_GPIO=524, 00373 asxCONTROL_RESERVED_525=525, 00374 asxCONTROL_RESERVED_526=526, 00375 asxCONTROL_RESERVED_527=527, 00376 asxCONTROL_RESERVED_528=528, 00377 asxCONTROL_GENERIC=529, 00378 asxCONTROL_TONEDETECTOR=530, 00379 asxCONTROL_SILENCEDETECTOR=531, 00380 asxCONTROL_COBRANET_TRANSMITTER=532, 00381 asxCONTROL_COBRANET_RECEIVER=533, 00382 asxCONTROL_PAD=534, 00383 asxCONTROL_SRC=535, 00384 asxCONTROL_BLOCK=536, 00385 00386 asxCONTROL_LAST_CONTROL=537 00387 }; 00388 00389 /**************************************** 00390 * Various control enums 00391 *****************************************/ 00392 00394 enum asxVOLUME_AUTOFADE { 00395 asxVOLUME_AUTOFADE_LOG, 00396 asxVOLUME_AUTOFADE_LINEAR 00397 }; 00398 00400 enum asxMETER_TYPE { 00401 asxMETER_PEAK, 00402 asxMETER_RMS 00403 }; 00404 00406 enum asxCHANNELMODE { 00407 asxCHANNELMODE_ILLEGAL=1000, 00408 asxCHANNELMODE_NORMAL=1001, 00409 asxCHANNELMODE_SWAP=1002, 00410 asxCHANNELMODE_STEREOTOLEFT=1003, 00411 asxCHANNELMODE_STEREOTORIGHT=1004, 00412 asxCHANNELMODE_LEFTTOSTEREO=1005, 00413 asxCHANNELMODE_RIGHTTOSTEREO=1006 00414 }; 00416 enum asxADAPTERMODE { 00417 asxADAPTERMODE_ILLEGAL=1100, 00418 asxADAPTERMODE_4_PLAY=1101, 00419 asxADAPTERMODE_6_PLAY=1102, 00420 asxADAPTERMODE_8_PLAY=1103, 00421 asxADAPTERMODE_9_PLAY=1104, 00422 asxADAPTERMODE_12_PLAY=1105, 00423 asxADAPTERMODE_16_PLAY=1106, 00424 asxADAPTERMODE_1_PLAY=1107, 00425 asxADAPTERMODE_MODE_1=1108, 00426 asxADAPTERMODE_MODE_2=1109, 00427 asxADAPTERMODE_MODE_3=1110, 00428 asxADAPTERMODE_MULTICHANNEL=1111, 00429 asxADAPTERMODE_MONO=1112, 00430 asxADAPTERMODE_LOW_LATENCY=1113, 00431 asxADAPTERMODE_24_PLAY=1114, 00432 asxADAPTERMODE_32_PLAY = 1115 00433 }; 00435 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!! 00436 enum asxTUNERBAND { 00437 asxTUNERBAND_AM=1200, 00438 asxTUNERBAND_FM=1201, 00439 asxTUNERBAND_TV=1202, 00440 asxTUNERBAND_FM_STEREO=1203, 00441 asxTUNERBAND_AUX=1204, 00442 asxTUNERBAND_TV_PAL_BG=1205, 00443 asxTUNERBAND_TV_PAL_I=1206, 00444 asxTUNERBAND_TV_PAL_DK=1207, 00445 asxTUNERBAND_TV_SECAM_L=1208, 00446 asxTUNERBAND_DAB=1209 00447 }; 00449 enum asxTUNERDEEMPHASIS { 00450 asxTUNERDEEMPHASIS_50=1240, 00451 asxTUNERDEEMPHASIS_75=1241, 00452 asxTUNERDEEMPHASIS_NONE=1242, 00453 }; 00455 enum asxTUNERMODE { 00456 asxTUNERMODE_RSS=1250, 00457 asxTUNERMODE_RSS_ENABLE=1251, 00458 asxTUNERMODE_RSS_DISABLE=1252 00459 }; 00461 enum asxTUNERPROGRAM { 00462 asxTUNERPROGRAM_NONE=1260, 00463 asxTUNERPROGRAM_1=1261, 00464 asxTUNERPROGRAM_2=1262, 00465 asxTUNERPROGRAM_3=1263, 00466 asxTUNERPROGRAM_4=1264, 00467 asxTUNERPROGRAM_5=1265, 00468 asxTUNERPROGRAM_6=1266, 00469 asxTUNERPROGRAM_7=1267, 00470 asxTUNERPROGRAM_8=1268, 00471 }; 00473 enum asxTUNERHDBLEND { 00474 asxTUNERHDBLEND_AUTO=1280, 00475 asxTUNERHDBLEND_ANALOG=1281, 00476 }; 00477 00478 00480 enum asxSAMPLE_CLOCK_SOURCE { 00481 asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400, 00482 asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 00483 asxSAMPLE_CLOCK_SOURCE_WORD=1402, 00484 asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403, 00485 asxSAMPLE_CLOCK_SOURCE_SMPTE=1404, 00486 asxSAMPLE_CLOCK_SOURCE_NETWORK=1405, 00487 asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 00488 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407, 00489 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408, 00490 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409, 00491 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410, 00492 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411, 00493 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412, 00494 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413, 00495 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414, 00496 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415, 00497 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416, 00498 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417, 00499 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418, 00500 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419, 00501 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420, 00502 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421, 00503 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422, 00504 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423, 00505 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424, 00506 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425, 00507 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426, 00508 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427, 00509 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428, 00510 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429, 00511 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430, 00512 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431, 00513 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432, 00514 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433, 00515 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434, 00516 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435, 00517 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436, 00518 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437, 00519 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438, 00520 asxSAMPLE_CLOCK_SOURCE_LOCAL=1439, 00521 asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440, 00522 asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441, 00523 asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442, 00524 asxSAMPLE_CLOCK_SOURCE_BLULINK=1443 00525 }; 00526 00528 enum asxAESEBU_FORMAT { 00529 asxAESEBU_FORMAT_AESEBU=1450, 00530 asxAESEBU_FORMAT_SPDIF=1451, 00531 asxAESEBU_FORMAT_UNDEFINED=1452 00532 }; 00534 enum asxEQBANDTYPE { 00535 asxEQBANDTYPE_BYPASS=1460, 00536 asxEQBANDTYPE_LOWSHELF=1461, 00537 asxEQBANDTYPE_HIGHSHELF=1462, 00538 asxEQBANDTYPE_EQUALIZER=1463, 00539 asxEQBANDTYPE_LOWPASS=1464, 00540 asxEQBANDTYPE_HIGHPASS=1465, 00541 asxEQBANDTYPE_BANDPASS=1466, 00542 asxEQBANDTYPE_BANDSTOP=1467, 00543 }; 00545 enum asxCOBRANET_MODE { 00546 asxCOBRANET_MODE_NETWORK=1470, 00547 asxCOBRANET_MODE_TETHERED=1471 00548 }; 00550 enum asxADPROPENUM_MODE { 00551 asxADPROPENUM_MODE_PROPERTIES=1480, 00552 asxADPROPENUM_MODE_SETTINGS=1481 00553 }; 00555 enum asxADPROPENUM_SSX2 { 00556 asxADPROPENUM_SSX2_OFF=1488, 00557 asxADPROPENUM_SSX2_ON=1489 00558 }; 00560 enum asxCOBRANET_LATENCY { 00561 asxCOBRANET_LATENCY_133ms=1490, 00562 asxCOBRANET_LATENCY_266ms=1491, 00563 asxCOBRANET_LATENCY_533ms=1492 00564 }; 00565 /**************************************** 00566 * Various player and recorder enums 00567 *****************************************/ 00568 00570 enum asxFILE_FORMAT { 00571 asxFILE_FORMAT_WAV=10000, 00572 asxFILE_FORMAT_RAW=10001 00573 }; 00575 enum asxFILE_MODE { 00576 asxFILE_MODE_CREATE=10100, 00577 asxFILE_MODE_APPEND=10101 00578 }; 00580 enum asxAUDIO_FORMAT { 00581 asxAUDIO_FORMAT_PCM8=10200, 00582 asxAUDIO_FORMAT_PCM16=10201, 00583 asxAUDIO_FORMAT_PCM24=10202, 00584 asxAUDIO_FORMAT_PCM32=10203, 00585 asxAUDIO_FORMAT_PCM32_FLOAT=10204, 00586 asxAUDIO_FORMAT_MPEG_L2=10205, 00587 asxAUDIO_FORMAT_MPEG_L3=10206, 00588 asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 00589 asxAUDIO_FORMAT_DOLBY_AC2=10208, 00590 asxAUDIO_FORMAT_PCM20=10209, 00591 asxAUDIO_FORMAT_NONE=10210 00592 }; 00593 00594 00596 enum asxRECORD_MODE { 00597 asxRECORD_MODE_STEREO=10300, 00598 asxRECORD_MODE_JOINT_STEREO=10301, 00599 asxRECORD_MODE_DUAL_MONO=10302, 00600 asxRECORD_MODE_MONO=10303, 00601 asxRECORD_MODE_DONT_CARE=10304 00602 }; 00604 enum asxPLAYER_STATE{ 00605 asxPLAYER_INIT=10400, 00606 asxPLAYER_OPEN=10401, 00607 asxPLAYER_PREFILL=10402, 00608 asxPLAYER_RUNNING=10403, 00609 asxPLAYER_PAUSED=10404, 00610 asxPLAYER_DONE=10405, 00611 asxPLAYER_DESTROY=10406 00612 }; 00614 enum asxRECORDER_STATE{ 00615 asxRECORDER_INIT=10500, 00616 asxRECORDER_OPEN=10501, 00617 asxRECORDER_RUNNING=10502, 00618 asxRECORDER_PAUSED=10503, 00619 asxRECORDER_DONE=10504, 00620 asxRECORDER_DESTROY=10505 00621 }; 00622 00624 enum asxTIMESCALE { 00625 asxTIMESCALE_INVALID=10600, 00626 asxTIMESCALE_BYTES=10601, 00627 asxTIMESCALE_MILLISECONDS=10602, 00628 asxTIMESCALE_SAMPLES=10603, 00629 asxTIMESCALE_BYTES_REMAINING=10604, 00630 asxTIMESCALE_MILLISECONDS_REMAINING=10605, 00631 asxTIMESCALE_SAMPLES_REMAINING=10606 00632 }; 00633 00635 enum asxSAMPLE_RATE { 00636 asxSAMPLE_RATE_8000=10700, 00637 asxSAMPLE_RATE_11025=10701, 00638 asxSAMPLE_RATE_16000=10702, 00639 asxSAMPLE_RATE_22050=10703, 00640 asxSAMPLE_RATE_24000=10704, 00641 asxSAMPLE_RATE_32000=10705, 00642 asxSAMPLE_RATE_44100=10706, 00643 asxSAMPLE_RATE_48000=10707, 00644 asxSAMPLE_RATE_64000=10708, 00645 asxSAMPLE_RATE_88200=10709, 00646 asxSAMPLE_RATE_96000=10710, 00647 asxSAMPLE_RATE_192000=10711, 00648 asxSAMPLE_RATE_12000=10712, 00649 asxSAMPLE_RATE_176400=10713, 00650 asxSAMPLE_RATE_UNDEFINED=10799 00651 }; 00652 00654 enum asxMSG_LOGGING { 00655 asxMSG_LOGGING_DISABLE=10800, 00656 asxMSG_LOGGING_ERROR=10801, 00657 asxMSG_LOGGING_WARNING=10802, 00658 asxMSG_LOGGING_NOTICE=10803, 00659 asxMSG_LOGGING_INFO=10804, 00660 asxMSG_LOGGING_DEBUG=10805, 00661 asxMSG_LOGGING_VERBOSE=10806 00662 }; 00663 00664 /****************************************************************************************************** 00665 * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString(); 00666 ******************************************************************************************************/ 00668 enum asxPLAYER_FLAGS { 00669 asxPLAYER_FILE_COMPLETE=1, 00670 asxPLAYER_FILELIST_COMPLETE=2, 00671 asxPLAYER_FILE_START=4, 00672 }; 00673 00675 enum asxTUNER_STATUS { 00676 asxTUNER_STATUS_VIDEO_VALID=1, 00677 asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2, 00678 asxTUNER_STATUS_VIDEO_IS_60HZ=4, 00679 asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8, 00680 asxTUNER_STATUS_PLL_LOCKED=16, 00681 asxTUNER_STATUS_FM_STEREO=32, 00682 asxTUNER_STATUS_DIGITAL=64, 00683 asxTUNER_STATUS_MULTIPROGRAM=128, 00684 asxTUNER_STATUS_FIRMWARE_LOADING=256 00685 }; 00686 00688 enum asxTUNER_RDS_TYPE { 00689 asxTUNER_RDS_TYPE_RDS=0, 00690 asxTUNER_RDS_TYPE_RBDS=1, 00691 }; 00692 00694 enum asxAESEBU_STATUS { 00695 asxAESEBU_ERROR=0x01, 00696 asxAESEBU_ERROR_NOT_LOCKED=0x02, 00697 asxAESEBU_ERROR_POOR_QUALITY=0x04, 00698 asxAESEBU_ERROR_PARITY_ERROR=0x08, 00699 asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10, 00700 asxAESEBU_ERROR_VALIDITY=0x20, 00701 asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40 00702 }; 00703 00705 enum asxCOMPANDER_INDEX { 00706 asxCOMPANDER_INDEX_NOISEGATE=0, 00707 asxCOMPANDER_INDEX_COMPANDER=1 00708 }; 00709 00711 enum asxHANDLE_TYPE { 00712 asxHANDLE_INVALID, 00713 asxHANDLE_SYSTEM, 00714 asxHANDLE_ADAPTER, 00715 asxHANDLE_MIXER, 00716 asxHANDLE_NODE, 00717 asxHANDLE_CONTROL, 00718 asxHANDLE_LAST 00719 }; 00720 00722 enum asxUCONTROL_PTYPE { 00723 asxPARAM_TYPE_NONE = 0, 00724 asxPARAM_TYPE_INTEGER = 3, 00725 asxPARAM_TYPE_FLOAT = 4, 00726 asxPARAM_TYPE_DOUBLE = 5, 00727 asxPARAM_TYPE_STRING = 6, 00728 //asxPARAM_TYPE_ENUMERATED = 7 00729 asxPARAM_TYPE_IP4_ADDRESS= 8, 00730 asxPARAM_TYPE_IP6_ADDRESS= 9, 00731 asxPARAM_TYPE_MAC_ADDRESS= 10, 00732 asxPARAM_TYPE_BOOLEAN= 11 00733 }; 00734 00736 enum asxUCONTROL_RTYPE { 00737 asxPARAM_RANGE_NONE = 0, 00738 asxPARAM_RANGE_STEPPED_INTEGER = 1, 00739 asxPARAM_RANGE_STEPPED_FLOAT = 2, 00740 asxPARAM_RANGE_ENUMERATED_INTEGER = 3, 00741 asxPARAM_RANGE_ENUMERATED_FLOAT = 4, 00742 asxPARAM_RANGE_ENUMERATED = 5, 00743 asxPARAM_RANGE_STRING_LENGTH = 6, 00744 asxPARAM_RANGE_NUMBER_OF_BITS = 7 00745 }; 00746 00748 enum asxUCONTROL_PFLAGS { 00749 asxPARAM_FLAG_WRITEABLE = 1, 00750 asxPARAM_FLAG_READABLE = 2, 00751 asxPARAM_FLAG_VOLATILE = 4 00752 }; 00753 00755 enum asxCOBRANET_IFSTATUS { 00756 asxCOBRANET_IFSTATUS_LINK_ESTABLISHED=0x01, 00757 asxCOBRANET_IFSTATUS_FULL_DUPLEX=0x02, 00758 asxCOBRANET_IFSTATUS_ACTIVE_CONNECTION=0x04 00759 }; 00760 00762 enum asxAVDECC_NOTIFY { 00763 asxAVDECC_NOTIFY_NO_MATCH_FOUND = 0, 00764 asxAVDECC_NOTIFY_END_STATION_CONNECTED = 1, 00765 asxAVDECC_NOTIFY_END_STATION_DISCONNECTED = 2, 00766 asxAVDECC_NOTIFY_COMMAND_TIMEOUT = 3, 00767 asxAVDECC_NOTIFY_RESPONSE_RECEIVED = 4, 00768 asxAVDECC_NOTIFY_END_STATION_READ_COMPLETED = 5, 00769 asxAVDECC_NOTIFY_UNSOLICITED_RESPONSE_RECEIVED = 6, 00770 asxAVDECC_NOTIFY_UNKNOWN = 7, 00771 asxAVDECC_NOTIFY_TOTAL_NUM_OF_NOTIFICATIONS = 8 00772 }; 00773 00775 enum asxADAPTER_PROPERTY { 00776 asxADAPTER_PROPERTY_ERRATA_1=1, 00777 asxADAPTER_PROPERTY_SSX2_SETTING=2, 00778 asxADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS=3, 00779 asxADAPTER_PROPERTY_SUPPORT_SSX2=4, 00780 asxADAPTER_PROPERTY_SUPPORTS_FW_UPDATE=5, 00781 asxADAPTER_PROPERTY_FIRMWARE_ID=6, 00782 asxADAPTER_PROPERTY_SUPPORTS_SNMP = 7 00783 }; 00784 00785 /************************** 00786 * Typedefs 00787 **************************/ 00788 00789 typedef void *ASX_HANDLE; 00790 typedef enum asxERROR ASX_ERROR; 00791 typedef enum asxNODE ASX_NODE; 00792 typedef int ASX_BOOL; 00793 typedef int ASX_TIME; 00794 00795 typedef void ASX_ERROR_CALLBACK( 00796 ASX_HANDLE hASX_Object, 00797 const char *pszCallingFunction, 00798 void *pUser1, 00799 void *pUser2); 00801 typedef void ASX_AVDECC_NOTFICATION_CALLBACK( 00802 ASX_HANDLE hASX_Object, 00803 enum asxAVDECC_NOTIFY notify, 00804 const char *pszMsg, 00805 void *pUser1, 00806 void *pUser2); 00808 typedef void ASX_PLAYER_CALLBACK( 00809 ASX_HANDLE hASX_Player_Object, 00810 const enum asxPLAYER_FLAGS flags, 00811 void *pUser1); 00812 00813 struct asxParameterRangeInfo_NamedEnumerated { 00814 int value; 00815 char name[ASX_SHORT_STRING]; 00816 }; 00817 00818 struct asxParameterRangeInfo { 00819 enum asxUCONTROL_RTYPE type; 00820 union { 00821 struct { 00822 int min; 00823 int max; 00824 int step; 00825 } integer; 00826 struct { 00827 unsigned int count; 00828 int *value; 00829 } enumerated_integer; 00830 struct { 00831 unsigned int count; 00832 float *value; 00833 } enumerated_float; 00834 struct { 00835 unsigned int count; 00836 struct asxParameterRangeInfo_NamedEnumerated *enums; 00837 } enumerated; 00838 struct { 00839 float fmin; 00840 float fmax; 00841 float fstep; 00842 } floating; 00843 struct { 00844 unsigned int max_len; 00845 } string; 00846 } u; 00847 }; 00848 00849 struct asxParameterValue { 00850 enum asxUCONTROL_PTYPE eType; 00851 unsigned int uItems; 00852 size_t size; 00853 void *value; 00854 }; 00855 00856 struct asxCobranetIpAutoassignParameters { 00857 char addr_start[20]; 00858 char addr_end[20]; 00859 int autoassign; 00860 }; 00861 00862 #ifndef ASX_H_DEFS_ONLY 00863 /************************************************************************************** 00864 * Functions 00865 **************************************************************************************/ 00866 00867 /*******************************************************************/ 00879 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType); 00880 00890 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem ); 00891 00900 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem ); 00901 00908 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface ); 00909 00916 ASX32_API ASX_ERROR ASX_System_SetAvdeccInterface(const char *szInterface); 00917 00927 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem ); 00928 00942 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback( ASX_HANDLE hSystem, 00943 ASX_ERROR_CALLBACK *pCallback, 00944 void *pUser1, 00945 void *pUser2); 00946 00955 ASX32_API ASX_ERROR ASX_System_RegisterAvdeccNotificationCallback(ASX_HANDLE hSystem, 00956 ASX_AVDECC_NOTFICATION_CALLBACK *pCallback, 00957 void *pUser1, 00958 void *pUser2); 00959 00978 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem, 00979 char *pszName, 00980 const int nStringLength, 00981 int *pnRequiredLength ); 00995 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem, 00996 char *pszSystemVersion, 00997 const int nSystemVersionLength, 00998 int *pnRequiredSystemVersionLength, 00999 char *pszSubSystemVersion, 01000 const int nSubSystemVersionLength, 01001 int *pnRequiredSubSystemVersionLength); 01008 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount ); 01016 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter ); 01023 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog); 01030 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog); 01038 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms( const struct asxCobranetIpAutoassignParameters *pCAP ); 01044 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms( struct asxCobranetIpAutoassignParameters *pCAP ); 01045 // end of System group 01047 01048 01049 /******************************************************************* 01050 * Handle functions 01051 */ 01061 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle); 01062 01069 ASX32_API int ASX_Handle_GetAdapterIndex(ASX_HANDLE hHandle); // end of Handle group 01071 01072 /******************************************************************* 01073 * Error functions 01074 */ 01088 ASX32_API ASX_ERROR ASX_Error_GetLast( 01089 ASX_HANDLE hASXObject, 01090 ASX_ERROR *pnAsxErrorCode, 01091 int *pnAsxSubSystemErrorCode); 01092 01108 ASX32_API ASX_ERROR ASX_Error_GetLastString( 01109 ASX_HANDLE hASXObject, 01110 char *pszAsxErrorString, 01111 const int nAsxErrorStringLength, 01112 int *pnRequiredAsxErrorStringLength, 01113 char *pszAsxSubSystemErrorString, 01114 const int nAsxSubSystemErrorStringLength, 01115 int *pnRequiredAsxSubSystemErrorStringLength); 01116 01117 01123 ASX32_API ASX_ERROR ASX_Error_Clear( 01124 ASX_HANDLE hASXObject); 01125 01132 ASX32_API ASX_BOOL ASX_Error_SupressCallback( 01133 ASX_HANDLE hASXObject, 01134 ASX_BOOL bSupressCallback); 01135 // end of Error group 01137 01142 /******************************************************************* 01143 * Adapter functions 01144 */ 01160 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems( 01161 ASX_HANDLE hAdapter, 01162 unsigned int *pnSubSystemMask, 01163 unsigned int *pnSubSystemOkMask); 01164 01165 01194 ASX32_API ASX_ERROR ASX_Adapter_GetName( 01195 ASX_HANDLE hAdapter, 01196 char *pszName, 01197 const int nStringLength, 01198 int *RequiredLength ); 01199 01216 ASX32_API ASX_ERROR ASX_Adapter_GetIndex( 01217 ASX_HANDLE hAdapter, 01218 int *pnIndex ); 01219 01227 ASX32_API ASX_ERROR ASX_Adapter_GetAVDECCController(ASX_HANDLE hAdapter, void ** controller_obj); 01228 01235 ASX32_API ASX_ERROR ASX_Adapter_GetAVDECCSystem(ASX_HANDLE hAdapter, void ** sys); 01236 01245 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber( 01246 ASX_HANDLE hAdapter, 01247 unsigned long *pdwSerialNumber ); 01248 01260 ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision( 01261 ASX_HANDLE hAdapter, 01262 char *pszRevision); 01263 01273 ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision( 01274 ASX_HANDLE hAdapter, 01275 char *pszRevision); 01276 01286 ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress( 01287 ASX_HANDLE hAdapter, 01288 char *pszMAC); 01289 01299 ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress( 01300 ASX_HANDLE hAdapter, 01301 char *pszIP); 01302 01313 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization( 01314 ASX_HANDLE hAdapter, 01315 const int nDspIndex, 01316 int *pnDspUtilization); 01317 01325 ASX32_API ASX_ERROR ASX_Adapter_GetMixer( 01326 ASX_HANDLE hAdapter, 01327 ASX_HANDLE *p_hMixer ); 01328 01329 01338 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount); 01345 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode); 01352 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode); 01362 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting); 01378 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2); 01387 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2); 01395 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue); 01403 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue); 01410 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount); 01411 01412 // end of Adapter group 01414 01419 /******************************************************************* 01420 * Mixer functions 01421 */ 01440 ASX32_API ASX_ERROR ASX_Mixer_ResetControls( 01441 ASX_HANDLE hMixer); 01442 01449 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount( 01450 ASX_HANDLE hMixer, 01451 int *pnCount); 01452 01461 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode( 01462 ASX_HANDLE hMixer, 01463 const int nSourceNode, 01464 ASX_HANDLE *p_hNode ); 01465 01466 01473 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount( 01474 ASX_HANDLE hMixer, 01475 int *pnCount); 01476 01485 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode( 01486 ASX_HANDLE hMixer, 01487 const int nDestinationNode, 01488 ASX_HANDLE *p_hNode ); 01489 01500 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType( 01501 ASX_HANDLE hMixer, 01502 const enum asxNODE eType, 01503 const int nIndex, 01504 ASX_HANDLE *p_hNode); 01505 01515 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount( 01516 ASX_HANDLE hMixer, 01517 const enum asxNODE eType, 01518 int *pnCount); 01519 01520 01521 01528 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount( 01529 ASX_HANDLE hMixer, 01530 int *pnControls); 01531 01539 ASX32_API ASX_ERROR ASX_Mixer_GetControl( 01540 ASX_HANDLE hMixer, 01541 const int nControl, 01542 ASX_HANDLE *p_hControlBase ); 01543 01555 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode( 01556 const ASX_HANDLE hMixer, 01557 const ASX_HANDLE hSourceNode, 01558 const ASX_HANDLE hDestinationNode, 01559 const enum asxCONTROL eControlType, 01560 ASX_HANDLE *p_hControlBase ); 01561 01575 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex( 01576 ASX_HANDLE hMixer, 01577 const enum asxNODE nSourceNodeType, 01578 const int nSourceIndex, 01579 const enum asxNODE nDestinationNodeType, 01580 const int nDestinationIndex, 01581 const enum asxCONTROL eControlType, 01582 ASX_HANDLE *p_hControlBase ); 01583 01598 ASX32_API ASX_ERROR ASX_Mixer_GetControlByLocationAndIndex( 01599 ASX_HANDLE hMixer, 01600 const enum asxNODE nSourceNodeType, 01601 const int nSourceIndex, 01602 const enum asxNODE nDestinationNodeType, 01603 const int nDestinationIndex, 01604 const enum asxCONTROL eControlType, 01605 const int nControlIndex, 01606 ASX_HANDLE *p_hControlBase ); 01607 01621 ASX32_API ASX_ERROR ASX_Mixer_GetBlockControlByNodeTypeAndIndex( 01622 ASX_HANDLE hMixer, 01623 const enum asxNODE nSourceNodeType, 01624 const int nSourceIndex, 01625 const enum asxNODE nDestinationNodeType, 01626 const int nDestinationIndex, 01627 const char *pszBlockName, 01628 ASX_HANDLE *p_hControlBase ); 01629 // end of Mixer group 01631 01632 /******************************************************************* 01633 * Node functions 01634 */ 01650 ASX32_API ASX_ERROR ASX_Node_GetType( 01651 ASX_HANDLE hNode, 01652 enum asxNODE *peType); 01653 01662 ASX32_API ASX_ERROR ASX_Node_GetIndex( 01663 ASX_HANDLE hNode, 01664 int *pnIndex); 01665 01677 ASX32_API ASX_ERROR ASX_Node_GetLocation( 01678 ASX_HANDLE hNode, 01679 int *pnModuleSlot, 01680 int *pnNodeIndexOnSlot, 01681 char *pszModuleName, 01682 const int nStringLength); 01683 01690 ASX32_API ASX_ERROR ASX_Node_GetSubSystem( 01691 ASX_HANDLE hNode, 01692 int *p_nSubSystem); 01693 01701 ASX32_API ASX_ERROR ASX_Node_GetName( 01702 ASX_HANDLE hNode, 01703 char *pszNodeName, 01704 const int nStringLength 01705 ); 01706 01710 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType( 01711 ASX_HANDLE hNode, 01712 enum asxNODE *peType); 01713 01717 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex( 01718 ASX_HANDLE hNode, 01719 int *pnIndex); 01720 // end of Node group 01722 01727 /****************************************************************** 01728 * Control functions 01729 */ 01743 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl); 01750 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode ); 01757 ASX32_API ASX_ERROR ASX_Control_GetIndexOnNode( ASX_HANDLE hControl, int *p_index ); 01764 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode ); 01780 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl ); 01787 ASX32_API ASX_ERROR ASX_Control_GetSubSystem( 01788 ASX_HANDLE hControl, 01789 int *p_nSubSystem); 01790 01791 01792 /* 01793 enum asxCONTROL_PROPERTY { 01794 asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY, 01795 asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION, 01796 asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION 01797 }; 01798 01799 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 ); 01800 */ 01801 // end of Control group 01803 01804 #if (DISABLE_PLAYREC_CONTROLS!=1) 01805 /******************************************************************* 01806 * Player Control 01807 */ 01898 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile); 01905 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat); 01915 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer, 01916 enum asxAUDIO_FORMAT *peFormat, 01917 int *pnChannnels, 01918 int *pnSampleRate, 01919 int *pnBitRate); 01933 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition); 01939 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer); 01946 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer); 01953 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer); 01960 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer); 01966 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer); 01978 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition); 01986 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition); 01993 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState); 02003 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale); 02012 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale); 02022 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength ); 02030 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping ); 02038 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping ); 02049 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist( 02050 ASX_HANDLE hPlayer, 02051 const char **pszFileList, 02052 const unsigned int nFiles); 02073 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus( 02074 ASX_HANDLE hPlayer, 02075 unsigned int *nTotalFileCount, 02076 int *nCurrentFile, 02077 char **szCurrentFilename, 02078 unsigned int *nTotalTime_ms, 02079 unsigned int *nCurrentTime_ms 02080 ); 02090 ASX32_API ASX_ERROR ASX_Player_RegisterCallback( 02091 ASX_HANDLE hPlayer, 02092 ASX_PLAYER_CALLBACK *pCallback, 02093 const enum asxPLAYER_FLAGS flags, 02094 void *pUser1); 02101 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer); 02102 // end of Player group 02104 02151 /****************************************************************** 02152 * Recorder Control 02153 */ 02233 ASX32_API ASX_ERROR ASX_Recorder_Open( 02234 ASX_HANDLE hRecorder, const char *pszFile, 02235 const enum asxFILE_FORMAT nFileType, 02236 const enum asxFILE_MODE nFileMode, 02237 const int nChannels, 02238 const enum asxAUDIO_FORMAT nFormat, 02239 const long lSampleRate, 02240 const long lBitrate, 02241 const enum asxRECORD_MODE nMode 02242 ); 02248 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder ); 02254 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder); 02260 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder); 02266 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder); 02274 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition); 02281 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState); 02291 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength ); 02300 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group 02302 02353 #endif 02354 /******************************************************************* 02355 * Meter Control 02356 */ 02367 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels); 02368 02388 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels); 02402 ASX32_API ASX_ERROR ASX_Meter_GetRMS( ASX_HANDLE hMeter, float *fdB, const int nChannels); 02495 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs); 02496 02504 ASX32_API ASX_ERROR ASX_Meter_GetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, float *fAttackTimeMs, float *fDecayTimeMs); // end of Meter group 02506 02511 /******************************************************************** 02512 * Volume Control 02513 */ 02524 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels); 02532 ASX32_API ASX_ERROR ASX_Volume_SetMute( ASX_HANDLE hVolume, int *mute, const int nChannels); 02540 ASX32_API ASX_ERROR ASX_Volume_GetMute( ASX_HANDLE hVolume, int *mute, const int nChannels); 02548 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels); 02556 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels); 02565 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume, 02566 float *fMinGain, 02567 float *fMaxGain, 02568 float *fGainStep); 02581 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); 02582 02591 ASX32_API ASX_ERROR ASX_Volume_HasAutofade(ASX_HANDLE hVolume, const enum asxVOLUME_AUTOFADE eProfile, int *pnSupportsAutoFade); 02592 02593 // end of Volume group 02595 02596 /******************************************************************* 02597 * Level Control 02598 */ 02610 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain); 02617 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain); 02626 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel, 02627 float *fMinGain, 02628 float *fMaxGain, 02629 float *fGainStep); 02630 // end of Level group 02632 02633 /******************************************************************* 02634 * Multiplexer Control 02635 */ 02653 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount); 02661 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex); 02669 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group 02674 /****************************************************************** 02675 * Channel Mode Control 02676 */ 02690 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount); 02697 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode); 02704 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group 02706 02707 /****************************************************************** 02708 * Tuner Control 02709 */ 02722 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount); 02729 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand); 02736 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand); 02746 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq); 02755 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq); 02756 02766 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner, 02767 const enum asxTUNERBAND eBand, 02768 unsigned long *plMin, unsigned long *plMax, 02769 unsigned long *plStep); 02770 02780 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep); 02787 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain); 02794 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain); 02801 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel); 02808 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel); 02818 ASX32_API ASX_ERROR ASX_Tuner_GetStatus( 02819 ASX_HANDLE hTuner, 02820 unsigned int *puErrorStatusMask, 02821 unsigned int *puErrorStatus); 02830 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner, 02831 const enum asxTUNERMODE eMode, 02832 enum asxTUNERMODE *peSetting); 02833 02842 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner, 02843 const enum asxTUNERMODE eMode, 02844 const enum asxTUNERMODE eSetting); 02845 02854 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner, 02855 const int nIndex, 02856 enum asxTUNERDEEMPHASIS *peDeemphasis, 02857 int *pnCount); 02858 02865 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner, 02866 const enum asxTUNERDEEMPHASIS eDeemphasis 02867 ); 02868 02875 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner, 02876 enum asxTUNERDEEMPHASIS *peDeemphasis 02877 ); 02878 02887 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner, 02888 const int nIndex, 02889 enum asxTUNERPROGRAM *peProgram, 02890 int *pnCount); 02891 02898 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner, 02899 const enum asxTUNERPROGRAM eProgram 02900 ); 02901 02908 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner, 02909 enum asxTUNERPROGRAM *peProgram 02910 ); 02911 02915 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality( 02916 ASX_HANDLE hTuner, 02917 int *pnSignalQuality 02918 ); 02919 02926 ASX32_API ASX_ERROR ASX_Tuner_GetDigitalSignalQuality( 02927 ASX_HANDLE hTuner, 02928 int *pnSignalQuality 02929 ); 02930 02931 /* 02932 * Get a Tuner property of type integer 02933 * @param hTuner A handle to an ASX tuner control. 02934 * @param nTunerProperty - tuner property. One of #asxTUNER_PROPERTY_INT 02935 * @param nPropertyValue - the returned property 02936 * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned. 02937 */ 02938 /* 02939 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner, 02940 const enum asxTUNER_PROPERTY_INT eTunerProperty, 02941 int *pnPropertyValue 02942 ); 02943 */ 02944 02948 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner, 02949 char *szSdkVersion, 02950 const int nStringLength 02951 ); 02955 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner, 02956 char *szSdkVersion, 02957 const int nStringLength 02958 ); 02966 ASX32_API ASX_ERROR ASX_Tuner_GetFirmwareVersion(ASX_HANDLE hTuner, 02967 char *szFirmwareVersion, 02968 const int nStringLength 02969 ); 02978 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner, 02979 const int nIndex, 02980 enum asxTUNERHDBLEND *peBlend, 02981 int *pnCount); 02982 02989 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner, 02990 const enum asxTUNERHDBLEND nMode 02991 ); 02992 02999 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner, 03000 enum asxTUNERHDBLEND *pnMode 03001 ); 03002 03003 03011 ASX32_API ASX_ERROR ASX_Tuner_GetDabMultiplexName(ASX_HANDLE hTuner, 03012 char *szMultiplexName, 03013 const int nSize 03014 ); 03015 03022 ASX32_API ASX_ERROR ASX_Tuner_GetDabMultiplexId(ASX_HANDLE hTuner, 03023 unsigned long *dwMultiplexId 03024 ); 03025 03033 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceCount(ASX_HANDLE hTuner, 03034 int *pnIndex, 03035 int *pnCount 03036 ); 03037 03046 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceName(ASX_HANDLE hTuner, 03047 char *szAudioServiceName, 03048 const int nSize, 03049 const int nIndex 03050 ); 03051 03058 ASX32_API ASX_ERROR ASX_Tuner_SetDabAudioService(ASX_HANDLE hTuner, 03059 const int nIndex 03060 ); 03061 03068 ASX32_API ASX_ERROR ASX_Tuner_GetDabServiceId(ASX_HANDLE hTuner, 03069 unsigned long *dwServiceId 03070 ); 03071 03079 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioInfo(ASX_HANDLE hTuner, 03080 char *szAudioInfo, 03081 const int nSize 03082 ); 03083 // end of Tuner group 03090 /****************************************************************** 03091 * PAD Control 03092 */ 03106 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD, 03107 char *pszChannelName, 03108 const int nStringLength 03109 ); 03110 03119 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD, 03120 char *pszArtist, 03121 const int nStringLength 03122 ); 03123 03132 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD, 03133 char *pszTitle, 03134 const int nStringLength 03135 ); 03136 03145 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD, 03146 char *pszComment, 03147 const int nStringLength 03148 ); 03149 03157 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD, 03158 int *pnProgramType 03159 ); 03170 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD, 03171 const enum asxTUNER_RDS_TYPE eType, 03172 const int nPTY, 03173 char *pszString, 03174 const int nStringLength 03175 ); 03176 03185 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD, 03186 int *uPI 03187 ); 03188 03189 // end of pads group 03191 03192 03193 /****************************************************************** 03194 * Sample Clock Control 03195 */ 03203 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount); 03204 03213 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount); 03214 03217 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate); 03218 03225 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate); 03226 03234 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateEx(ASX_HANDLE hSampleClock, const int nSampleRate, const int nSampleRatePPB); 03235 03242 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate); 03249 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate); 03258 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount); 03265 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource); 03272 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource); 03279 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable); 03286 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable); 03296 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock); 03303 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group 03305 03306 /****************************************************************** 03307 * AESEBU Receiver Control 03308 **/ 03321 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx, 03322 unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus ); 03329 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx, 03330 unsigned int *pdwSampleRate ); 03339 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount); 03340 03347 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx, 03348 const enum asxAESEBU_FORMAT eAesebuFormat ); 03355 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx, 03356 enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group 03358 03359 /****************************************************************** 03360 * AESEBU Transmitter Control 03361 **/ 03374 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount); 03381 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat ); 03388 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group 03390 03391 /****************************************************************** 03392 * GPIO Control 03393 */ 03408 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits); 03420 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits); 03430 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); 03439 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group 03441 03442 /******************************************************************** 03443 * Vox Control 03444 */ 03455 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel); 03462 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel); 03471 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox, 03472 float *fMinLevel, 03473 float *fMaxLevel, 03474 float *fLevelStep); // end of Vox group 03476 03477 /******************************************************************** 03478 * Generic Control 03479 */ 03490 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group 03492 03493 /****************************************************************** 03494 * Microphone Control 03495 */ 03506 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff); 03513 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group 03515 03516 /****************************************************************** 03517 * Parametric EQ control 03518 */ 03530 ASX32_API ASX_ERROR ASX_EQ_GetInfo( 03531 ASX_HANDLE hParmEq, 03532 unsigned short *pwNumberOfBands, 03533 unsigned short *pwEnabled 03534 ); 03541 ASX32_API ASX_ERROR ASX_EQ_SetState( 03542 ASX_HANDLE hParmEq, 03543 const unsigned short wOnOff 03544 ); 03558 ASX32_API ASX_ERROR ASX_EQ_SetBand( 03559 ASX_HANDLE hParmEq, 03560 const unsigned short wIndex, 03561 const enum asxEQBANDTYPE eType, 03562 const unsigned long dwFrequencyHz, 03563 const short nQ100, 03564 const short nGain0_01dB 03565 ); 03566 03580 ASX32_API ASX_ERROR ASX_EQ_GetBand( 03581 ASX_HANDLE hParmEq, 03582 const unsigned short wIndex, 03583 enum asxEQBANDTYPE *peType, 03584 unsigned long *pdwFrequencyHz, 03585 short *pnQ100, 03586 short *pnGain0_01dB 03587 ); // end of Parametric Equalizer group 03589 03590 /****************************************************************** 03591 * Compander control 03592 */ 03610 ASX32_API ASX_ERROR ASX_Compander_Set( 03611 ASX_HANDLE hCompander, 03612 const unsigned short wAttack, 03613 const unsigned short wDecay, 03614 const short wRatio100, 03615 const short nThreshold0_01dB, 03616 const short nMakeupGain0_01dB 03617 ); 03618 03632 ASX32_API ASX_ERROR ASX_Compander_Get( 03633 ASX_HANDLE hCompander, 03634 unsigned short *pwAttack, 03635 unsigned short *pwDecay, 03636 short *pwRatio100, 03637 short *pnThreshold0_01dB, 03638 short *pnMakeupGain0_01dB 03639 ); 03646 ASX32_API ASX_ERROR ASX_Compander_SetEnable( 03647 ASX_HANDLE hCompander, 03648 const unsigned int nOn 03649 ); 03656 ASX32_API ASX_ERROR ASX_Compander_GetEnable( 03657 ASX_HANDLE hCompander, 03658 unsigned int *nOn 03659 ); 03666 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain( 03667 ASX_HANDLE hCompander, 03668 const float fMakeupGain 03669 ); 03676 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain( 03677 ASX_HANDLE hCompander, 03678 float *fMakeupGain 03679 ); 03687 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant( 03688 ASX_HANDLE hCompander, 03689 enum asxCOMPANDER_INDEX index, 03690 const unsigned int nAttack 03691 ); 03699 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant( 03700 ASX_HANDLE hCompander, 03701 enum asxCOMPANDER_INDEX index, 03702 unsigned int *pnAttack 03703 ); 03711 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant( 03712 ASX_HANDLE hCompander, 03713 enum asxCOMPANDER_INDEX index, 03714 const unsigned int nDecay 03715 ); 03723 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant( 03724 ASX_HANDLE hCompander, 03725 enum asxCOMPANDER_INDEX index, 03726 unsigned int *pnDecay 03727 ); 03735 ASX32_API ASX_ERROR ASX_Compander_SetThreshold( 03736 ASX_HANDLE hCompander, 03737 enum asxCOMPANDER_INDEX index, 03738 const float nThreshold 03739 ); 03747 ASX32_API ASX_ERROR ASX_Compander_GetThreshold( 03748 ASX_HANDLE hCompander, 03749 enum asxCOMPANDER_INDEX index, 03750 float *pnThreshold 03751 ); 03759 ASX32_API ASX_ERROR ASX_Compander_SetRatio( 03760 ASX_HANDLE hCompander, 03761 enum asxCOMPANDER_INDEX index, 03762 const float fRatio 03763 ); 03771 ASX32_API ASX_ERROR ASX_Compander_GetRatio( 03772 ASX_HANDLE hCompander, 03773 enum asxCOMPANDER_INDEX index, 03774 float *fRatio 03775 ); 03776 // end of Compander group 03778 03783 /****************************************************************** 03784 * Cobranet control 03785 */ 03795 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount); 03799 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode); 03803 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode); 03810 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr); 03817 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr); 03825 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr); 03833 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr); 03841 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs); 03849 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength ); 03857 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength ); 03865 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString); 03873 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength ); 03881 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString); 03889 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision); 03898 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay); 03906 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate); 03914 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate); 03924 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting); 03934 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting); 03942 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority); 03950 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority); 03958 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState); 03965 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff); 03972 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff); 03985 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig( 03986 ASX_HANDLE hCobranet, 03987 const unsigned int nBaud, 03988 const unsigned int nPPeriod, 03989 const char pRxMAC[6], 03990 const int nAcceptUnicast, 03991 const char pTxMAC[6]); 04003 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig( 04004 ASX_HANDLE hCobranet, 04005 unsigned int *pnBaud, 04006 unsigned int *pnPPeriod, 04007 char pRxMAC[6], 04008 int *pnAcceptUnicast, 04009 char pTxMAC[6]); 04018 ASX32_API ASX_ERROR ASX_Cobranet_GetIfStatus( 04019 ASX_HANDLE hCobranet, 04020 unsigned int *pnCurrentIf, 04021 unsigned int *pnPrimaryLinkStatus, 04022 unsigned int *pnSecondaryLinkStatus); // end of Cobranet group 04024 /****************************************************************** 04025 * Cobranet transmitter control 04026 */ 04039 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers); 04046 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle); 04053 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle); 04060 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount); 04067 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount); 04074 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]); 04081 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]); 04088 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat); 04097 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat); 04105 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast); 04136 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast); 04137 // end of Cobranet Tx group 04139 04140 /****************************************************************** 04141 * Cobranet receiver control 04142 */ 04187 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]); 04194 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle); 04201 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle); 04209 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs); 04217 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs); 04224 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]); 04231 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]); 04238 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay); 04251 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group 04253 04254 /****************************************************************** 04255 * Tone Detector control 04256 */ 04272 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable); 04279 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable); 04286 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable); 04293 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable); 04298 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold); 04304 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold); 04310 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState); 04316 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group 04318 04319 /****************************************************************** 04320 * Silence Detector control 04321 */ 04332 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable); 04339 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable); 04346 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable); 04353 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable); 04354 04360 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay( 04361 ASX_HANDLE hSilenceDetector, 04362 const unsigned int Delay 04363 ); 04369 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay( 04370 ASX_HANDLE hSilenceDetector, 04371 unsigned int *Delay 04372 ); 04377 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold); 04382 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold); 04388 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group 04390 /****************************************************************** 04391 * Block control 04392 */ 04408 ASX32_API ASX_ERROR ASX_Block_GetInfo( 04409 ASX_HANDLE hBlock, 04410 char *szBlockName, 04411 const unsigned int uStringLength, 04412 unsigned int *uParameterCount); 04413 04423 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName( 04424 ASX_HANDLE hBlock, 04425 const unsigned int uParameterIndex, 04426 char *szParameterName, 04427 const unsigned int uStringLength); 04437 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits( 04438 ASX_HANDLE hBlock, 04439 const unsigned int uParameterIndex, 04440 char *szParameterUnits, 04441 const unsigned int uStringLength); 04449 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType( 04450 ASX_HANDLE hBlock, 04451 const unsigned int uParameterIndex, 04452 enum asxUCONTROL_PTYPE *eType); 04453 04461 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags( 04462 ASX_HANDLE hBlock, 04463 const unsigned int uParameterIndex, 04464 enum asxUCONTROL_PFLAGS *eFlags); 04465 04473 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount( 04474 ASX_HANDLE hBlock, 04475 const unsigned int uParameterIndex, 04476 unsigned int *uCount); 04477 04485 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange( 04486 ASX_HANDLE hBlock, 04487 const unsigned int uParameterIndex, 04488 struct asxParameterRangeInfo *info); 04489 04500 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName( 04501 ASX_HANDLE hBlock, 04502 const unsigned int uParameterIndex, 04503 const unsigned int uEnumItem, 04504 char *szEnumName, 04505 const unsigned int uStringLength); 04506 04514 ASX32_API ASX_ERROR ASX_Block_Parameter_Set( 04515 ASX_HANDLE hBlock, 04516 const unsigned int uParameterIndex, 04517 struct asxParameterValue *data); 04518 04526 ASX32_API ASX_ERROR ASX_Block_Parameter_Get( 04527 ASX_HANDLE hBlock, 04528 const unsigned int uParameterIndex, 04529 struct asxParameterValue *data); 04530 04531 /* for the future 04532 ASX32_API ASX_ERROR ASX_ParameterValue_Init( 04533 struct asxParameterValue *data, 04534 enum asxUCONTROL_PTYPE *eType, 04535 const unsigned int uElementCount, 04536 void *data2); 04537 */ 04538 // end of block group 04540 04541 #endif /* ASX_H_DEFS_ONLY */ 04542 #ifdef __cplusplus 04543 } 04544 #endif 04545 #endif /* _ASX_H_ */ 04546 04547 /*********************************************************** 04548 * 04549 ***********************************************************/
1.7.3