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