00001
00002
00003
00004
00005
00006
00007
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
00159 #ifdef __cplusplus
00160 extern "C" {
00161 #endif
00162
00163
00164
00165
00166
00167
00168
00169 #ifdef ASX32_EXPORTS
00170 #define ASX32_API __declspec(dllexport)
00171 #endif
00172 #ifdef ASX32_IMPORTS
00173 #define ASX32_API __declspec(dllimport)
00174 #endif
00175 #ifndef ASX32_API
00176 #define ASX32_API
00177 #endif
00178
00179 #ifndef ASX_VERSION
00180 #define ASX_VERSION_CONSTRUCTOR(maj,min,rel) (((maj) <<16 ) + ((min) << 8) + (rel))
00181
00182 #define ASX_VER_MAJOR(v) ((v)>>16)
00183 #define ASX_VER_MINOR(v) (((v)>>8) & 0xFF )
00184 #define ASX_VER_RELEASE(v) ((v) & 0xFF )
00185
00186
00187 #define ASX_VERSION ASX_VERSION_CONSTRUCTOR( 3, 12, 2 )
00188 #endif
00189
00190
00191
00192
00193
00194 #define ASX_SYSTEM_TYPE_HPI 0
00195 #define ASX_SYSTEM_TYPE_WAVE 1
00196 #define ASX_SYSTEM_TYPE_ALSA 2
00197 #define ASX_SYSTEM_TYPE_DIRECTX 3
00198 #define ASX_SYSTEM_TYPE_PORTAUDIO 4
00199 #define ASX_SYSTEM_TYPE_PCXTOOLS 5
00200 #define ASX_SYSTEM_TYPE_SNMP 6
00201 #define ASX_SYSTEM_TYPE_HPIUDP 7
00202 #define ASX_SYSTEM_TYPE_DUMMY 8
00203 #define ASX_SYSTEM_TYPE_COUNT 9
00204
00205 #define ASX_SHORT_STRING 32
00206 #define ASX_LONG_STRING 128
00207 #define ASX_LONGLONG_STRING 256
00208
00209 #if !linux
00210 #include <crtdbg.h>
00211 #endif
00212
00213 #ifndef _RPT0
00214 #define _RPT0(l,s) printf(s)
00215 #define _RPT1(l,s,d1) printf(s,d1)
00216 #endif
00217
00218
00219
00220
00221
00223 enum asxERROR {
00224 asxERROR_NO_ERROR=0,
00225
00226 asxERROR_ASXOBJECT=256,
00227 asxERROR_INDEX_OUT_OF_RANGE=257,
00228 asxERROR_UNIMPLEMENTED=258,
00229 asxERROR_COMMUNICATING_WITH_DEVICE=259,
00230 asxERROR_STARTING_DEVICE=260,
00231 asxERROR_NOT_OPEN=261,
00232 asxERROR_ALREADY_OPEN=262,
00233 asxERROR_INVALID_FORMAT=263,
00234 asxERROR_INTERNAL_BUFFERING_ERROR=264,
00235 asxERROR_AES18=265,
00236 asxERROR_INVALID_OPERATION=266,
00237 asxERROR_ENUMERATE_INDEX_OUT_OF_RANGE=267,
00238 asxERROR_BUFFER_TOO_SMALL=268,
00239 asxERROR_OUTOFMEMORY=269,
00240 asxERROR_DEPRECATED=270,
00241 asxERROR_TOO_MANY_CLIENTS=271,
00242
00243 asxERROR_INVALID_CONTROL=304,
00244 asxERROR_INVALID_CONTROL_VALUE=305,
00245 asxERROR_INVALID_CONTROL_NOT_FOUND=306,
00246 asxERROR_INVALID_NUMBER_OF_CHANNELS=307,
00247 asxERROR_INVALID_CONTROL_ATTRIBUTE=308,
00248 asxERROR_UNSUPPORTED_CONTROL_ATTRIBUTE=309,
00249 asxERROR_INVALID_CONTROL_OPERATION=310,
00250
00251 asxERROR_FILE_OPEN_FAILED=336,
00252
00253 asxERROR_PLAYER_INTERNAL_STATE_FAILURE=384,
00254 asxERROR_PLAYER_TIME_OUT=385,
00255 asxERROR_PLAYER_OUT_OF_SEQUENCE_CALL=386,
00256 asxERROR_PLAYER_TWAV=387,
00257 asxERROR_PLAYER_NOFILE=388,
00258 asxERROR_PLAYER_INVALIDFILEFORMAT=389,
00259 asxERROR_PLAYER_UNSUPPORTEDFORMAT=390,
00260 asxERROR_PLAYER_FILEREADERROR=391,
00261 asxERROR_PLAYER_FILEOPENERROR=392,
00262
00263 asxERROR_RECORDER_INTERNAL_STATE_FAILURE=448,
00264 asxERROR_RECORDER_TIME_OUT=449,
00265 asxERROR_RECORDER_OUT_OF_SEQUENCE_CALL=450,
00266 asxERROR_RECORDER_TWAV=451,
00267 asxERROR_RECORDER_FILECREATEERROR=452,
00268 asxERROR_RECORDER_FILEWRITEERROR=453,
00269 asxERROR_RECORDER_FORMATMISMATCH=454,
00270 asxERROR_RECORDER_INVALIDFILENAME=455,
00271
00272 asxERROR_MIXER_SAVECONTROLSTATE=460,
00273
00274 asxERROR_UNKNOWN=4095
00275 };
00276
00278 enum asxNODE {
00279 asxNODE_NONE=0,
00280 asxNODE_INVALID=400,
00281
00282 asxNODE_ADAPTER=401,
00283 asxNODE_PLAYER=402,
00284 asxNODE_LINE_IN=403,
00285 asxNODE_AESEBU_IN=404,
00286 asxNODE_TUNER_IN=405,
00287 asxNODE_RADIO_FREQ_IN=406,
00288 asxNODE_CLOCK_SOURCE_IN=407,
00289 asxNODE_BITSTREAM_IN=408,
00290 asxNODE_MICROPHONE_IN=409,
00291 asxNODE_COBRANET_IN=410,
00292 asxNODE_COBRANET_RECEIVER=411,
00293 asxNODE_ANALOG_IN=412,
00294
00295 asxNODE_LAST_SOURCE_NODE=413,
00296
00297 asxNODE_FIRST_DEST_NODE=450,
00298 asxNODE_RECORDER=450,
00299 asxNODE_LINE_OUT=451,
00300 asxNODE_AESEBU_OUT=452,
00301 asxNODE_RADIO_FREQ_OUT=453,
00302 asxNODE_SPEAKER_OUT=454,
00303 asxNODE_COBRANET_OUT=455,
00304 asxNODE_COBRANET_TRANSMITTER=456,
00305 asxNODE_ANALOG_OUT=457,
00306
00307 asxNODE_LAST_DEST_NODE=458
00308 };
00309
00311 enum asxCONTROL {
00312 asxCONTROL_INVALID=500,
00313
00314 asxCONTROL_CONNECTION=501,
00315 asxCONTROL_VOLUME=502,
00316 asxCONTROL_METER=503,
00317 asxCONTROL_MUTE=504,
00318 asxCONTROL_MULTIPLEXER=505,
00319 asxCONTROL_AESEBU_TRANSMITTER=506,
00320 asxCONTROL_AESEBU_RECEIVER=507,
00321 asxCONTROL_LEVEL=508,
00322 asxCONTROL_TUNER=509,
00323 asxCONTROL_RDS=510,
00324 asxCONTROL_VOX=511,
00325 asxCONTROL_AES18_TRANSMITTER=512,
00326 asxCONTROL_AES18_RECEIVER=513,
00327 asxCONTROL_AES18_BLOCK_GENERATOR=514,
00328 asxCONTROL_CHANNEL_MODE=515,
00329 asxCONTROL_BIT_STREAM=516,
00330 asxCONTROL_SAMPLE_CLOCK=517,
00331 asxCONTROL_MICROPHONE=518,
00332 asxCONTROL_PARAMETRIC_EQ=519,
00333 asxCONTROL_COMPANDER=520,
00334 asxCONTROL_COBRANET=521,
00335 asxCONTROL_PLAYER=522,
00336 asxCONTROL_RECORDER=523,
00337 asxCONTROL_GPIO=524,
00338 asxCONTROL_RESERVED_525=525,
00339 asxCONTROL_RESERVED_526=526,
00340 asxCONTROL_RESERVED_527=527,
00341 asxCONTROL_RESERVED_528=528,
00342 asxCONTROL_GENERIC=529,
00343 asxCONTROL_TONEDETECTOR=530,
00344 asxCONTROL_SILENCEDETECTOR=531,
00345 asxCONTROL_COBRANET_TRANSMITTER=532,
00346 asxCONTROL_COBRANET_RECEIVER=533,
00347 asxCONTROL_PAD=534,
00348 asxCONTROL_SRC=535,
00349
00350 asxCONTROL_LAST_CONTROL=536
00351 };
00352
00353
00354
00355
00356
00358 enum asxVOLUME_AUTOFADE {
00359 asxVOLUME_AUTOFADE_LOG,
00360 asxVOLUME_AUTOFADE_LINEAR
00361 };
00362
00364 enum asxMETER_TYPE {
00365 asxMETER_PEAK,
00366 asxMETER_RMS
00367 };
00368
00370 enum asxCHANNELMODE {
00371 asxCHANNELMODE_ILLEGAL=1000,
00372 asxCHANNELMODE_NORMAL=1001,
00373 asxCHANNELMODE_SWAP=1002,
00374 asxCHANNELMODE_STEREOTOLEFT=1003,
00375 asxCHANNELMODE_STEREOTORIGHT=1004,
00376 asxCHANNELMODE_LEFTTOSTEREO=1005,
00377 asxCHANNELMODE_RIGHTTOSTEREO=1006
00378 };
00380 enum asxADAPTERMODE {
00381 asxADAPTERMODE_ILLEGAL=1100,
00382 asxADAPTERMODE_4_PLAY=1101,
00383 asxADAPTERMODE_6_PLAY=1102,
00384 asxADAPTERMODE_8_PLAY=1103,
00385 asxADAPTERMODE_9_PLAY=1104,
00386 asxADAPTERMODE_12_PLAY=1105,
00387 asxADAPTERMODE_16_PLAY=1106,
00388 asxADAPTERMODE_1_PLAY=1107,
00389 asxADAPTERMODE_MODE_1=1108,
00390 asxADAPTERMODE_MODE_2=1109,
00391 asxADAPTERMODE_MODE_3=1110,
00392 asxADAPTERMODE_MULTICHANNEL=1111
00393 };
00395
00396 enum asxTUNERBAND {
00397 asxTUNERBAND_AM=1200,
00398 asxTUNERBAND_FM=1201,
00399 asxTUNERBAND_TV=1202,
00400 asxTUNERBAND_FM_STEREO=1203,
00401 asxTUNERBAND_AUX=1204,
00402 asxTUNERBAND_TV_PAL_BG=1205,
00403 asxTUNERBAND_TV_PAL_I=1206,
00404 asxTUNERBAND_TV_PAL_DK=1207,
00405 asxTUNERBAND_TV_SECAM_L=1208
00406 };
00408 enum asxTUNERDEEMPHASIS {
00409 asxTUNERDEEMPHASIS_50=1240,
00410 asxTUNERDEEMPHASIS_75=1241,
00411 asxTUNERDEEMPHASIS_none=1242,
00412 };
00414 enum asxTUNERMODE {
00415 asxTUNERMODE_RSS=1250,
00416 asxTUNERMODE_RSS_ENABLE=1251,
00417 asxTUNERMODE_RSS_DISABLE=1252
00418 };
00420 enum asxTUNERPROGRAM {
00421 asxTUNERPROGRAM_none=1260,
00422 asxTUNERPROGRAM_1=1261,
00423 asxTUNERPROGRAM_2=1262,
00424 asxTUNERPROGRAM_3=1263,
00425 asxTUNERPROGRAM_4=1264,
00426 asxTUNERPROGRAM_5=1265,
00427 asxTUNERPROGRAM_6=1266,
00428 asxTUNERPROGRAM_7=1267,
00429 asxTUNERPROGRAM_8=1268,
00430 };
00432 enum asxSAMPLE_CLOCK_SOURCE {
00433 asxSAMPLE_CLOCK_SOURCE_ADAPTER=1400,
00434 asxSAMPLE_CLOCK_SOURCE_AESEBUSYNC=1401,
00435 asxSAMPLE_CLOCK_SOURCE_WORD=1402,
00436 asxSAMPLE_CLOCK_SOURCE_WORD_HEADER=1403,
00437 asxSAMPLE_CLOCK_SOURCE_SMPTE=1404,
00438 asxSAMPLE_CLOCK_SOURCE_NETWORK=1405,
00439 asxSAMPLE_CLOCK_SOURCE_AESEBUAUTO=1406,
00440 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT1=1407,
00441 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT2=1408,
00442 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT3=1409,
00443 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT4=1410,
00444 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT5=1411,
00445 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT6=1412,
00446 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT7=1413,
00447 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT8=1414,
00448 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT9=1415,
00449 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT10=1416,
00450 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT11=1417,
00451 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT12=1418,
00452 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT13=1419,
00453 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT14=1420,
00454 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT15=1421,
00455 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT16=1422,
00456 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT17=1423,
00457 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT18=1424,
00458 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT19=1425,
00459 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT20=1426,
00460 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT21=1427,
00461 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT22=1428,
00462 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT23=1429,
00463 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT24=1430,
00464 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT25=1431,
00465 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT26=1432,
00466 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT27=1433,
00467 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT28=1434,
00468 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT29=1435,
00469 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT30=1436,
00470 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT31=1437,
00471 asxSAMPLE_CLOCK_SOURCE_AESEBUINPUT32=1438,
00472 asxSAMPLE_CLOCK_SOURCE_LOCAL=1439,
00473 asxSAMPLE_CLOCK_SOURCE_PREV_MODULE=1440,
00474 asxSAMPLE_CLOCK_SOURCE_UNDEFINED=1441,
00475 asxSAMPLE_CLOCK_SOURCE_LIVEWIRE=1442
00476 };
00477
00479 enum asxAESEBU_FORMAT {
00480 asxAESEBU_FORMAT_AESEBU=1450,
00481 asxAESEBU_FORMAT_SPDIF=1451,
00482 asxAESEBU_FORMAT_UNDEFINED=1452
00483 };
00485 enum asxEQBANDTYPE {
00486 asxEQBANDTYPE_BYPASS=1460,
00487 asxEQBANDTYPE_LOWSHELF=1461,
00488 asxEQBANDTYPE_HIGHSHELF=1462,
00489 asxEQBANDTYPE_EQUALIZER=1463,
00490 asxEQBANDTYPE_LOWPASS=1464,
00491 asxEQBANDTYPE_HIGHPASS=1465,
00492 asxEQBANDTYPE_BANDPASS=1466,
00493 asxEQBANDTYPE_BANDSTOP=1467,
00494 };
00496 enum asxCOBRANET_MODE {
00497 asxCOBRANET_MODE_NETWORK=1470,
00498 asxCOBRANET_MODE_TETHERED=1471
00499 };
00501 enum asxADPROPENUM_MODE {
00502 asxADPROPENUM_MODE_PROPERTIES=1480,
00503 asxADPROPENUM_MODE_SETTINGS=1481
00504 };
00506 enum asxCOBRANET_LATENCY {
00507 asxCOBRANET_LATENCY_133ms=1490,
00508 asxCOBRANET_LATENCY_266ms=1491,
00509 asxCOBRANET_LATENCY_533ms=1492
00510 };
00511
00512
00513
00514
00515
00517 enum asxFILE_FORMAT {
00518 asxFILE_FORMAT_WAV=10000,
00519 asxFILE_FORMAT_RAW=10001
00520 };
00522 enum asxFILE_MODE {
00523 asxFILE_MODE_CREATE=10100,
00524 asxFILE_MODE_APPEND=10101
00525 };
00527 enum asxAUDIO_FORMAT {
00528 asxAUDIO_FORMAT_PCM8=10200,
00529 asxAUDIO_FORMAT_PCM16=10201,
00530 asxAUDIO_FORMAT_PCM24=10202,
00531 asxAUDIO_FORMAT_PCM32=10203,
00532 asxAUDIO_FORMAT_PCM32_FLOAT=10204,
00533 asxAUDIO_FORMAT_MPEG_L2=10205,
00534 asxAUDIO_FORMAT_MPEG_L3=10206,
00535 asxAUDIO_FORMAT_MPEG_AACPLUS=10207,
00536 asxAUDIO_FORMAT_DOLBY_AC2=10208,
00537 asxAUDIO_FORMAT_PCM20=10209,
00538 asxAUDIO_FORMAT_NONE=10210
00539 };
00540
00541
00543 enum asxRECORD_MODE {
00544 asxRECORD_MODE_STEREO=10300,
00545 asxRECORD_MODE_JOINT_STEREO,
00546 asxRECORD_MODE_DUAL_MONO,
00547 asxRECORD_MODE_MONO,
00548 asxRECORD_MODE_DONT_CARE
00549 };
00551 enum asxPLAYER_STATE{
00552 asxPLAYER_INIT=10400,
00553 asxPLAYER_OPEN=10401,
00554 asxPLAYER_PREFILL=10402,
00555 asxPLAYER_RUNNING=10403,
00556 asxPLAYER_PAUSED=10404,
00557 asxPLAYER_DONE=10405,
00558 asxPLAYER_DESTROY=10406
00559 };
00561 enum asxRECORDER_STATE{
00562 asxRECORDER_INIT=10500,
00563 asxRECORDER_OPEN=10501,
00564 asxRECORDER_RUNNING=10502,
00565 asxRECORDER_PAUSED=10503,
00566 asxRECORDER_DONE=10504,
00567 asxRECORDER_DESTROY=10505
00568 };
00569
00571 enum asxTIMESCALE {
00572 asxTIMESCALE_INVALID=10600,
00573 asxTIMESCALE_BYTES=10601,
00574 asxTIMESCALE_MILLISECONDS=10602,
00575 asxTIMESCALE_SAMPLES=10603
00576 };
00577
00579 enum asxSAMPLE_RATE {
00580 asxSAMPLE_RATE_8000=10700,
00581 asxSAMPLE_RATE_11025=10701,
00582 asxSAMPLE_RATE_16000=10702,
00583 asxSAMPLE_RATE_22050=10703,
00584 asxSAMPLE_RATE_24000=10704,
00585 asxSAMPLE_RATE_32000=10705,
00586 asxSAMPLE_RATE_44100=10706,
00587 asxSAMPLE_RATE_48000=10707,
00588 asxSAMPLE_RATE_64000=10708,
00589 asxSAMPLE_RATE_88200=10709,
00590 asxSAMPLE_RATE_96000=10710,
00591 asxSAMPLE_RATE_192000=10711,
00592 asxSAMPLE_RATE_12000=10712,
00593 asxSAMPLE_RATE_UNDEFINED=10799
00594 };
00595
00597 enum asxMSG_LOGGING {
00598 asxMSG_LOGGING_DISABLE=10800,
00599 asxMSG_LOGGING_ERROR=10801,
00600 asxMSG_LOGGING_WARNING=10802,
00601 asxMSG_LOGGING_NOTICE=10803,
00602 asxMSG_LOGGING_INFO=10804,
00603 asxMSG_LOGGING_DEBUG=10805,
00604 asxMSG_LOGGING_VERBOSE=10806
00605 };
00606
00607
00608
00609
00610
00612 enum asxTUNER_STATUS {
00613 asxTUNER_STATUS_VIDEO_VALID=1,
00614 asxTUNER_STATUS_VIDEO_COLOR_PRESENT=2,
00615 asxTUNER_STATUS_VIDEO_IS_60HZ=4,
00616 asxTUNER_STATUS_VIDEO_HORZ_SYNC_MISSING=8,
00617 asxTUNER_STATUS_PLL_LOCKED=16,
00618 asxTUNER_STATUS_FM_STEREO=32,
00619 asxTUNER_STATUS_DIGITAL=64,
00620 asxTUNER_STATUS_MULTIPROGRAM=128
00621 };
00622
00624 enum asxTUNER_RDS_TYPE {
00625 asxTUNER_RDS_TYPE_RDS=0,
00626 asxTUNER_RDS_TYPE_RBDS=1,
00627 };
00628
00629
00630
00632 enum asxAESEBU_STATUS {
00633 asxAESEBU_ERROR=0x01,
00634 asxAESEBU_ERROR_NOT_LOCKED=0x02,
00635 asxAESEBU_ERROR_POOR_QUALITY=0x04,
00636 asxAESEBU_ERROR_PARITY_ERROR=0x08,
00637 asxAESEBU_ERROR_BIPHASE_VIOLATION=0x10,
00638 asxAESEBU_ERROR_VALIDITY=0x20,
00639 asxAESEBU_ERROR_CHANNELSTATUS_CRC=0x40
00640 };
00641
00643 enum asxHANDLE_TYPE {
00644 asxHANDLE_INVALID,
00645 asxHANDLE_SYSTEM,
00646 asxHANDLE_ADAPTER,
00647 asxHANDLE_MIXER,
00648 asxHANDLE_NODE,
00649 asxHANDLE_CONTROL,
00650 asxHANDLE_LAST
00651 };
00652
00653
00654
00655
00656
00657 typedef void * ASX_HANDLE;
00658 typedef enum asxERROR ASX_ERROR;
00659 typedef enum asxNODE ASX_NODE;
00660 typedef int ASX_TIME;
00661 typedef void ASX_ERROR_CALLBACK(ASX_HANDLE hASX_Object,const char *pszCallingFunction,void *pUser1,void *pUser2);
00662
00663 #ifndef ASX_H_DEFS_ONLY
00664
00665
00666
00667
00668
00687 ASX32_API ASX_ERROR ASX_System_Create( const int asxSystemType, ASX_HANDLE *phSystem );
00688
00702 ASX32_API ASX_ERROR ASX_System_CreateSubSystem( const int asxSystemType, ASX_HANDLE *pio_hSystem );
00703
00710 ASX32_API ASX_ERROR ASX_System_SetHostNetworkInterface( const char *szInterface );
00711
00721 ASX32_API ASX_ERROR ASX_System_Delete( ASX_HANDLE hSystem );
00722
00736 ASX32_API ASX_ERROR ASX_System_RegisterErrorCallback(
00737 ASX_HANDLE hSystem,
00738 ASX_ERROR_CALLBACK *pCallback,
00739 void *pUser1,
00740 void *pUser2);
00741
00760 ASX32_API ASX_ERROR ASX_System_GetName(
00761 ASX_HANDLE hSystem,
00762 char *pszName,
00763 const int nStringLength,
00764 int *pnRequiredLength );
00778 ASX32_API ASX_ERROR ASX_System_GetVersion( ASX_HANDLE hSystem,
00779 char *pszSystemVersion,
00780 const int nSystemVersionLength,
00781 int *pnRequiredSystemVersionLength,
00782 char *pszSubSystemVersion,
00783 const int nSubSystemVersionLength,
00784 int *pnRequiredSubSystemVersionLength);
00791 ASX32_API ASX_ERROR ASX_System_GetAdapterCount( ASX_HANDLE hSystem, int *pnCount );
00799 ASX32_API ASX_ERROR ASX_System_GetAdapter( ASX_HANDLE hSystem, const int nAdapter, ASX_HANDLE *p_hAdapter );
00806 ASX32_API ASX_ERROR ASX_System_SetMessageLogging( ASX_HANDLE hSystem, const enum asxMSG_LOGGING eLog);
00813 ASX32_API ASX_ERROR ASX_System_GetMessageLogging( ASX_HANDLE hSystem, enum asxMSG_LOGGING *eLog);
00814
00816
00817
00818
00819
00820
00830 ASX32_API enum asxHANDLE_TYPE ASX_Handle_GetType(ASX_HANDLE hHandle);
00832
00833
00834
00835
00849 ASX32_API ASX_ERROR ASX_Error_GetLast(
00850 ASX_HANDLE hASXObject,
00851 ASX_ERROR *pnAsxErrorCode,
00852 int *pnAsxSubSystemErrorCode);
00853
00869 ASX32_API ASX_ERROR ASX_Error_GetLastString(
00870 ASX_HANDLE hASXObject,
00871 char *pszAsxErrorString,
00872 const int nAsxErrorStringLength,
00873 int *pnRequiredAsxErrorStringLength,
00874 char *pszAsxSubSystemErrorString,
00875 const int nAsxSubSystemErrorStringLength,
00876 int *pnRequiredAsxSubSystemErrorStringLength);
00877
00878
00884 ASX32_API ASX_ERROR ASX_Error_Clear(
00885 ASX_HANDLE hASXObject);
00886
00888
00893
00894
00895
00911 ASX32_API ASX_ERROR ASX_Adapter_CheckSubSystems(
00912 ASX_HANDLE hAdapter,
00913 unsigned int *pnSubSystemMask,
00914 unsigned int *pnSubSystemOkMask);
00915
00916
00945 ASX32_API ASX_ERROR ASX_Adapter_GetName(
00946 ASX_HANDLE hAdapter,
00947 char *pszName,
00948 const int nStringLength,
00949 int *RequiredLength );
00950
00967 ASX32_API ASX_ERROR ASX_Adapter_GetIndex(
00968 ASX_HANDLE hAdapter,
00969 int *pnIndex );
00978 ASX32_API ASX_ERROR ASX_Adapter_GetSerialNumber(
00979 ASX_HANDLE hAdapter,
00980 unsigned long *pdwSerialNumber );
00981
00993 ASX32_API ASX_ERROR ASX_Adapter_GetHardwareRevision(
00994 ASX_HANDLE hAdapter,
00995 char *pszRevision);
00996
01006 ASX32_API ASX_ERROR ASX_Adapter_GetFirmwareRevision(
01007 ASX_HANDLE hAdapter,
01008 char *pszRevision);
01009
01019 ASX32_API ASX_ERROR ASX_Adapter_GetMacAddress(
01020 ASX_HANDLE hAdapter,
01021 char *pszMAC);
01022
01032 ASX32_API ASX_ERROR ASX_Adapter_GetIpAddress(
01033 ASX_HANDLE hAdapter,
01034 char *pszIP);
01035
01046 ASX32_API ASX_ERROR ASX_Adapter_GetDspUtilization(
01047 ASX_HANDLE hAdapter,
01048 const int nDspIndex,
01049 int *pnDspUtilization);
01050
01058 ASX32_API ASX_ERROR ASX_Adapter_GetMixer(
01059 ASX_HANDLE hAdapter,
01060 ASX_HANDLE *p_hMixer );
01061
01062
01071 ASX32_API ASX_ERROR ASX_Adapter_EnumerateMode( ASX_HANDLE hAdapter, const int nIndex, enum asxADAPTERMODE *peMode, int *pnCount);
01078 ASX32_API ASX_ERROR ASX_Adapter_GetMode( ASX_HANDLE hAdapter, enum asxADAPTERMODE *peMode);
01085 ASX32_API ASX_ERROR ASX_Adapter_SetMode( ASX_HANDLE hAdapter, const enum asxADAPTERMODE eMode);
01095 ASX32_API ASX_ERROR ASX_Adapter_EnumerateProperty( ASX_HANDLE hAdapter, const int nIndex, const enum asxADPROPENUM_MODE eMode, const int nSubIndex, unsigned long *pdwSetting);
01104 ASX32_API ASX_ERROR ASX_Adapter_ReadProperty( ASX_HANDLE hAdapter, const int nIndex, unsigned short *pwParm1, unsigned short *pwParm2);
01113 ASX32_API ASX_ERROR ASX_Adapter_WriteProperty( ASX_HANDLE hAdapter, const int nIndex, const unsigned short wParm1, const unsigned short wParm2);
01121 ASX32_API ASX_ERROR ASX_Adapter_WriteNvMem( ASX_HANDLE hAdapter, const int nAddress, const unsigned char cValue);
01129 ASX32_API ASX_ERROR ASX_Adapter_ReadNvMem( ASX_HANDLE hAdapter, const int nAddress, unsigned char *pcValue);
01136 ASX32_API ASX_ERROR ASX_Adapter_GetNvMemSizeInBytes( ASX_HANDLE hAdapter, int *pnCount);
01137
01138
01140
01145
01146
01147
01165 ASX32_API ASX_ERROR ASX_Mixer_ResetControls(
01166 ASX_HANDLE hMixer);
01167
01174 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNodeCount(
01175 ASX_HANDLE hMixer,
01176 int *pnCount);
01177
01186 ASX32_API ASX_ERROR ASX_Mixer_GetSourceNode(
01187 ASX_HANDLE hMixer,
01188 const int nSourceNode,
01189 ASX_HANDLE *p_hNode );
01190
01191
01198 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNodeCount(
01199 ASX_HANDLE hMixer,
01200 int *pnCount);
01201
01210 ASX32_API ASX_ERROR ASX_Mixer_GetDestinationNode(
01211 ASX_HANDLE hMixer,
01212 const int nDestinationNode,
01213 ASX_HANDLE *p_hNode );
01214
01225 ASX32_API ASX_ERROR ASX_Mixer_GetNodeByType(
01226 ASX_HANDLE hMixer,
01227 const enum asxNODE eType,
01228 const int nIndex,
01229 ASX_HANDLE *p_hNode);
01230
01240 ASX32_API ASX_ERROR ASX_Mixer_GetNodeTypeCount(
01241 ASX_HANDLE hMixer,
01242 const enum asxNODE eType,
01243 int *pnCount);
01244
01245
01246
01253 ASX32_API ASX_ERROR ASX_Mixer_GetControlCount(
01254 ASX_HANDLE hMixer,
01255 int *pnControls);
01256
01264 ASX32_API ASX_ERROR ASX_Mixer_GetControl(
01265 ASX_HANDLE hMixer,
01266 const int nControl,
01267 ASX_HANDLE *p_hControlBase );
01268
01280 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNode(
01281 const ASX_HANDLE hMixer,
01282 const ASX_HANDLE hSourceNode,
01283 const ASX_HANDLE hDestinationNode,
01284 const enum asxCONTROL eControlType,
01285 ASX_HANDLE *p_hControlBase );
01286
01300 ASX32_API ASX_ERROR ASX_Mixer_GetControlByNodeTypeAndIndex(
01301 ASX_HANDLE hMixer,
01302 const enum asxNODE nSourceNodeType,
01303 const int nSourceIndex,
01304 const enum asxNODE nDestinationNodeType,
01305 const int nDestinationIndex,
01306 const enum asxCONTROL eControlType,
01307 ASX_HANDLE *p_hControlBase );
01308
01309
01310
01312
01313
01314
01315
01331 ASX32_API ASX_ERROR ASX_Node_GetType(
01332 ASX_HANDLE hNode,
01333 enum asxNODE *peType);
01334
01343 ASX32_API ASX_ERROR ASX_Node_GetIndex(
01344 ASX_HANDLE hNode,
01345 int *pnIndex);
01346
01358 ASX32_API ASX_ERROR ASX_Node_GetLocation(
01359 ASX_HANDLE hNode,
01360 int *pnModuleSlot,
01361 int *pnNodeIndexOnSlot,
01362 char *pszModuleName,
01363 const int nStringLength);
01364
01371 ASX32_API ASX_ERROR ASX_Node_GetSubSystem(
01372 ASX_HANDLE hNode,
01373 ASX_HANDLE *p_hSubSystem);
01374
01382 ASX32_API ASX_ERROR ASX_Node_GetName(
01383 ASX_HANDLE hNode,
01384 char *pszNodeName,
01385 const int nStringLength
01386 );
01387
01391 ASX32_API ASX_ERROR ASX_Mixer_GetNodeType(
01392 ASX_HANDLE hNode,
01393 enum asxNODE *peType);
01394
01398 ASX32_API ASX_ERROR ASX_Mixer_GetNodeIndex(
01399 ASX_HANDLE hNode,
01400 int *pnIndex);
01401
01403
01408
01409
01410
01424 ASX32_API ASX_ERROR ASX_Control_GetType( ASX_HANDLE hControl, enum asxCONTROL *peControl);
01431 ASX32_API ASX_ERROR ASX_Control_GetSourceNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01438 ASX32_API ASX_ERROR ASX_Control_GetDestinationNode( ASX_HANDLE hControl, ASX_HANDLE *p_hNode );
01454 ASX32_API ASX_ERROR ASX_Control_GetHpiControl( ASX_HANDLE hControl, void **pphHpiSubSys, unsigned int *phHpiControl );
01461 ASX32_API ASX_ERROR ASX_Control_GetSubSystem(
01462 ASX_HANDLE hControl,
01463 ASX_HANDLE *p_hSubSystem);
01464
01465
01466
01467
01468
01469
01470
01471
01472
01473
01474
01475
01477
01478 #if (DISABLE_PLAYREC_CONTROLS!=1)
01479
01480
01481
01572 ASX32_API ASX_ERROR ASX_Player_Open( ASX_HANDLE hPlayer, const char *pszFile);
01579 ASX32_API ASX_ERROR ASX_Player_Format_GetString( ASX_HANDLE hPlayer, char **pszFormat);
01589 ASX32_API ASX_ERROR ASX_Player_Format_GetDetails( ASX_HANDLE hPlayer,
01590 enum asxAUDIO_FORMAT *peFormat,
01591 int *pnChannnels,
01592 int *pnSampleRate,
01593 int *pnBitRate);
01607 ASX32_API ASX_ERROR ASX_Player_PreLoad( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, const unsigned long lPosition);
01613 ASX32_API ASX_ERROR ASX_Player_Start( ASX_HANDLE hPlayer);
01620 ASX32_API ASX_ERROR ASX_Player_Pause( ASX_HANDLE hPlayer);
01627 ASX32_API ASX_ERROR ASX_Player_Stop( ASX_HANDLE hPlayer);
01634 ASX32_API ASX_ERROR ASX_Player_Wait( ASX_HANDLE hPlayer);
01640 ASX32_API ASX_ERROR ASX_Player_Close( ASX_HANDLE hPlayer);
01650 ASX32_API ASX_ERROR ASX_Player_GetPosition( ASX_HANDLE hPlayer, const enum asxTIMESCALE nType, unsigned long *plPosition);
01657 ASX32_API ASX_ERROR ASX_Player_GetState( ASX_HANDLE hPlayer, enum asxPLAYER_STATE *pnState);
01667 ASX32_API ASX_ERROR ASX_Player_SetTimeScale( ASX_HANDLE hPlayer, const float fTimeScale);
01676 ASX32_API ASX_ERROR ASX_Player_GetTimeScale( ASX_HANDLE hPlayer, float *pfTimeScale);
01686 ASX32_API ASX_ERROR ASX_Player_GetFilename( ASX_HANDLE hPlayer, char *pszFilename, const int nStringLength, int *pnRequiredLength );
01694 ASX32_API ASX_ERROR ASX_Player_SetLoopMode( ASX_HANDLE hPlayer, const int nLooping );
01702 ASX32_API ASX_ERROR ASX_Player_GetLoopMode( ASX_HANDLE hPlayer, int *pnLooping );
01703
01705
01744
01745
01746
01826 ASX32_API ASX_ERROR ASX_Recorder_Open(
01827 ASX_HANDLE hRecorder, const char *pszFile,
01828 const enum asxFILE_FORMAT nFileType,
01829 const enum asxFILE_MODE nFileMode,
01830 const int nChannels,
01831 const enum asxAUDIO_FORMAT nFormat,
01832 const long lSampleRate,
01833 const long lBitrate,
01834 const enum asxRECORD_MODE nMode
01835 );
01841 ASX32_API ASX_ERROR ASX_Recorder_Start( ASX_HANDLE hRecorder );
01847 ASX32_API ASX_ERROR ASX_Recorder_Stop( ASX_HANDLE hRecorder);
01853 ASX32_API ASX_ERROR ASX_Recorder_Pause( ASX_HANDLE hRecorder);
01859 ASX32_API ASX_ERROR ASX_Recorder_Close( ASX_HANDLE hRecorder);
01867 ASX32_API ASX_ERROR ASX_Recorder_GetPosition( ASX_HANDLE hRecorder, const enum asxTIMESCALE nType, unsigned long *plPosition);
01874 ASX32_API ASX_ERROR ASX_Recorder_GetState( ASX_HANDLE hRecorder, enum asxRECORDER_STATE *peState);
01884 ASX32_API ASX_ERROR ASX_Recorder_GetFilename( ASX_HANDLE hRecorder, char *pszFilename, const int nStringLength, int *pnRequiredLength );
01893 ASX32_API ASX_ERROR ASX_Recorder_EnumerateFormat( ASX_HANDLE hRecorder, const int nIndex, enum asxAUDIO_FORMAT *peFormat, int *pnCount);
01895
01946 #endif
01947
01948
01949
01960 ASX32_API ASX_ERROR ASX_Meter_GetChannels( ASX_HANDLE hMeter, int *pnChannels);
01961
01981 ASX32_API ASX_ERROR ASX_Meter_GetPeak( ASX_HANDLE hMeter, float *fdB, const int nChannels);
01995 ASX32_API ASX_ERROR ASX_Meter_GetRMS( ASX_HANDLE hMeter, float *fdB, const int nChannels);
02083 ASX32_API ASX_ERROR ASX_Meter_SetBallistics( ASX_HANDLE hMeter, const enum asxMETER_TYPE nMeterType, const float fAttackTimeMs, const float fDecayTimeMs);
02085
02090
02091
02092
02103 ASX32_API ASX_ERROR ASX_Volume_GetChannels( ASX_HANDLE hVolume, int *pnChannels);
02111 ASX32_API ASX_ERROR ASX_Volume_SetGain( ASX_HANDLE hVolume, float *fSetdB, const int nChannels);
02119 ASX32_API ASX_ERROR ASX_Volume_GetGain( ASX_HANDLE hVolume, float *fdB, const int nChannels);
02128 ASX32_API ASX_ERROR ASX_Volume_GetRange( ASX_HANDLE hVolume,
02129 float *fMinGain,
02130 float *fMaxGain,
02131 float *fGainStep);
02144 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);
02146
02147
02148
02149
02161 ASX32_API ASX_ERROR ASX_Level_Set( ASX_HANDLE hLevel, const float fGain);
02168 ASX32_API ASX_ERROR ASX_Level_Get( ASX_HANDLE hLevel, float *fGain);
02177 ASX32_API ASX_ERROR ASX_Level_GetRange( ASX_HANDLE hLevel,
02178 float *fMinGain,
02179 float *fMaxGain,
02180 float *fGainStep);
02181
02183
02184
02185
02186
02204 ASX32_API ASX_ERROR ASX_Multiplexer_Enumerate( ASX_HANDLE hMux, const int nIndex, enum asxNODE *peNode, int *pnNodeIndex, int *pnCount);
02212 ASX32_API ASX_ERROR ASX_Multiplexer_Get( ASX_HANDLE hMux, enum asxNODE *peNode, int *pnNodeIndex);
02220 ASX32_API ASX_ERROR ASX_Multiplexer_Set( ASX_HANDLE hMux, const enum asxNODE eNode, const int nNodeIndex);
02225
02226
02227
02241 ASX32_API ASX_ERROR ASX_ChannelMode_Enumerate( ASX_HANDLE hMode, const int nIndex, enum asxCHANNELMODE *peMode, int *pnCount);
02248 ASX32_API ASX_ERROR ASX_ChannelMode_Get( ASX_HANDLE hMode, enum asxCHANNELMODE *peMode);
02255 ASX32_API ASX_ERROR ASX_ChannelMode_Set( ASX_HANDLE hMode, const enum asxCHANNELMODE eMode);
02257
02258
02259
02260
02273 ASX32_API ASX_ERROR ASX_Tuner_EnumerateBand( ASX_HANDLE hTuner, const int nIndex, enum asxTUNERBAND *peBand, int *pnCount);
02280 ASX32_API ASX_ERROR ASX_Tuner_GetBand( ASX_HANDLE hTuner, enum asxTUNERBAND *peBand);
02287 ASX32_API ASX_ERROR ASX_Tuner_SetBand( ASX_HANDLE hTuner, const enum asxTUNERBAND eBand);
02295 ASX32_API ASX_ERROR ASX_Tuner_SetFrequency( ASX_HANDLE hTuner, const unsigned long nFreq);
02302 ASX32_API ASX_ERROR ASX_Tuner_GetFrequency( ASX_HANDLE hTuner, unsigned long *plFreq);
02303
02313 ASX32_API ASX_ERROR ASX_Tuner_GetFrequencyRange(ASX_HANDLE hTuner,
02314 const enum asxTUNERBAND eBand,
02315 unsigned long *plMin, unsigned long *plMax,
02316 unsigned long *plStep);
02317
02327 ASX32_API ASX_ERROR ASX_Tuner_GetGainRange(ASX_HANDLE hTuner, float *fMin, float *fMax, float *fStep);
02334 ASX32_API ASX_ERROR ASX_Tuner_SetGain(ASX_HANDLE hTuner, const float fTunerGain);
02341 ASX32_API ASX_ERROR ASX_Tuner_GetGain(ASX_HANDLE hTuner, float *pfTunerGain);
02348 ASX32_API ASX_ERROR ASX_Tuner_GetRFLevel(ASX_HANDLE hTuner, float *nRFLevel);
02355 ASX32_API ASX_ERROR ASX_Tuner_GetRawRFLevel(ASX_HANDLE hTuner, int *nRawRFLevel);
02365 ASX32_API ASX_ERROR ASX_Tuner_GetStatus(
02366 ASX_HANDLE hTuner,
02367 unsigned int *puErrorStatusMask,
02368 unsigned int *puErrorStatus);
02377 ASX32_API ASX_ERROR ASX_Tuner_GetMode(ASX_HANDLE hTuner,
02378 const enum asxTUNERMODE eMode,
02379 enum asxTUNERMODE *peSetting);
02380
02389 ASX32_API ASX_ERROR ASX_Tuner_SetMode(ASX_HANDLE hTuner,
02390 const enum asxTUNERMODE eMode,
02391 const enum asxTUNERMODE eSetting);
02392
02401 ASX32_API ASX_ERROR ASX_Tuner_EnumerateDeemphasis(ASX_HANDLE hTuner,
02402 const int nIndex,
02403 enum asxTUNERDEEMPHASIS *peDeemphasis,
02404 int *pnCount);
02405
02412 ASX32_API ASX_ERROR ASX_Tuner_SetDeemphasis(ASX_HANDLE hTuner,
02413 const enum asxTUNERDEEMPHASIS eDeemphasis
02414 );
02415
02422 ASX32_API ASX_ERROR ASX_Tuner_GetDeemphasis(ASX_HANDLE hTuner,
02423 enum asxTUNERDEEMPHASIS *peDeemphasis
02424 );
02425
02434 ASX32_API ASX_ERROR ASX_Tuner_EnumerateProgram(ASX_HANDLE hTuner,
02435 const int nIndex,
02436 enum asxTUNERPROGRAM *peProgram,
02437 int *pnCount);
02438
02445 ASX32_API ASX_ERROR ASX_Tuner_SetProgram(ASX_HANDLE hTuner,