|
ASX Version4.37.03
|
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 #define ASX_GAIN_FULLSCALE 0 ///< Gain in dB for Volume_SetGain() (On) 00228 #define ASX_GAIN_MUTE -100 ///< Gain in dB for Volume_SetGain() (Off) 00229 00230 /************************** 00231 * Enums 00232 **************************/ 00233 00235 enum asxERROR { 00236 asxERROR_NO_ERROR=0, 00237 // leave a gap here so that any 8-bit bit enums will never map to error codes. 00238 asxERROR_ASXOBJECT=256, 00239 asxERROR_INDEX_OUT_OF_RANGE=257, 00240 asxERROR_UNIMPLEMENTED=258, 00241 asxERROR_COMMUNICATING_WITH_DEVICE=259, 00242 asxERROR_STARTING_DEVICE=260, 00243 asxERROR_NOT_OPEN=261, 00244 asxERROR_ALREADY_OPEN=262, 00245 asxERROR_INVALID_FORMAT=263, 00246 asxERROR_INTERNAL_BUFFERING_ERROR=264, 00247 asxERROR_AES18=265, 00248 asxERROR_INVALID_OPERATION=266, 00249 asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267, 00250 asxERROR_BUFFER_TOO_SMALL=268, 00251 asxERROR_OUTOFMEMORY=269, 00252 asxERROR_DEPRECATED=270, 00253 asxERROR_TOO_MANY_CLIENTS=271, 00254 00255 asxERROR_COBRANET_NODE_NOT_FOUND=272, 00256 asxERROR_COBRANET_NODE_FOUND=273, 00257 asxERROR_NO_IP_ADDRESSES_AVAILABLE=274, 00258 asxERROR_IP_ASSIGNED=275, 00259 asxERROR_IP_CHANGED=276, 00260 asxERROR_IP_AUTOASSIGN_DISABLED=277, 00261 asxERROR_PCAP_ERROR=278, 00262 asxERROR_DISCO_DLL_NOT_FOUND=279, 00263 asxERROR_HOST_NOT_FOUND=280, 00264 asxERROR_COBRANET_NODE_UNREACHABLE=281, 00265 asxERROR_DUPLICATE_ADAPTER_INDEX=282, 00266 asxERROR_AVDECC_DLL_NOT_FOUND = 283, 00267 00268 asxERROR_INVALID_CONTROL=304, 00269 asxERROR_INVALID_CONTROL_VALUE=305, 00270 asxERROR_INVALID_CONTROL_NOT_FOUND=306, 00271 asxERROR_INVALID_NUMBER_OF_CHANNELS=307, 00272 asxERROR_INVALID_CONTROL_ATTRIBUTE=308, 00273 asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309, 00274 asxERROR_INVALID_CONTROL_OPERATION=310, 00275 asxERROR_CONTROL_NOT_READY=311, 00276 00277 asxERROR_FILE_OPEN_FAILED=336, 00278 00279 asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384, 00280 asxERROR_PLAYER_TIME_OUT=385, 00281 asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386, 00282 asxERROR_PLAYER_TWAV=387, 00283 asxERROR_PLAYER_NOFILE=388, 00284 asxERROR_PLAYER_INVALIDFILEFORMAT=389, 00285 asxERROR_PLAYER_UNSUPPORTEDFORMAT=390, 00286 asxERROR_PLAYER_FILEREADERROR=391, 00287 asxERROR_PLAYER_FILEOPENERROR=392, 00288 00289 asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448, 00290 asxERROR_RECORDER_TIME_OUT=449, 00291 asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450, 00292 asxERROR_RECORDER_TWAV=451, 00293 asxERROR_RECORDER_FILECREATEERROR=452, 00294 asxERROR_RECORDER_FILEWRITEERROR=453, 00295 asxERROR_RECORDER_FORMATMISMATCH=454, 00296 asxERROR_RECORDER_INVALIDFILENAME=455, 00297 00298 asxERROR_MIXER_SAVECONTROLSTATE=460, 00299 00300 asxERROR_UNKNOWN=4095 00301 }; 00302 00304 enum asxNODE { 00305 asxNODE_NONE=0, 00306 asxNODE_INVALID=400, 00307 00308 asxNODE_ADAPTER=401, 00309 asxNODE_PLAYER=402, 00310 asxNODE_LINE_IN=403, 00311 asxNODE_AESEBU_IN=404, 00312 asxNODE_TUNER_IN=405, 00313 asxNODE_RADIO_FREQ_IN=406, 00314 asxNODE_CLOCK_SOURCE_IN=407, 00315 asxNODE_BITSTREAM_IN=408, 00316 asxNODE_MICROPHONE_IN=409, 00317 asxNODE_COBRANET_IN=410, 00318 asxNODE_COBRANET_RECEIVER=411, 00319 asxNODE_ANALOG_IN=412, 00320 asxNODE_SDI_IN=413, 00321 asxNODE_RTP_DESTINATION_IN=414, 00322 asxNODE_INTERNAL_IN=416, 00323 asxNODE_AVB_IN_STREAM=417, 00324 asxNODE_BLULINK_IN=418, 00325 asxNODE_AVB_IN_AUDIO = 419, 00326 00327 asxNODE_LAST_SOURCE_NODE=420, 00328 00329 asxNODE_FIRST_DEST_NODE=450, 00330 asxNODE_RECORDER=450, 00331 asxNODE_LINE_OUT=451, 00332 asxNODE_AESEBU_OUT=452, 00333 asxNODE_RADIO_FREQ_OUT=453, 00334 asxNODE_SPEAKER_OUT=454, 00335 asxNODE_COBRANET_OUT=455, 00336 asxNODE_COBRANET_TRANSMITTER=456, 00337 asxNODE_ANALOG_OUT=457, 00338 asxNODE_SDI_OUT=458, 00339 asxNODE_RTP_SOURCE_OUT=459, 00340 asxNODE_AVB_OUT_STREAM=460, 00341 asxNODE_INTERNAL_OUT=461, 00342 asxNODE_BLULINK_OUT=462, 00343 asxNODE_AVB_OUT_AUDIO = 463, 00344 00345 asxNODE_LAST_DEST_NODE=464 00346 }; 00347 00349 enum asxCONTROL { 00350 asxCONTROL_INVALID=500, 00351 00352 asxCONTROL_CONNECTION=501, 00353 asxCONTROL_VOLUME=502, 00354 asxCONTROL_METER=503, 00355 asxCONTROL_MUTE=504, 00356 asxCONTROL_MULTIPLEXER=505, 00357 asxCONTROL_AESEBU_TRANSMITTER=506, 00358 asxCONTROL_AESEBU_RECEIVER=507, 00359 asxCONTROL_LEVEL=508, 00360 asxCONTROL_TUNER=509, 00361 asxCONTROL_RDS=510, 00362 asxCONTROL_VOX=511, 00363 asxCONTROL_AES18_TRANSMITTER=512, 00364 asxCONTROL_AES18_RECEIVER=513, 00365 asxCONTROL_AES18_BLOCK_GENERATOR=514, 00366 asxCONTROL_CHANNEL_MODE=515, 00367 asxCONTROL_BIT_STREAM=516, 00368 asxCONTROL_SAMPLE_CLOCK=517, 00369 asxCONTROL_MICROPHONE=518, 00370 asxCONTROL_PARAMETRIC_EQ=519, 00371 asxCONTROL_COMPANDER=520, 00372 asxCONTROL_COBRANET=521, 00373 asxCONTROL_PLAYER=522, 00374 asxCONTROL_RECORDER=523, 00375 asxCONTROL_GPIO=524, 00376 asxCONTROL_RESERVED_525=525, 00377 asxCONTROL_RESERVED_526=526, 00378 asxCONTROL_RESERVED_527=527, 00379 asxCONTROL_RESERVED_528=528, 00380 asxCONTROL_GENERIC=529, 00381 asxCONTROL_TONEDETECTOR=530, 00382 asxCONTROL_SILENCEDETECTOR=531, 00383 asxCONTROL_COBRANET_TRANSMITTER=532, 00384 asxCONTROL_COBRANET_RECEIVER=533, 00385 asxCONTROL_PAD=534, 00386 asxCONTROL_SRC=535, 00387 asxCONTROL_BLOCK=536, 00388 00389 asxCONTROL_LAST_CONTROL=537 00390 }; 00391 00392 /**************************************** 00393 * Various control enums 00394 *****************************************/ 00395 00397 enum asxVOLUME_AUTOFADE { 00398 asxVOLUME_AUTOFADE_LOG, 00399 asxVOLUME_AUTOFADE_LINEAR 00400 }; 00401 00403 enum asxMETER_TYPE { 00404 asxMETER_PEAK, 00405 asxMETER_RMS 00406 }; 00407 00409 enum asxCHANNELMODE { 00410 asxCHANNELMODE_ILLEGAL=1000, 00411 asxCHANNELMODE_NORMAL=1001, 00412 asxCHANNELMODE_SWAP=1002, 00413 asxCHANNELMODE_STEREOTOLEFT=1003, 00414 asxCHANNELMODE_STEREOTORIGHT=1004, 00415 asxCHANNELMODE_LEFTTOSTEREO=1005, 00416 asxCHANNELMODE_RIGHTTOSTEREO=1006 00417 }; 00419 enum asxADAPTERMODE { 00420 asxADAPTERMODE_ILLEGAL=1100, 00421 asxADAPTERMODE_4_PLAY=1101, 00422 asxADAPTERMODE_6_PLAY=1102, 00423 asxADAPTERMODE_8_PLAY=1103, 00424 asxADAPTERMODE_9_PLAY=1104, 00425 asxADAPTERMODE_12_PLAY=1105, 00426 asxADAPTERMODE_16_PLAY=1106, 00427 asxADAPTERMODE_1_PLAY=1107, 00428 asxADAPTERMODE_MODE_1=1108, 00429 asxADAPTERMODE_MODE_2=1109, 00430 asxADAPTERMODE_MODE_3=1110, 00431 asxADAPTERMODE_MULTICHANNEL=1111, 00432 asxADAPTERMODE_MONO=1112, 00433 asxADAPTERMODE_LOW_LATENCY=1113, 00434 asxADAPTERMODE_24_PLAY=1114, 00435 asxADAPTERMODE_32_PLAY = 1115 00436 }; 00438 // NOTE - the order of these enums MUST match the order of the HPI band enums or the code will FAIL!! 00439 enum asxTUNERBAND { 00440 asxTUNERBAND_AM=1200, 00441 asxTUNERBAND_FM=1201, 00442 asxTUNERBAND_TV=1202, 00443 asxTUNERBAND_FM_STEREO=1203, 00444 asxTUNERBAND_AUX=1204, 00445 asxTUNERBAND_TV_PAL_BG=1205, 00446 asxTUNERBAND_TV_PAL_I=1206, 00447 asxTUNERBAND_TV_PAL_DK=1207, 00448 asxTUNERBAND_TV_SECAM_L=1208, 00449 asxTUNERBAND_DAB=1209 00450 }; 00452 enum asxTUNERDEEMPHASIS { 00453 asxTUNERDEEMPHASIS_50=1240, 00454 asxTUNERDEEMPHASIS_75=1241, 00455 asxTUNERDEEMPHASIS_NONE=1242, 00456 }; 00458 enum asxTUNERMODE { 00459 asxTUNERMODE_RSS=1250, 00460 asxTUNERMODE_RSS_ENABLE=1251, 00461 asxTUNERMODE_RSS_DISABLE=1252 00462 }; 00464 enum asxTUNERPROGRAM { 00465 asxTUNERPROGRAM_NONE=1260, 00466 asxTUNERPROGRAM_1=1261, 00467 asxTUNERPROGRAM_2=1262, 00468 asxTUNERPROGRAM_3=1263, 00469 asxTUNERPROGRAM_4=1264, 00470 asxTUNERPROGRAM_5=1265, 00471 asxTUNERPROGRAM_6=1266, 00472 asxTUNERPROGRAM_7=1267, 00473 asxTUNERPROGRAM_8=1268, 00474 }; 00476 enum asxTUNERHDBLEND { 00477 asxTUNERHDBLEND_AUTO=1280, 00478 asxTUNERHDBLEND_ANALOG=1281, 00479 }; 00480 00481 00483 enum asxSAMPLE_CLOCK_SOURCE { 00484 asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400, 00485 asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401, 00486 asxSAMPLE_CLOCK_SOURCE_WORD=1402, 00487 asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403, 00488 asxSAMPLE_CLOCK_SOURCE_SMPTE=1404, 00489 asxSAMPLE_CLOCK_SOURCE_NETWORK=1405, 00490 asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406, 00491 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407, 00492 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408, 00493 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409, 00494 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410, 00495 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411, 00496 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412, 00497 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413, 00498 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414, 00499 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415, 00500 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416, 00501 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417, 00502 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418, 00503 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419, 00504 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420, 00505 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421, 00506 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422, 00507 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423, 00508 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424, 00509 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425, 00510 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426, 00511 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427, 00512 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428, 00513 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429, 00514 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430, 00515 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431, 00516 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432, 00517 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433, 00518 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434, 00519 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435, 00520 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436, 00521 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437, 00522 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438, 00523 asxSAMPLE_CLOCK_SOURCE_LOCAL=1439, 00524 asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440, 00525 asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441, 00526 asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442, 00527 asxSAMPLE_CLOCK_SOURCE_BLULINK=1443 00528 }; 00529 00531 enum asxAESEBU_FORMAT { 00532 asxAESEBU_FORMAT_AESEBU=1450, 00533 asxAESEBU_FORMAT_SPDIF=1451, 00534 asxAESEBU_FORMAT_UNDEFINED=1452 00535 }; 00537 enum asxEQBANDTYPE { 00538 asxEQBANDTYPE_BYPASS=1460, 00539 asxEQBANDTYPE_LOWSHELF=1461, 00540 asxEQBANDTYPE_HIGHSHELF=1462, 00541 asxEQBANDTYPE_EQUALIZER=1463, 00542 asxEQBANDTYPE_LOWPASS=1464, 00543 asxEQBANDTYPE_HIGHPASS=1465, 00544 asxEQBANDTYPE_BANDPASS=1466, 00545 asxEQBANDTYPE_BANDSTOP=1467, 00546 }; 00548 enum asxCOBRANET_MODE { 00549 asxCOBRANET_MODE_NETWORK=1470, 00550 asxCOBRANET_MODE_TETHERED=1471 00551 }; 00553 enum asxADPROPENUM_MODE { 00554 asxADPROPENUM_MODE_PROPERTIES=1480, 00555 asxADPROPENUM_MODE_SETTINGS=1481 00556 }; 00558 enum asxADPROPENUM_SSX2 { 00559 asxADPROPENUM_SSX2_OFF=1488, 00560 asxADPROPENUM_SSX2_ON=1489 00561 }; 00563 enum asxCOBRANET_LATENCY { 00564 asxCOBRANET_LATENCY_133ms=1490, 00565 asxCOBRANET_LATENCY_266ms=1491, 00566 asxCOBRANET_LATENCY_533ms=1492 00567 }; 00568 /**************************************** 00569 * Various player and recorder enums 00570 *****************************************/ 00571 00573 enum asxFILE_FORMAT { 00574 asxFILE_FORMAT_WAV=10000, 00575 asxFILE_FORMAT_RAW=10001 00576 }; 00578 enum asxFILE_MODE { 00579 asxFILE_MODE_CREATE=10100, 00580 asxFILE_MODE_APPEND=10101 00581 }; 00583 enum asxAUDIO_FORMAT { 00584 asxAUDIO_FORMAT_PCM8=10200, 00585 asxAUDIO_FORMAT_PCM16=10201, 00586 asxAUDIO_FORMAT_PCM24=10202, 00587 asxAUDIO_FORMAT_PCM32=10203, 00588 asxAUDIO_FORMAT_PCM32_FLOAT=10204, 00589 asxAUDIO_FORMAT_MPEG_L2=10205, 00590 asxAUDIO_FORMAT_MPEG_L3=10206, 00591 asxAUDIO_FORMAT_MPEG_AACPLUS=10207, 00592 asxAUDIO_FORMAT_DOLBY_AC2=10208, 00593 asxAUDIO_FORMAT_PCM20=10209, 00594 asxAUDIO_FORMAT_NONE=10210 00595 }; 00596 00597 00599 enum asxRECORD_MODE { 00600 asxRECORD_MODE_STEREO=10300, 00601 asxRECORD_MODE_JOINT_STEREO=10301, 00602 asxRECORD_MODE_DUAL_MONO=10302, 00603 asxRECORD_MODE_MONO=10303, 00604 asxRECORD_MODE_DONT_CARE=10304 00605 }; 00607 enum asxPLAYER_STATE{ 00608 asxPLAYER_INIT=10400, 00609 asxPLAYER_OPEN=10401, 00610 asxPLAYER_PREFILL=10402, 00611 asxPLAYER_RUNNING=10403, 00612 asxPLAYER_PAUSED=10404, 00613 asxPLAYER_DONE=10405, 00614 asxPLAYER_DESTROY=10406 00615 }; 00617 enum asxRECORDER_STATE{ 00618 asxRECORDER_INIT=10500, 00619 asxRECORDER_OPEN=10501, 00620 asxRECORDER_RUNNING=10502, 00621 asxRECORDER_PAUSED=10503, 00622 asxRECORDER_DONE=10504, 00623 asxRECORDER_DESTROY=10505 00624 }; 00625 00627 enum asxTIMESCALE { 00628 asxTIMESCALE_INVALID=10600, 00629 asxTIMESCALE_BYTES=10601, 00630 asxTIMESCALE_MILLISECONDS=10602, 00631 asxTIMESCALE_SAMPLES=10603, 00632 asxTIMESCALE_BYTES_REMAINING=10604, 00633 asxTIMESCALE_MILLISECONDS_REMAINING=10605, 00634 asxTIMESCALE_SAMPLES_REMAINING=10606 00635 }; 00636 00638 enum asxSAMPLE_RATE { 00639 asxSAMPLE_RATE_8000=10700, 00640 asxSAMPLE_RATE_11025=10701, 00641 asxSAMPLE_RATE_16000=10702, 00642 asxSAMPLE_RATE_22050=10703, 00643 asxSAMPLE_RATE_24000=10704, 00644 asxSAMPLE_RATE_32000=10705, 00645 asxSAMPLE_RATE_44100=10706, 00646 asxSAMPLE_RATE_48000=10707, 00647 asxSAMPLE_RATE_64000=10708, 00648 asxSAMPLE_RATE_88200=10709, 00649 asxSAMPLE_RATE_96000=10710, 00650 asxSAMPLE_RATE_192000=10711, 00651 asxSAMPLE_RATE_12000=10712, 00652 asxSAMPLE_RATE_176400=10713, 00653 asxSAMPLE_RATE_UNDEFINED=10799 00654 }; 00655 00657 enum asxMSG_LOGGING { 00658 asxMSG_LOGGING_DISABLE=10800, 00659 asxMSG_LOGGING_ERROR=10801, 00660 asxMSG_LOGGING_WARNING=10802, 00661 asxMSG_LOGGING_NOTICE=10803, 00662 asxMSG_LOGGING_INFO=10804, 00663 asxMSG_LOGGING_DEBUG=10805, 00664 asxMSG_LOGGING_VERBOSE=10806 00665 }; 00666 00667 /****************************************************************************************************** 00668 * The following enums apply to bitfields and other settings and therefore not translatable by #ASXSTRING_EnumToString(); 00669 ******************************************************************************************************/ 00671 enum asxPLAYER_FLAGS { 00672 asxPLAYER_FILE_COMPLETE=1, 00673 asxPLAYER_FILELIST_COMPLETE=2, 00674 asxPLAYER_FILE_START=4, 00675 }; 00676 00678 enum asxTUNER_STATUS { 00679 asxTUNER_STATUS_VIDEO_VALID=1, 00680 asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2, 00681 asxTUNER_STATUS_VIDEO_IS_60HZ=4, 00682 asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8, 00683 asxTUNER_STATUS_PLL_LOCKED=16, 00684 asxTUNER_STATUS_FM_STEREO=32, 00685 asxTUNER_STATUS_DIGITAL=64, 00686 asxTUNER_STATUS_MULTIPROGRAM=128, 00687 asxTUNER_STATUS_FIRMWARE_LOADING=256 00688 }; 00689 00691 enum asxTUNER_RDS_TYPE { 00692 asxTUNER_RDS_TYPE_RDS=0, 00693 asxTUNER_RDS_TYPE_RBDS=1, 00694 }; 00695 00697 enum asxAESEBU_STATUS { 00698 asxAESEBU_ERROR=0x01, 00699 asxAESEBU_ERROR_NOT_LOCKED=0x02, 00700 asxAESEBU_ERROR_POOR_QUALITY=0x04, 00701 asxAESEBU_ERROR_PARITY_ERROR=0x08, 00702 asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10, 00703 asxAESEBU_ERROR_VALIDITY=0x20, 00704 asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40 00705 }; 00706 00708 enum asxCOMPANDER_INDEX { 00709 asxCOMPANDER_INDEX_NOISEGATE=0, 00710 asxCOMPANDER_INDEX_COMPANDER=1 00711 }; 00712 00714 enum asxHANDLE_TYPE { 00715 asxHANDLE_INVALID, 00716 asxHANDLE_SYSTEM, 00717 asxHANDLE_ADAPTER, 00718 asxHANDLE_MIXER, 00719 asxHANDLE_NODE, 00720 asxHANDLE_CONTROL, 00721 asxHANDLE_LAST 00722 }; 00723 00725 enum asxUCONTROL_PTYPE { 00726 asxPARAM_TYPE_NONE = 0, 00727 asxPARAM_TYPE_INTEGER = 3, 00728 asxPARAM_TYPE_FLOAT = 4, 00729 asxPARAM_TYPE_DOUBLE = 5, 00730 asxPARAM_TYPE_STRING = 6, 00731 //asxPARAM_TYPE_ENUMERATED = 7 00732 asxPARAM_TYPE_IP4_ADDRESS= 8, 00733 asxPARAM_TYPE_IP6_ADDRESS= 9, 00734 asxPARAM_TYPE_MAC_ADDRESS= 10, 00735 asxPARAM_TYPE_BOOLEAN= 11 00736 }; 00737 00739 enum asxUCONTROL_RTYPE { 00740 asxPARAM_RANGE_NONE = 0, 00741 asxPARAM_RANGE_STEPPED_INTEGER = 1, 00742 asxPARAM_RANGE_STEPPED_FLOAT = 2, 00743 asxPARAM_RANGE_ENUMERATED_INTEGER = 3, 00744 asxPARAM_RANGE_ENUMERATED_FLOAT = 4, 00745 asxPARAM_RANGE_ENUMERATED = 5, 00746 asxPARAM_RANGE_STRING_LENGTH = 6, 00747 asxPARAM_RANGE_NUMBER_OF_BITS = 7 00748 }; 00749 00751 enum asxUCONTROL_PFLAGS { 00752 asxPARAM_FLAG_WRITEABLE = 1, 00753 asxPARAM_FLAG_READABLE = 2, 00754 asxPARAM_FLAG_VOLATILE = 4, 00755 asxPARAM_FLAG_VOLATILE_INFO = 8, 00756 asxPARAM_FLAG_REQUIRES_RESTART = 16 00757 }; 00758 00760 enum asxCOBRANET_IFSTATUS { 00761 asxCOBRANET_IFSTATUS_LINK_ESTABLISHED=0x01, 00762 asxCOBRANET_IFSTATUS_FULL_DUPLEX=0x02, 00763 asxCOBRANET_IFSTATUS_ACTIVE_CONNECTION=0x04 00764 }; 00765 00767 enum asxAVDECC_NOTIFY { 00768 asxAVDECC_NOTIFY_NO_MATCH_FOUND = 0, 00769 asxAVDECC_NOTIFY_END_STATION_CONNECTED = 1, 00770 asxAVDECC_NOTIFY_END_STATION_DISCONNECTED = 2, 00771 asxAVDECC_NOTIFY_COMMAND_TIMEOUT = 3, 00772 asxAVDECC_NOTIFY_RESPONSE_RECEIVED = 4, 00773 asxAVDECC_NOTIFY_END_STATION_READ_COMPLETED = 5, 00774 asxAVDECC_NOTIFY_UNSOLICITED_RESPONSE_RECEIVED = 6, 00775 asxAVDECC_NOTIFY_UNKNOWN = 7, 00776 asxAVDECC_NOTIFY_TOTAL_NUM_OF_NOTIFICATIONS = 8 00777 }; 00778 00780 enum asxADAPTER_PROPERTY { 00781 asxADAPTER_PROPERTY_ERRATA_1=1, 00782 asxADAPTER_PROPERTY_SSX2_SETTING=2, 00783 asxADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS=3, 00784 asxADAPTER_PROPERTY_SUPPORT_SSX2=4, 00785 asxADAPTER_PROPERTY_SUPPORTS_FW_UPDATE=5, 00786 asxADAPTER_PROPERTY_FIRMWARE_ID=6, 00787 asxADAPTER_PROPERTY_SUPPORTS_SNMP = 7 00788 }; 00789 00790 /************************** 00791 * Typedefs 00792 **************************/ 00793 00794 typedef void *ASX_HANDLE; 00795 typedef enum asxERROR ASX_ERROR; 00796 typedef enum asxNODE ASX_NODE; 00797 typedef int ASX_BOOL; 00798 typedef int ASX_TIME; 00799 00800 typedef void ASX_ERROR_CALLBACK( 00801 ASX_HANDLE hASX_Object, 00802 const char *pszCallingFunction, 00803 void *pUser1, 00804 void *pUser2); 00806 typedef void ASX_AVDECC_NOTFICATION_CALLBACK( 00807 ASX_HANDLE hASX_Object, 00808 enum asxAVDECC_NOTIFY notify, 00809 const char *pszMsg, 00810 void *pUser1, 00811 void *pUser2); 00813 typedef void ASX_PLAYER_CALLBACK( 00814 ASX_HANDLE hASX_Player_Object, 00815 const enum asxPLAYER_FLAGS flags, 00816 void *pUser1); 00817 00818 struct asxParameterRangeInfo_NamedEnumerated { 00819 int value; 00820 char name[ASX_SHORT_STRING]; 00821 }; 00822 00823 struct asxParameterRangeInfo { 00824 enum asxUCONTROL_RTYPE type; 00825 union { 00826 struct { 00827 int min; 00828 int max; 00829 int step; 00830 } integer; 00831 struct { 00832 unsigned int count; 00833 int *value; 00834 } enumerated_integer; 00835 struct { 00836 unsigned int count; 00837 float *value; 00838 } enumerated_float; 00839 struct { 00840 unsigned int count; 00841 struct asxParameterRangeInfo_NamedEnumerated *enums; 00842 } enumerated; 00843 struct { 00844 float fmin; 00845 float fmax; 00846 float fstep; 00847 } floating; 00848 struct { 00849 unsigned int max_len; 00850 } string; 00851 } u; 00852 }; 00853 00854 struct asxParameterValue { 00855 enum asxUCONTROL_PTYPE eType; 00856 unsigned int uItems; 00857 size_t size; 00858 void *value; 00859 }; 00860 00861 struct asxIpAutoassignParameters { 00862 char addr_start[20]; 00863 char addr_end[20]; 00864 int autoassign; 00865 }; 00866 00867 #ifndef ASX_H_DEFS_ONLY 00868 /************************************************************************************** 00869 * Functions 00870 **************************************************************************************/ 00871 00872 /*******************************************************************/ 00884 ASX32_API int ASX_System_SupportsSubSystem(const int asxSystemType); 00885 00895 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem ); 00896 00905 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem ); 00906 00913 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface ); 00914 00921 ASX32_API ASX_ERROR ASX_System_SetAvdeccInterface(const char *szInterface); 00922 00932 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem ); 00933 00947 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback( ASX_HANDLE hSystem, 00948 ASX_ERROR_CALLBACK *pCallback, 00949 void *pUser1, 00950 void *pUser2); 00951 00960 ASX32_API ASX_ERROR ASX_System_RegisterAvdeccNotificationCallback(ASX_HANDLE hSystem, 00961 ASX_AVDECC_NOTFICATION_CALLBACK *pCallback, 00962 void *pUser1, 00963 void *pUser2); 00964 00983 ASX32_API ASX_ERROR ASX_System_GetName( ASX_HANDLE hSystem, 00984 char *pszName, 00985 const int nStringLength, 00986 int *pnRequiredLength ); 01000 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem, 01001 char *pszSystemVersion, 01002 const int nSystemVersionLength, 01003 int *pnRequiredSystemVersionLength, 01004 char *pszSubSystemVersion, 01005 const int nSubSystemVersionLength, 01006 int *pnRequiredSubSystemVersionLength); 01013 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount ); 01021 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter ); 01028 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog); 01035 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog); 01043 ASX32_API ASX_ERROR ASX_System_SetCobranetAutoassignParms(const struct asxIpAutoassignParameters *pCAP); 01049 ASX32_API ASX_ERROR ASX_System_GetCobranetAutoassignParms(struct asxIpAutoassignParameters *pCAP); 01055 ASX32_API ASX_ERROR ASX_System_SetDhcpParms(const struct asxIpAutoassignParameters *pCAP); 01061 ASX32_API ASX_ERROR ASX_System_GetDhcpParms(struct asxIpAutoassignParameters *pCAP); 01062 // end of System group 01064 01065 01066 /******************************************************************* 01067 * Handle functions 01068 */ 01078 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle); 01079 01086 ASX32_API int ASX_Handle_GetAdapterIndex(ASX_HANDLE hHandle); // end of Handle group 01088 01089 /******************************************************************* 01090 * Error functions 01091 */ 01105 ASX32_API ASX_ERROR ASX_Error_GetLast( 01106 ASX_HANDLE hASXObject, 01107 ASX_ERROR *pnAsxErrorCode, 01108 int *pnAsxSubSystemErrorCode); 01109 01125 ASX32_API ASX_ERROR ASX_Error_GetLastString( 01126 ASX_HANDLE hASXObject, 01127 char *pszAsxErrorString, 01128 const int nAsxErrorStringLength, 01129 int *pnRequiredAsxErrorStringLength, 01130 char *pszAsxSubSystemErrorString, 01131 const int nAsxSubSystemErrorStringLength, 01132 int *pnRequiredAsxSubSystemErrorStringLength); 01133 01134 01140 ASX32_API ASX_ERROR ASX_Error_Clear( 01141 ASX_HANDLE hASXObject); 01142 01149 ASX32_API ASX_BOOL ASX_Error_SupressCallback( 01150 ASX_HANDLE hASXObject, 01151 ASX_BOOL bSupressCallback); 01152 // end of Error group 01154 01159 /******************************************************************* 01160 * Adapter functions 01161 */ 01177 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems( 01178 ASX_HANDLE hAdapter, 01179 unsigned int *pnSubSystemMask, 01180 unsigned int *pnSubSystemOkMask); 01181 01182 01211 ASX32_API ASX_ERROR ASX_Adapter_GetName( 01212 ASX_HANDLE hAdapter, 01213 char *pszName, 01214 const int nStringLength, 01215 int *RequiredLength ); 01216 01233 ASX32_API ASX_ERROR ASX_Adapter_GetIndex( 01234 ASX_HANDLE hAdapter, 01235 int *pnIndex ); 01236 01244 ASX32_API ASX_ERROR ASX_Adapter_GetAVDECCController(ASX_HANDLE hAdapter, void ** controller_obj); 01245 01252 ASX32_API ASX_ERROR ASX_Adapter_GetAVDECCSystem(ASX_HANDLE hAdapter, void ** sys); 01253 01262 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber( 01263 ASX_HANDLE hAdapter, 01264 unsigned long *pdwSerialNumber ); 01265 01277 ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision( 01278 ASX_HANDLE hAdapter, 01279 char *pszRevision); 01280 01290 ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision( 01291 ASX_HANDLE hAdapter, 01292 char *pszRevision); 01293 01303 ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress( 01304 ASX_HANDLE hAdapter, 01305 char *pszMAC); 01306 01316 ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress( 01317 ASX_HANDLE hAdapter, 01318 char *pszIP); 01319 01330 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization( 01331 ASX_HANDLE hAdapter, 01332 const int nDspIndex, 01333 int *pnDspUtilization); 01334 01342 ASX32_API ASX_ERROR ASX_Adapter_GetMixer( 01343 ASX_HANDLE hAdapter, 01344 ASX_HANDLE *p_hMixer ); 01345 01346 01355 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount); 01362 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode); 01369 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode); 01379 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting); 01395 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2); 01404 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2); 01412 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue); 01420 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue); 01427 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount); 01428 01438 ASX32_API ASX_ERROR ASX_Adapter_GetTemperature( 01439 ASX_HANDLE hAdapter, 01440 int *pnTemperature); 01441 01442 // end of Adapter group 01444 01449 /******************************************************************* 01450 * Mixer functions 01451 */ 01470 ASX32_API ASX_ERROR ASX_Mixer_ResetControls( 01471 ASX_HANDLE hMixer); 01472 01479 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount( 01480 ASX_HANDLE hMixer, 01481 int *pnCount); 01482 01491 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode( 01492 ASX_HANDLE hMixer, 01493 const int nSourceNode, 01494 ASX_HANDLE *p_hNode ); 01495 01496 01503 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount( 01504 ASX_HANDLE hMixer, 01505 int *pnCount); 01506 01515 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode( 01516 ASX_HANDLE hMixer, 01517 const int nDestinationNode, 01518 ASX_HANDLE *p_hNode ); 01519 01530 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType( 01531 ASX_HANDLE hMixer, 01532 const enum asxNODE eType, 01533 const int nIndex, 01534 ASX_HANDLE *p_hNode); 01535 01545 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount( 01546 ASX_HANDLE hMixer, 01547 const enum asxNODE eType, 01548 int *pnCount); 01549 01550 01551 01558 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount( 01559 ASX_HANDLE hMixer, 01560 int *pnControls); 01561 01569 ASX32_API ASX_ERROR ASX_Mixer_GetControl( 01570 ASX_HANDLE hMixer, 01571 const int nControl, 01572 ASX_HANDLE *p_hControlBase ); 01573 01585 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode( 01586 const ASX_HANDLE hMixer, 01587 const ASX_HANDLE hSourceNode, 01588 const ASX_HANDLE hDestinationNode, 01589 const enum asxCONTROL eControlType, 01590 ASX_HANDLE *p_hControlBase ); 01591 01605 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex( 01606 ASX_HANDLE hMixer, 01607 const enum asxNODE nSourceNodeType, 01608 const int nSourceIndex, 01609 const enum asxNODE nDestinationNodeType, 01610 const int nDestinationIndex, 01611 const enum asxCONTROL eControlType, 01612 ASX_HANDLE *p_hControlBase ); 01613 01628 ASX32_API ASX_ERROR ASX_Mixer_GetControlByLocationAndIndex( 01629 ASX_HANDLE hMixer, 01630 const enum asxNODE nSourceNodeType, 01631 const int nSourceIndex, 01632 const enum asxNODE nDestinationNodeType, 01633 const int nDestinationIndex, 01634 const enum asxCONTROL eControlType, 01635 const int nControlIndex, 01636 ASX_HANDLE *p_hControlBase ); 01637 01651 ASX32_API ASX_ERROR ASX_Mixer_GetBlockControlByNodeTypeAndIndex( 01652 ASX_HANDLE hMixer, 01653 const enum asxNODE nSourceNodeType, 01654 const int nSourceIndex, 01655 const enum asxNODE nDestinationNodeType, 01656 const int nDestinationIndex, 01657 const char *pszBlockName, 01658 ASX_HANDLE *p_hControlBase ); 01659 // end of Mixer group 01661 01662 /******************************************************************* 01663 * Node functions 01664 */ 01680 ASX32_API ASX_ERROR ASX_Node_GetType( 01681 ASX_HANDLE hNode, 01682 enum asxNODE *peType); 01683 01692 ASX32_API ASX_ERROR ASX_Node_GetIndex( 01693 ASX_HANDLE hNode, 01694 int *pnIndex); 01695 01707 ASX32_API ASX_ERROR ASX_Node_GetLocation( 01708 ASX_HANDLE hNode, 01709 int *pnModuleSlot, 01710 int *pnNodeIndexOnSlot, 01711 char *pszModuleName, 01712 const int nStringLength); 01713 01720 ASX32_API ASX_ERROR ASX_Node_GetSubSystem( 01721 ASX_HANDLE hNode, 01722 int *p_nSubSystem); 01723 01731 ASX32_API ASX_ERROR ASX_Node_GetName( 01732 ASX_HANDLE hNode, 01733 char *pszNodeName, 01734 const int nStringLength 01735 ); 01736 01740 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType( 01741 ASX_HANDLE hNode, 01742 enum asxNODE *peType); 01743 01747 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex( 01748 ASX_HANDLE hNode, 01749 int *pnIndex); 01750 // end of Node group 01752 01757 /****************************************************************** 01758 * Control functions 01759 */ 01773 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl); 01780 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode ); 01787 ASX32_API ASX_ERROR ASX_Control_GetIndexOnNode( ASX_HANDLE hControl, int *p_index ); 01794 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode ); 01810 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl ); 01817 ASX32_API ASX_ERROR ASX_Control_GetSubSystem( 01818 ASX_HANDLE hControl, 01819 int *p_nSubSystem); 01820 01821 01822 /* 01823 enum asxCONTROL_PROPERTY { 01824 asxCONTROL_PROPERTY_TUNER_HDRADIO_SIGNAL_QUALITY, 01825 asxCONTROL_PROPERTY_TUNER_HDRADIO_SDK_VERSION, 01826 asxCONTROL_PROPERTY_TUNER_HDRADIO_DSP_VERSION 01827 }; 01828 01829 ASX32_API ASX_ERROR ASX_Control_GetProperty( ASX_HANDLE hControl, enum asxCONTROL_PROPERTY eProperty, unsigned long dwProperty1, unsigned long dwProperty2 ); 01830 */ 01831 // end of Control group 01833 01834 #if (DISABLE_PLAYREC_CONTROLS!=1) 01835 /******************************************************************* 01836 * Player Control 01837 */ 01928 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile); 01935 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat); 01945 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer, 01946 enum asxAUDIO_FORMAT *peFormat, 01947 int *pnChannnels, 01948 int *pnSampleRate, 01949 int *pnBitRate); 01963 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition); 01969 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer); 01976 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer); 01983 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer); 01990 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer); 01996 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer); 02008 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition); 02016 ASX32_API ASX_ERROR ASX_Player_SetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition); 02023 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState); 02033 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale); 02042 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale); 02052 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength ); 02060 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping ); 02068 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping ); 02079 ASX32_API ASX_ERROR ASX_Player_OpenPlaylist( 02080 ASX_HANDLE hPlayer, 02081 const char **pszFileList, 02082 const unsigned int nFiles); 02103 ASX32_API ASX_ERROR ASX_Player_PlaylistStatus( 02104 ASX_HANDLE hPlayer, 02105 unsigned int *nTotalFileCount, 02106 int *nCurrentFile, 02107 char **szCurrentFilename, 02108 unsigned int *nTotalTime_ms, 02109 unsigned int *nCurrentTime_ms 02110 ); 02120 ASX32_API ASX_ERROR ASX_Player_RegisterCallback( 02121 ASX_HANDLE hPlayer, 02122 ASX_PLAYER_CALLBACK *pCallback, 02123 const enum asxPLAYER_FLAGS flags, 02124 void *pUser1); 02131 ASX32_API ASX_ERROR ASX_Player_PlaylistWait( ASX_HANDLE hPlayer); 02132 // end of Player group 02134 02181 /****************************************************************** 02182 * Recorder Control 02183 */ 02263 ASX32_API ASX_ERROR ASX_Recorder_Open( 02264 ASX_HANDLE hRecorder, const char *pszFile, 02265 const enum asxFILE_FORMAT nFileType, 02266 const enum asxFILE_MODE nFileMode, 02267 const int nChannels, 02268 const enum asxAUDIO_FORMAT nFormat, 02269 const long lSampleRate, 02270 const long lBitrate, 02271 const enum asxRECORD_MODE nMode 02272 ); 02278 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder ); 02284 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder); 02290 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder); 02296 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder); 02304 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition); 02311 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState); 02321 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength ); 02330 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount); // end of Recorder group 02332 02383 #endif 02384 /******************************************************************* 02385 * Meter Control 02386 */ 02397 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels); 02398 02418 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels); 02432 ASX32_API ASX_ERROR ASX_Meter_GetRMS( ASX_HANDLE hMeter, float *fdB, const int nChannels); 02525 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs); 02526 02534 ASX32_API ASX_ERROR ASX_Meter_GetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, float *fAttackTimeMs, float *fDecayTimeMs); // end of Meter group 02536 02541 /******************************************************************** 02542 * Volume Control 02543 */ 02554 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels); 02562 ASX32_API ASX_ERROR ASX_Volume_SetMute( ASX_HANDLE hVolume, int *mute, const int nChannels); 02570 ASX32_API ASX_ERROR ASX_Volume_GetMute( ASX_HANDLE hVolume, int *mute, const int nChannels); 02578 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels); 02586 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels); 02595 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume, 02596 float *fMinGain, 02597 float *fMaxGain, 02598 float *fGainStep); 02611 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); 02612 02621 ASX32_API ASX_ERROR ASX_Volume_HasAutofade(ASX_HANDLE hVolume, const enum asxVOLUME_AUTOFADE eProfile, int *pnSupportsAutoFade); 02622 02623 // end of Volume group 02625 02626 /******************************************************************* 02627 * Level Control 02628 */ 02640 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain); 02647 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain); 02656 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel, 02657 float *fMinGain, 02658 float *fMaxGain, 02659 float *fGainStep); 02660 // end of Level group 02662 02663 /******************************************************************* 02664 * Multiplexer Control 02665 */ 02683 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount); 02691 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex); 02699 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex); // end of Multiplexer group 02704 /****************************************************************** 02705 * Channel Mode Control 02706 */ 02720 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount); 02727 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode); 02734 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode); // end of ChannelMode group 02736 02737 /****************************************************************** 02738 * Tuner Control 02739 */ 02752 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount); 02759 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand); 02766 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand); 02776 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq); 02785 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq); 02786 02796 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner, 02797 const enum asxTUNERBAND eBand, 02798 unsigned long *plMin, unsigned long *plMax, 02799 unsigned long *plStep); 02800 02810 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep); 02817 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain); 02824 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain); 02831 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel); 02838 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel); 02848 ASX32_API ASX_ERROR ASX_Tuner_GetStatus( 02849 ASX_HANDLE hTuner, 02850 unsigned int *puErrorStatusMask, 02851 unsigned int *puErrorStatus); 02860 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner, 02861 const enum asxTUNERMODE eMode, 02862 enum asxTUNERMODE *peSetting); 02863 02872 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner, 02873 const enum asxTUNERMODE eMode, 02874 const enum asxTUNERMODE eSetting); 02875 02884 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner, 02885 const int nIndex, 02886 enum asxTUNERDEEMPHASIS *peDeemphasis, 02887 int *pnCount); 02888 02895 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner, 02896 const enum asxTUNERDEEMPHASIS eDeemphasis 02897 ); 02898 02905 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner, 02906 enum asxTUNERDEEMPHASIS *peDeemphasis 02907 ); 02908 02917 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner, 02918 const int nIndex, 02919 enum asxTUNERPROGRAM *peProgram, 02920 int *pnCount); 02921 02928 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner, 02929 const enum asxTUNERPROGRAM eProgram 02930 ); 02931 02938 ASX32_API ASX_ERROR ASX_Tuner_GetProgram(ASX_HANDLE hTuner, 02939 enum asxTUNERPROGRAM *peProgram 02940 ); 02941 02945 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSignalQuality( 02946 ASX_HANDLE hTuner, 02947 int *pnSignalQuality 02948 ); 02949 02956 ASX32_API ASX_ERROR ASX_Tuner_GetDigitalSignalQuality( 02957 ASX_HANDLE hTuner, 02958 int *pnSignalQuality 02959 ); 02960 02961 /* 02962 * Get a Tuner property of type integer 02963 * @param hTuner A handle to an ASX tuner control. 02964 * @param nTunerProperty - tuner property. One of #asxTUNER_PROPERTY_INT 02965 * @param nPropertyValue - the returned property 02966 * @return Returns 0 if there is no error, otherwise one of #asxERROR is returned. 02967 */ 02968 /* 02969 ASX32_API ASX_ERROR ASX_Tuner_GetProperty_Int(ASX_HANDLE hTuner, 02970 const enum asxTUNER_PROPERTY_INT eTunerProperty, 02971 int *pnPropertyValue 02972 ); 02973 */ 02974 02978 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioSdkVersion(ASX_HANDLE hTuner, 02979 char *szSdkVersion, 02980 const int nStringLength 02981 ); 02985 ASX32_API ASX_ERROR ASX_Tuner_GetHdRadioDspVersion(ASX_HANDLE hTuner, 02986 char *szSdkVersion, 02987 const int nStringLength 02988 ); 02996 ASX32_API ASX_ERROR ASX_Tuner_GetFirmwareVersion(ASX_HANDLE hTuner, 02997 char *szFirmwareVersion, 02998 const int nStringLength 02999 ); 03008 ASX32_API ASX_ERROR ASX_Tuner_EnumerateHdBlend(ASX_HANDLE hTuner, 03009 const int nIndex, 03010 enum asxTUNERHDBLEND *peBlend, 03011 int *pnCount); 03012 03019 ASX32_API ASX_ERROR ASX_Tuner_SetHdBlend(ASX_HANDLE hTuner, 03020 const enum asxTUNERHDBLEND nMode 03021 ); 03022 03029 ASX32_API ASX_ERROR ASX_Tuner_GetHdBlend(ASX_HANDLE hTuner, 03030 enum asxTUNERHDBLEND *pnMode 03031 ); 03032 03033 03041 ASX32_API ASX_ERROR ASX_Tuner_GetDabMultiplexName(ASX_HANDLE hTuner, 03042 char *szMultiplexName, 03043 const int nSize 03044 ); 03045 03052 ASX32_API ASX_ERROR ASX_Tuner_GetDabMultiplexId(ASX_HANDLE hTuner, 03053 unsigned long *dwMultiplexId 03054 ); 03055 03063 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceCount(ASX_HANDLE hTuner, 03064 int *pnIndex, 03065 int *pnCount 03066 ); 03067 03076 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioServiceName(ASX_HANDLE hTuner, 03077 char *szAudioServiceName, 03078 const int nSize, 03079 const int nIndex 03080 ); 03081 03088 ASX32_API ASX_ERROR ASX_Tuner_SetDabAudioService(ASX_HANDLE hTuner, 03089 const int nIndex 03090 ); 03091 03098 ASX32_API ASX_ERROR ASX_Tuner_GetDabServiceId(ASX_HANDLE hTuner, 03099 unsigned long *dwServiceId 03100 ); 03101 03109 ASX32_API ASX_ERROR ASX_Tuner_GetDabAudioInfo(ASX_HANDLE hTuner, 03110 char *szAudioInfo, 03111 const int nSize 03112 ); 03113 // end of Tuner group 03120 /****************************************************************** 03121 * PAD Control 03122 */ 03136 ASX32_API ASX_ERROR ASX_PAD_GetChannelName(ASX_HANDLE hPAD, 03137 char *pszChannelName, 03138 const int nStringLength 03139 ); 03140 03149 ASX32_API ASX_ERROR ASX_PAD_GetArtist(ASX_HANDLE hPAD, 03150 char *pszArtist, 03151 const int nStringLength 03152 ); 03153 03162 ASX32_API ASX_ERROR ASX_PAD_GetTitle(ASX_HANDLE hPAD, 03163 char *pszTitle, 03164 const int nStringLength 03165 ); 03166 03175 ASX32_API ASX_ERROR ASX_PAD_GetComment(ASX_HANDLE hPAD, 03176 char *pszComment, 03177 const int nStringLength 03178 ); 03179 03187 ASX32_API ASX_ERROR ASX_PAD_GetProgramType(ASX_HANDLE hPAD, 03188 int *pnProgramType 03189 ); 03200 ASX32_API ASX_ERROR ASX_PAD_GetProgramTypeString(ASX_HANDLE hPAD, 03201 const enum asxTUNER_RDS_TYPE eType, 03202 const int nPTY, 03203 char *pszString, 03204 const int nStringLength 03205 ); 03206 03215 ASX32_API ASX_ERROR ASX_PAD_GetRdsPI(ASX_HANDLE hPAD, 03216 int *uPI 03217 ); 03218 03219 // end of pads group 03221 03222 03223 /****************************************************************** 03224 * Sample Clock Control 03225 */ 03233 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateSampleRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount); 03234 03243 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateLocalRate( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_RATE *peSampleRate, int *pnCount); 03244 03247 ASX32_API ASX_ERROR ASX_SampleClock_SetSampleRate( ASX_HANDLE hSampleClock, const int nSampleRate); 03248 03255 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRate( ASX_HANDLE hSampleClock, const int nSampleRate); 03256 03265 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateEx(ASX_HANDLE hSampleClock, const int nSampleRate, const int nSampleRatePPB); 03266 03273 ASX32_API ASX_ERROR ASX_SampleClock_GetSampleRate( ASX_HANDLE hSampleClock, int *pnSampleRate); 03280 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRate( ASX_HANDLE hSampleClock, int *pnSampleRate); 03289 ASX32_API ASX_ERROR ASX_SampleClock_EnumerateClockSource( ASX_HANDLE hSampleClock, const int nIndex, enum asxSAMPLE_CLOCK_SOURCE *peClockSource, int *pnCount); 03296 ASX32_API ASX_ERROR ASX_SampleClock_SetClockSource( ASX_HANDLE hSampleClock, const enum asxSAMPLE_CLOCK_SOURCE eClockSource); 03303 ASX32_API ASX_ERROR ASX_SampleClock_GetClockSource( ASX_HANDLE hSampleClock, enum asxSAMPLE_CLOCK_SOURCE *peClockSource); 03310 ASX32_API ASX_ERROR ASX_SampleClock_SetAutoSource( ASX_HANDLE hSampleClock, const int nEnable); 03317 ASX32_API ASX_ERROR ASX_SampleClock_GetAutoSource( ASX_HANDLE hSampleClock, int *pnEnable); 03327 ASX32_API ASX_ERROR ASX_SampleClock_SetLocalRateLock( ASX_HANDLE hSampleClock, const int nLock); 03334 ASX32_API ASX_ERROR ASX_SampleClock_GetLocalRateLock( ASX_HANDLE hSampleClock, int *pnLock); // end of SampleClock group 03336 03337 /****************************************************************** 03338 * AESEBU Receiver Control 03339 **/ 03352 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetErrorStatus(ASX_HANDLE hAESEBURx, 03353 unsigned int *pdwErrorStatusMask, unsigned int *pdwErrorStatus ); 03360 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetSampleRate(ASX_HANDLE hAESEBURx, 03361 unsigned int *pdwSampleRate ); 03370 ASX32_API ASX_ERROR ASX_AESEBUReceiver_EnumerateFormat( ASX_HANDLE hAESEBURx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount); 03371 03378 ASX32_API ASX_ERROR ASX_AESEBUReceiver_SetFormat(ASX_HANDLE hAESEBURx, 03379 const enum asxAESEBU_FORMAT eAesebuFormat ); 03386 ASX32_API ASX_ERROR ASX_AESEBUReceiver_GetFormat(ASX_HANDLE hAESEBURx, 03387 enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Rx group 03389 03390 /****************************************************************** 03391 * AESEBU Transmitter Control 03392 **/ 03405 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_EnumerateFormat( ASX_HANDLE hAESEBUTx, const int nIndex, enum asxAESEBU_FORMAT *peAesebuFormat, int *pnCount); 03412 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_SetFormat(ASX_HANDLE hAESEBUTx, const enum asxAESEBU_FORMAT eAesebuFormat ); 03419 ASX32_API ASX_ERROR ASX_AESEBUTransmitter_GetFormat(ASX_HANDLE hAESEBUTx, enum asxAESEBU_FORMAT *peAesebuFormat ); // end of AESEBU_Tx group 03421 03422 /****************************************************************** 03423 * GPIO Control 03424 */ 03439 ASX32_API ASX_ERROR ASX_GPIO_GetProperties( ASX_HANDLE hGPIO, int *pnNumberOfInputBits,int *pnNumberOfOutputBits); 03451 ASX32_API ASX_ERROR ASX_GPIO_InputGet( ASX_HANDLE hGPIO, int *pnInputBits, const int nNumberOfBits); 03461 ASX32_API ASX_ERROR ASX_GPIO_OutputSet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); 03470 ASX32_API ASX_ERROR ASX_GPIO_OutputGet( ASX_HANDLE hGPIO, int *pnOutputBits, const int nNumberOfBits); // end of GPIO group 03472 03473 /******************************************************************** 03474 * Vox Control 03475 */ 03486 ASX32_API ASX_ERROR ASX_Vox_SetLevel( ASX_HANDLE hVox, const float fSetLevel); 03493 ASX32_API ASX_ERROR ASX_Vox_GetLevel( ASX_HANDLE hVox, float *fGetLevel); 03502 ASX32_API ASX_ERROR ASX_Vox_GetRange( ASX_HANDLE hVox, 03503 float *fMinLevel, 03504 float *fMaxLevel, 03505 float *fLevelStep); // end of Vox group 03507 03508 /******************************************************************** 03509 * Generic Control 03510 */ 03521 ASX32_API ASX_ERROR ASX_GetGenericControlName( ASX_HANDLE hControl, char *pName); // end of Generic group 03523 03524 /****************************************************************** 03525 * Microphone Control 03526 */ 03537 ASX32_API ASX_ERROR ASX_Mic_SetPhantomPower( ASX_HANDLE hMic, const int nOnOff); 03544 ASX32_API ASX_ERROR ASX_Mic_GetPhantomPower( ASX_HANDLE hMic, int *pOnOff); // end of MIC group 03546 03547 /****************************************************************** 03548 * Parametric EQ control 03549 */ 03561 ASX32_API ASX_ERROR ASX_EQ_GetInfo( 03562 ASX_HANDLE hParmEq, 03563 unsigned short *pwNumberOfBands, 03564 unsigned short *pwEnabled 03565 ); 03572 ASX32_API ASX_ERROR ASX_EQ_SetState( 03573 ASX_HANDLE hParmEq, 03574 const unsigned short wOnOff 03575 ); 03589 ASX32_API ASX_ERROR ASX_EQ_SetBand( 03590 ASX_HANDLE hParmEq, 03591 const unsigned short wIndex, 03592 const enum asxEQBANDTYPE eType, 03593 const unsigned long dwFrequencyHz, 03594 const short nQ100, 03595 const short nGain0_01dB 03596 ); 03597 03611 ASX32_API ASX_ERROR ASX_EQ_GetBand( 03612 ASX_HANDLE hParmEq, 03613 const unsigned short wIndex, 03614 enum asxEQBANDTYPE *peType, 03615 unsigned long *pdwFrequencyHz, 03616 short *pnQ100, 03617 short *pnGain0_01dB 03618 ); // end of Parametric Equalizer group 03620 03621 /****************************************************************** 03622 * Compander control 03623 */ 03641 ASX32_API ASX_ERROR ASX_Compander_Set( 03642 ASX_HANDLE hCompander, 03643 const unsigned short wAttack, 03644 const unsigned short wDecay, 03645 const short wRatio100, 03646 const short nThreshold0_01dB, 03647 const short nMakeupGain0_01dB 03648 ); 03649 03663 ASX32_API ASX_ERROR ASX_Compander_Get( 03664 ASX_HANDLE hCompander, 03665 unsigned short *pwAttack, 03666 unsigned short *pwDecay, 03667 short *pwRatio100, 03668 short *pnThreshold0_01dB, 03669 short *pnMakeupGain0_01dB 03670 ); 03677 ASX32_API ASX_ERROR ASX_Compander_SetEnable( 03678 ASX_HANDLE hCompander, 03679 const unsigned int nOn 03680 ); 03687 ASX32_API ASX_ERROR ASX_Compander_GetEnable( 03688 ASX_HANDLE hCompander, 03689 unsigned int *nOn 03690 ); 03697 ASX32_API ASX_ERROR ASX_Compander_SetMakeupGain( 03698 ASX_HANDLE hCompander, 03699 const float fMakeupGain 03700 ); 03707 ASX32_API ASX_ERROR ASX_Compander_GetMakeupGain( 03708 ASX_HANDLE hCompander, 03709 float *fMakeupGain 03710 ); 03718 ASX32_API ASX_ERROR ASX_Compander_SetAttackTimeConstant( 03719 ASX_HANDLE hCompander, 03720 enum asxCOMPANDER_INDEX index, 03721 const unsigned int nAttack 03722 ); 03730 ASX32_API ASX_ERROR ASX_Compander_GetAttackTimeConstant( 03731 ASX_HANDLE hCompander, 03732 enum asxCOMPANDER_INDEX index, 03733 unsigned int *pnAttack 03734 ); 03742 ASX32_API ASX_ERROR ASX_Compander_SetDecayTimeConstant( 03743 ASX_HANDLE hCompander, 03744 enum asxCOMPANDER_INDEX index, 03745 const unsigned int nDecay 03746 ); 03754 ASX32_API ASX_ERROR ASX_Compander_GetDecayTimeConstant( 03755 ASX_HANDLE hCompander, 03756 enum asxCOMPANDER_INDEX index, 03757 unsigned int *pnDecay 03758 ); 03766 ASX32_API ASX_ERROR ASX_Compander_SetThreshold( 03767 ASX_HANDLE hCompander, 03768 enum asxCOMPANDER_INDEX index, 03769 const float nThreshold 03770 ); 03778 ASX32_API ASX_ERROR ASX_Compander_GetThreshold( 03779 ASX_HANDLE hCompander, 03780 enum asxCOMPANDER_INDEX index, 03781 float *pnThreshold 03782 ); 03790 ASX32_API ASX_ERROR ASX_Compander_SetRatio( 03791 ASX_HANDLE hCompander, 03792 enum asxCOMPANDER_INDEX index, 03793 const float fRatio 03794 ); 03802 ASX32_API ASX_ERROR ASX_Compander_GetRatio( 03803 ASX_HANDLE hCompander, 03804 enum asxCOMPANDER_INDEX index, 03805 float *fRatio 03806 ); 03807 // end of Compander group 03809 03814 /****************************************************************** 03815 * Cobranet control 03816 */ 03826 ASX32_API ASX_ERROR ASX_Cobranet_EnumerateModes( ASX_HANDLE hCobranet, const int nIndex, enum asxCOBRANET_MODE *peMode, int *pnCount); 03830 ASX32_API ASX_ERROR ASX_Cobranet_GetMode( ASX_HANDLE hCobranet, enum asxCOBRANET_MODE *peMode); 03834 ASX32_API ASX_ERROR ASX_Cobranet_SetMode( ASX_HANDLE hCobranet, const enum asxCOBRANET_MODE eMode); 03841 ASX32_API ASX_ERROR ASX_Cobranet_GetIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr); 03848 ASX32_API ASX_ERROR ASX_Cobranet_SetIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr); 03856 ASX32_API ASX_ERROR ASX_Cobranet_GetStaticIPAddress( ASX_HANDLE hCobranet, unsigned int *pdwIPAddr); 03864 ASX32_API ASX_ERROR ASX_Cobranet_SetStaticIPAddress( ASX_HANDLE hCobranet, const unsigned int dwIPAddr); 03872 ASX32_API ASX_ERROR ASX_Cobranet_GetMACAddress( ASX_HANDLE hCobranet, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs); 03880 ASX32_API ASX_ERROR ASX_Cobranet_GetDescription( ASX_HANDLE hCobranet, char *szString, const int nLength ); 03888 ASX32_API ASX_ERROR ASX_Cobranet_GetName( ASX_HANDLE hCobranet, char *szString, const int nLength ); 03896 ASX32_API ASX_ERROR ASX_Cobranet_SetName( ASX_HANDLE hCobranet, const char *pszLongInputString); 03904 ASX32_API ASX_ERROR ASX_Cobranet_GetLocation( ASX_HANDLE hCobranet, char *szString, const int nLength ); 03912 ASX32_API ASX_ERROR ASX_Cobranet_SetLocation( ASX_HANDLE hCobranet, const char *pszLongInputString); 03920 ASX32_API ASX_ERROR ASX_Cobranet_GetFirmwareRevision( ASX_HANDLE hCobranet, char *pszRevision); 03929 ASX32_API ASX_ERROR ASX_Cobranet_GetErrorInfo( ASX_HANDLE hCobranet, unsigned int *pnCode, unsigned int *pnCount, unsigned int *pnDisplay); 03937 ASX32_API ASX_ERROR ASX_Cobranet_GetLatencyAndSampleRate( ASX_HANDLE hCobranet, enum asxCOBRANET_LATENCY *peLatency, enum asxSAMPLE_RATE *peRate); 03945 ASX32_API ASX_ERROR ASX_Cobranet_SetLatencyAndSampleRate( ASX_HANDLE hCobranet, const enum asxCOBRANET_LATENCY eLatency, const enum asxSAMPLE_RATE eRate); 03955 ASX32_API ASX_ERROR ASX_Cobranet_GetPersistence( ASX_HANDLE hCobranet, unsigned int *pnSetting); 03965 ASX32_API ASX_ERROR ASX_Cobranet_SetPersistence( ASX_HANDLE hCobranet, const unsigned int nSetting); 03973 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorPriority( ASX_HANDLE hCobranet, unsigned int *pnPriority); 03981 ASX32_API ASX_ERROR ASX_Cobranet_SetConductorPriority( ASX_HANDLE hCobranet, const unsigned int nPriority); 03989 ASX32_API ASX_ERROR ASX_Cobranet_GetConductorStatus( ASX_HANDLE hCobranet, unsigned int *pnState); 03996 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialEnable( ASX_HANDLE hCobranet, const int nOnOff); 04003 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialEnable( ASX_HANDLE hCobranet, int *pOnOff); 04016 ASX32_API ASX_ERROR ASX_Cobranet_SetSerialConfig( 04017 ASX_HANDLE hCobranet, 04018 const unsigned int nBaud, 04019 const unsigned int nPPeriod, 04020 const char pRxMAC[6], 04021 const int nAcceptUnicast, 04022 const char pTxMAC[6]); 04034 ASX32_API ASX_ERROR ASX_Cobranet_GetSerialConfig( 04035 ASX_HANDLE hCobranet, 04036 unsigned int *pnBaud, 04037 unsigned int *pnPPeriod, 04038 char pRxMAC[6], 04039 int *pnAcceptUnicast, 04040 char pTxMAC[6]); 04049 ASX32_API ASX_ERROR ASX_Cobranet_GetIfStatus( 04050 ASX_HANDLE hCobranet, 04051 unsigned int *pnCurrentIf, 04052 unsigned int *pnPrimaryLinkStatus, 04053 unsigned int *pnSecondaryLinkStatus); // end of Cobranet group 04055 /****************************************************************** 04056 * Cobranet transmitter control 04057 */ 04070 ASX32_API ASX_ERROR ASX_CobranetTx_GetStatus(ASX_HANDLE hCobranetTx, unsigned int *pnDropouts, unsigned int *pnPosition,unsigned int *pnReceivers); 04077 ASX32_API ASX_ERROR ASX_CobranetTx_GetBundle(ASX_HANDLE hCobranetTx, unsigned int *pnBundle); 04084 ASX32_API ASX_ERROR ASX_CobranetTx_SetBundle(ASX_HANDLE hCobranetTx, const unsigned int nBundle); 04091 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelCount(ASX_HANDLE hCobranetTx, unsigned int *pnCount); 04098 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelCount(ASX_HANDLE hCobranetTx, const unsigned int nCount); 04105 ASX32_API ASX_ERROR ASX_CobranetTx_GetChannelMap(ASX_HANDLE hCobranetTx, unsigned int nMap[8]); 04112 ASX32_API ASX_ERROR ASX_CobranetTx_SetChannelMap(ASX_HANDLE hCobranetTx, const unsigned int nMap[8]); 04119 ASX32_API ASX_ERROR ASX_CobranetTx_GetFormat(ASX_HANDLE hCobranetTx, enum asxAUDIO_FORMAT *peFormat); 04128 ASX32_API ASX_ERROR ASX_CobranetTx_SetFormat(ASX_HANDLE hCobranetTx, const enum asxAUDIO_FORMAT eFormat); 04136 ASX32_API ASX_ERROR ASX_CobranetTx_GetUnicastMode(ASX_HANDLE hCobranetTx, unsigned int *pnUnicastMode, unsigned int *pnMaxUnicast); 04167 ASX32_API ASX_ERROR ASX_CobranetTx_SetUnicastMode(ASX_HANDLE hCobranetTx, const unsigned int nUnicastMode, const unsigned int nMaxUnicast); 04168 // end of Cobranet Tx group 04170 04171 /****************************************************************** 04172 * Cobranet receiver control 04173 */ 04218 ASX32_API ASX_ERROR ASX_CobranetRx_GetStatus(ASX_HANDLE hCobranetRx, unsigned int *pnStatus, unsigned int *pnDropouts, unsigned int *pnDelay, unsigned int nFormat[8]); 04225 ASX32_API ASX_ERROR ASX_CobranetRx_GetBundle(ASX_HANDLE hCobranetRx, unsigned int *pnBundle); 04232 ASX32_API ASX_ERROR ASX_CobranetRx_SetBundle(ASX_HANDLE hCobranetRx, const unsigned int nBundle); 04240 ASX32_API ASX_ERROR ASX_CobranetRx_GetSourceMAC(ASX_HANDLE hCobranetRx, unsigned int *pdwMAC_MSBs, unsigned short *pwMAC_LSBs); 04248 ASX32_API ASX_ERROR ASX_CobranetRx_SetSourceMAC(ASX_HANDLE hCobranetRx, const unsigned int dwMAC_MSBs, const unsigned short wMAC_LSBs); 04255 ASX32_API ASX_ERROR ASX_CobranetRx_GetChannelMap(ASX_HANDLE hCobranetRx, unsigned int nMap[8]); 04262 ASX32_API ASX_ERROR ASX_CobranetRx_SetChannelMap(ASX_HANDLE hCobranetRx, const unsigned int nMap[8]); 04269 ASX32_API ASX_ERROR ASX_CobranetRx_GetMinimumDelay(ASX_HANDLE hCobranetRx, unsigned int *pnMinDelay); 04282 ASX32_API ASX_ERROR ASX_CobranetRx_SetMinimumDelay(ASX_HANDLE hCobranetRx, const unsigned int nMinDelay); // end of Cobranet Rx group 04284 04285 /****************************************************************** 04286 * Tone Detector control 04287 */ 04303 ASX32_API ASX_ERROR ASX_ToneDetector_SetEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable); 04310 ASX32_API ASX_ERROR ASX_ToneDetector_GetEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable); 04317 ASX32_API ASX_ERROR ASX_ToneDetector_SetEventEnable( ASX_HANDLE hToneDetector,const unsigned int nEnable); 04324 ASX32_API ASX_ERROR ASX_ToneDetector_GetEventEnable( ASX_HANDLE hToneDetector,unsigned int *nEnable); 04329 ASX32_API ASX_ERROR ASX_ToneDetector_SetThreshold( ASX_HANDLE hToneDetector,const float fThreshold); 04335 ASX32_API ASX_ERROR ASX_ToneDetector_GetThreshold( ASX_HANDLE hToneDetector,float *fThreshold); 04341 ASX32_API ASX_ERROR ASX_ToneDetector_GetState( ASX_HANDLE hToneDetector,unsigned int *nState); 04347 ASX32_API ASX_ERROR ASX_ToneDetector_GetFrequency( ASX_HANDLE hToneDetector,unsigned int nIndex,unsigned int *nState); // end of Tone group 04349 04350 /****************************************************************** 04351 * Silence Detector control 04352 */ 04363 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable); 04370 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable); 04377 ASX32_API ASX_ERROR ASX_SilenceDetector_SetEventEnable( ASX_HANDLE hSilenceDetector,const unsigned int nEnable); 04384 ASX32_API ASX_ERROR ASX_SilenceDetector_GetEventEnable( ASX_HANDLE hSilenceDetector,unsigned int *nEnable); 04385 04391 ASX32_API ASX_ERROR ASX_SilenceDetector_SetDelay( 04392 ASX_HANDLE hSilenceDetector, 04393 const unsigned int Delay 04394 ); 04400 ASX32_API ASX_ERROR ASX_SilenceDetector_GetDelay( 04401 ASX_HANDLE hSilenceDetector, 04402 unsigned int *Delay 04403 ); 04408 ASX32_API ASX_ERROR ASX_SilenceDetector_SetThreshold( ASX_HANDLE hSilenceDetector,const float fThreshold); 04413 ASX32_API ASX_ERROR ASX_SilenceDetector_GetThreshold( ASX_HANDLE hSilenceDetector,float *fThreshold); 04419 ASX32_API ASX_ERROR ASX_SilenceDetector_GetState( ASX_HANDLE hSilenceDetector,unsigned int *nState); // end of silence group 04421 /****************************************************************** 04422 * Block control 04423 */ 04439 ASX32_API ASX_ERROR ASX_Block_GetInfo( 04440 ASX_HANDLE hBlock, 04441 char *szBlockName, 04442 const unsigned int uStringLength, 04443 unsigned int *uParameterCount); 04444 04454 ASX32_API ASX_ERROR ASX_Block_Parameter_GetName( 04455 ASX_HANDLE hBlock, 04456 const unsigned int uParameterIndex, 04457 char *szParameterName, 04458 const unsigned int uStringLength); 04468 ASX32_API ASX_ERROR ASX_Block_Parameter_GetUnits( 04469 ASX_HANDLE hBlock, 04470 const unsigned int uParameterIndex, 04471 char *szParameterUnits, 04472 const unsigned int uStringLength); 04480 ASX32_API ASX_ERROR ASX_Block_Parameter_GetType( 04481 ASX_HANDLE hBlock, 04482 const unsigned int uParameterIndex, 04483 enum asxUCONTROL_PTYPE *eType); 04484 04492 ASX32_API ASX_ERROR ASX_Block_Parameter_GetFlags( 04493 ASX_HANDLE hBlock, 04494 const unsigned int uParameterIndex, 04495 enum asxUCONTROL_PFLAGS *eFlags); 04496 04504 ASX32_API ASX_ERROR ASX_Block_Parameter_GetElementCount( 04505 ASX_HANDLE hBlock, 04506 const unsigned int uParameterIndex, 04507 unsigned int *uCount); 04508 04516 ASX32_API ASX_ERROR ASX_Block_Parameter_GetRange( 04517 ASX_HANDLE hBlock, 04518 const unsigned int uParameterIndex, 04519 struct asxParameterRangeInfo *info); 04520 04531 ASX32_API ASX_ERROR ASX_Block_Parameter_GetEnumName( 04532 ASX_HANDLE hBlock, 04533 const unsigned int uParameterIndex, 04534 const unsigned int uEnumItem, 04535 char *szEnumName, 04536 const unsigned int uStringLength); 04537 04545 ASX32_API ASX_ERROR ASX_Block_Parameter_Set( 04546 ASX_HANDLE hBlock, 04547 const unsigned int uParameterIndex, 04548 struct asxParameterValue *data); 04549 04557 ASX32_API ASX_ERROR ASX_Block_Parameter_Get( 04558 ASX_HANDLE hBlock, 04559 const unsigned int uParameterIndex, 04560 struct asxParameterValue *data); 04561 04562 /* for the future 04563 ASX32_API ASX_ERROR ASX_ParameterValue_Init( 04564 struct asxParameterValue *data, 04565 enum asxUCONTROL_PTYPE *eType, 04566 const unsigned int uElementCount, 04567 void *data2); 04568 */ 04569 // end of block group 04571 04572 #endif /* ASX_H_DEFS_ONLY */ 04573 #ifdef __cplusplus 04574 } 04575 #endif 04576 #endif /* _ASX_H_ */ 04577 04578 /*********************************************************** 04579 * 04580 ***********************************************************/
1.7.3