MMPCXTOL.INT 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617
  1. {========================================================================}
  2. {= (c) 1995-98 SwiftSoft Ronald Dittrich =}
  3. {========================================================================}
  4. {= All Rights Reserved =}
  5. {========================================================================}
  6. {= D 01099 Dresden = Fax.: +49 (0)351-8037944 =}
  7. {= Loewenstr.7a = info@swiftsoft.de =}
  8. {========================================================================}
  9. {= Actual versions on http://www.swiftsoft.de/mmtools.html =}
  10. {========================================================================}
  11. {= This code is for reference purposes only and may not be copied or =}
  12. {= distributed in any format electronic or otherwise except one copy =}
  13. {= for backup purposes. =}
  14. {= =}
  15. {= No Delphi Component Kit or Component individually or in a collection=}
  16. {= subclassed or otherwise from the code in this unit, or associated =}
  17. {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =}
  18. {= without express permission from SwiftSoft. =}
  19. {= =}
  20. {= For more licence informations please refer to the associated =}
  21. {= HelpFile. =}
  22. {========================================================================}
  23. {= $Date: 26.03.98 - 18:28:09 $ =}
  24. {========================================================================}
  25. unit MMPCXTol;
  26. interface
  27. uses Windows;
  28. (*****************************************************************************)
  29. (* *)
  30. (* COPYRIGHT 1996 DIGIGRAM. ALL RIGHTS RESERVED. *)
  31. (* *)
  32. (* DIGIGRAM *)
  33. (* *)
  34. (*****************************************************************************)
  35. (* *)
  36. (* PcxTools.h *)
  37. (* *)
  38. (* Project : PCXTools *)
  39. (* *)
  40. (* File description : All external defines for using PcxTools.DLL *)
  41. (* *)
  42. (* Author : TL *)
  43. (* *)
  44. (* Creation date : 25/09/96 *)
  45. (* Last modification : 25/09/96 *)
  46. (*****************************************************************************)
  47. (*****************************************************************************)
  48. (* Constant definitions - PCXDEF_E.H - *)
  49. (*****************************************************************************)
  50. (* General types *)
  51. type
  52. FLOAT = SINGLE;
  53. PFLOAT = ^FLOAT;
  54. PPIPE_TYPE = ^TPIPE_TYPE;
  55. TPIPE_TYPE = DWORD;
  56. PSTREAM_TYPE = ^TSTREAM_TYPE;
  57. TSTREAM_TYPE = DWORD;
  58. POFFLINE_TYPE = ^TOFFLINE_TYPE;
  59. TOFFLINE_TYPE = DWORD;
  60. BOOL = LONGBOOL;
  61. (* General constants *)
  62. const
  63. MAX_STEREO_OUTAUDIO_BOARD = 12;
  64. MAX_STEREO_INAUDIO_BOARD = 12;
  65. SIZE_MAX_APP_NAME = 15;
  66. // ****************************
  67. // Time units for PCXAudio.dll
  68. // ***************************
  69. MS_UNIT = 0;
  70. SAMPLE_UNIT = 1;
  71. BYTES_UNIT = 2;
  72. FRAME_UNIT = 3;
  73. // ****************************
  74. // BoardType definitions values
  75. // --
  76. // For PCX API interface, see :
  77. // CARD_FEATURES_INFO
  78. // ****************************
  79. PCX_NO_PRESENT = 0;
  80. PCX9 = 1;
  81. PCX11 = 2;
  82. PCX20 = 3;
  83. PCX80 = 4;
  84. PCX11PLUS = 5;
  85. PCXPOCKET = 15;
  86. PCXPOCKET_AD = 16;
  87. PCX801 = 20;
  88. PCX800 = 22;
  89. PCX440 = 24;
  90. // ****************************
  91. // BusType definitions values
  92. // --
  93. // For PCX API interface, see :
  94. // CARD_FEATURES_INFO
  95. // ****************************
  96. ISABUS = 1;
  97. PCIBUS = 2;
  98. PCCARDBUS = 3;
  99. // ****************************
  100. // Address range masks
  101. // --
  102. // For PCX API interface, see :
  103. // CARD_FEATURES_INFO
  104. // ****************************
  105. BOARD_ADDRESS_MASK = $FFFFFFFE;
  106. BOARD_ADDRESS_SPACE_MASK = $00000001;
  107. BOARD_ADDRESS_MEM_SPACE = $00;
  108. BOARD_ADDRESS_IO_SPACE = $01;
  109. // ****************************
  110. // PipeAttributes definitions bits
  111. // --
  112. // For PCX API interface, see :
  113. // PIPE_DECL_INFO
  114. // *******************************
  115. PIPE_OUT = $00;
  116. PIPE_IN = $01;
  117. PIPE_OFFLINE = $02;
  118. PIPE_ONLINE = $00;
  119. // ****************************
  120. // AudioAttributes definitions bits
  121. // --
  122. // For PCX API interface, see :
  123. // AUDIO_DECL_INFO
  124. // ********************************
  125. AUDIO_PHYSICAL = $01;
  126. AUDIO_VIRTUAL = $00;
  127. AUDIO_OUT = $00;
  128. AUDIO_IN = $02;
  129. // ****************************
  130. // ApplicationAttributes definitions bits
  131. // --
  132. // For PCX API interface, see :
  133. // APP_DECL_INFO
  134. // **************************************
  135. APP_PRIVATE = $01;
  136. APP_PUBLIC = $00;
  137. // ****************************
  138. // StreamFormats definitions bits
  139. // --
  140. // For PCX API interface, see :
  141. // sdFormat in STREAM_DECL_INFO
  142. // dtlPlayFormats/dtlRecordFormats in DSP_TO_LOAD_INFO
  143. // *******************************************************
  144. STREAM_FMT_MPEGI = $00000020;
  145. STREAM_FMT_MPEGII = $00000040;
  146. STREAM_FMT_LIN_8 = $00000080;
  147. STREAM_FMT_LIN_16 = $00000100;
  148. STREAM_FMT_LIN_24 = $00000200;
  149. STREAM_FMT_CELP = $00000400;
  150. // ****************************
  151. // Mute values
  152. // ***********
  153. MUTE_ON = 1;
  154. MUTE_OFF = 0;
  155. // ****************************
  156. // Level values
  157. // ************
  158. MAX_DIGITAL_LEVEL : FLOAT = + 18.0;
  159. MAX_ANALOG_LEVEL : FLOAT = + 0.0;
  160. LEVEL_0DB : FLOAT = 0.0;
  161. LEVEL_NEGATIVE_INFINITY : FLOAT = -110.0;
  162. // ****************************
  163. // No object specified
  164. // ********************
  165. NO_PIPE = $00000000;
  166. NO_STREAM = $00000000;
  167. // ****************************
  168. // Values that describe physical audio features
  169. // --
  170. // For PCX API interface, see :
  171. // ciPhysicalOutFeature/ciPhysicalInFeature in CARD_FEATURES_INFO
  172. // ipspADSelect in IN_PIPE_SET_PARAM_INFO
  173. // *******************************************************************
  174. // Values used for both inputs and outputs
  175. // --
  176. AUDIO_ANALOG_PRESENT_MASK = $01;
  177. AUDIO_LEVEL_PRESENT_MASK = $10;
  178. // --
  179. // Additional values used for outputs only
  180. // --
  181. AUDIO_DIGITAL_PRESENT_MASK = $02;
  182. // --
  183. // Additional values used for inputs only
  184. // --
  185. AUDIO_DIGITAL_SYNCHRO_PRESENT_MASK = $02;
  186. AUDIO_DIGITAL_DATA_PRESENT_MASK = $04;
  187. AUDIO_ANALOG_MICRO_PRESENT_MASK = $08;
  188. // Source selector values for sound data input
  189. // --
  190. // For PCX API interface, see :
  191. // ipspADSelect in IN_PIPE_SET_PARAM_INFO
  192. // ********************************************
  193. DATA_FROM_NO_INPUT = 0;
  194. DATA_FROM_DIGITAL_SYNCHRO = AUDIO_DIGITAL_SYNCHRO_PRESENT_MASK;
  195. DATA_FROM_DIGITAL_DATA = AUDIO_DIGITAL_DATA_PRESENT_MASK;
  196. DATA_FROM_ANALOG = AUDIO_ANALOG_PRESENT_MASK;
  197. DATA_FROM_MICRO = AUDIO_ANALOG_MICRO_PRESENT_MASK;
  198. // Values for uer type of a pipe
  199. // --
  200. // For PCX API interface, see :
  201. // opspUer in OUT_PIPE_SET_PARAMETER_INFO
  202. // uiMode in UER_INFO
  203. // ******************************************
  204. UER_NO_MODE = 0;
  205. UER_MODE_UNKNOWN = 0;
  206. UER_PROFESSIONAL = 1;
  207. UER_CONSUMER = 2;
  208. // Values for presence of uer data
  209. // --
  210. // For PCX API interface, see :
  211. // uiData in UER_INFO
  212. // *******************************
  213. UER_DATA_UNKNOWN = 0;
  214. UER_NO_DATA = 1;
  215. UER_DATA_PRESENT = 2;
  216. (*****************************************************************************)
  217. (* Constant declarations - PCXTools.h - *)
  218. (*****************************************************************************)
  219. const
  220. MIN_VERSION = 3;
  221. MIN_RELEASE = 40;
  222. // Version states
  223. OFFICIAL_VERSION = 0;
  224. BETA_VERSION = 1;
  225. ALPHA_VERSION = 2;
  226. // General constants
  227. MAX_BOARD = 8;
  228. MAX_PCX_HANDLE = 32;
  229. MAX_INPIPE = 32;
  230. MAX_OUTPIPE = 32;
  231. MAX_AUDIO_PIPE = 2;
  232. MAX_STREAM_PIPE = 24;
  233. MAX_PCXTOOLS_USERS = 8;
  234. // Channels type
  235. CHANNEL_OUT = 0;
  236. CHANNEL_IN = 1;
  237. // Automatic allocation of the channel
  238. AUTOMATIC_ALLOCATION = 0;
  239. // Old Pcx cards
  240. BOARD_PCX3 = 250;
  241. BOARD_PCX5 = 251;
  242. BOARD_PCX7 = 252;
  243. // All stream format
  244. STREAM_FMT_ALL = (STREAM_FMT_MPEGI or STREAM_FMT_MPEGII or
  245. STREAM_FMT_LIN_8 or STREAM_FMT_LIN_16);
  246. // Mono / stereo modes
  247. MONO = 1;
  248. STEREO = 2;
  249. // Output channel and level type
  250. ANALOG_TYPE = 0;
  251. DIGITAL_TYPE = 1;
  252. NO_DEFINED_TYPE = 2;
  253. // Sound's analog source
  254. SOURCE_LINE = 0;
  255. SOURCE_MIC = 1;
  256. // Channel's state
  257. IO_FREE = 0;
  258. IO_PRIVATE = 1;
  259. IO_PUBLIC = 2;
  260. // Frequency unknown
  261. CLOCK_FREQ_UNKNOWN = 1;
  262. // Special pipe's clocks
  263. CLOCK_DIGITAL = 0;
  264. CLOCK_FIRST = 1;
  265. CLOCK_LAST = 2;
  266. CLOCK_LAST_SAFE = 3;
  267. CLOCK_NO = 4;
  268. CLOCK_DIGITAL_SYNCHRO = 5;
  269. // Doesn't change the level
  270. LEVEL_NO_CHANGE : FLOAT = -1999.0;
  271. // Sides
  272. SIDE_LEFT = 0;
  273. SIDE_RIGHT = 1;
  274. // Pipe states
  275. PIPE_NOT_ALLOCATED = 0;
  276. PIPE_STOPPED = 1;
  277. PIPE_STARTED = 2;
  278. PIPE_BUSY = 3;
  279. PIPE_UNDERRUN = 4;
  280. PIPE_PAUSED = 5;
  281. // 8 first stream's numbers
  282. STREAM_1 = $0001;
  283. STREAM_2 = $0002;
  284. STREAM_3 = $0004;
  285. STREAM_4 = $0008;
  286. STREAM_5 = $0010;
  287. STREAM_6 = $0020;
  288. STREAM_7 = $0040;
  289. STREAM_8 = $0080;
  290. // Stream states
  291. STREAM_NOT_AVAILABLE = 0;
  292. STREAM_FREE = 1;
  293. STREAM_INITIALIZED = 2;
  294. STREAM_BUSY = 3;
  295. STREAM_UNDERRUN = 4;
  296. STREAM_PAUSED = 5;
  297. // Defines used for Play functions
  298. // -------------------------------
  299. // Start condition
  300. ASAP = 0; // As Soon As Possible
  301. ONSTART = 1; // On Start
  302. ASAEOF = 2; // As Soon As End Of (previous) File
  303. STREAMBEGINREF = 3; // Start depending on another stream time starting at begining
  304. STREAMENDREF = 4; // Start depending on another stream time from end of play
  305. PIPEREF = 5; // Start depending on the pipe time
  306. AFTER_CURRENT = 6; // Like ASAEOF but flush the current waiting list of files
  307. TIME_UNIT = 10;
  308. // Loop
  309. INFINITE_LOOP = -1;
  310. NO_LOOP = 0;
  311. // End position for play
  312. PLAY_ALL_FILE = 0;
  313. RECORD_UNTIL_STOP = 0;
  314. // Record mode
  315. RECORD_MODE_SAFE = 0;
  316. RECORD_MODE_ERASE = 1;
  317. // Level curves types
  318. CURVE_LINEAR = 0;
  319. // Sound's format infos
  320. // --------------------
  321. // Extra infos if pipe is stereo
  322. STEREO_NORMAL = 0;
  323. STEREO_DUAL_CHANNEL = 1;
  324. STEREO_JOINT = 2;
  325. // Compression formats
  326. MPEG_FMT = 1;
  327. PCM_8BITS_FMT = 8;
  328. PCM_16BITS_FMT = 16;
  329. PCM_24BITS_FMT = 24;
  330. // Layer
  331. LAYER_1 = 1;
  332. LAYER_2 = 2;
  333. // Linear format type
  334. LIN_INTEL = 1;
  335. LIN_MOTOROLA = 2;
  336. // File Type
  337. RAW_TYPE = 0;
  338. WAV_TYPE = 1;
  339. MUSIFILE_TYPE = 2;
  340. // Ancillary data
  341. NO_ANCILLARY_DATA = 0;
  342. ENERGY_DATA = 1;
  343. // Padding bit
  344. NO_PADDING_BIT = 0;
  345. WITH_PADDING_BIT = 1;
  346. // Frequency set by digital input
  347. DIGITAL_FREQUENCY = 0;
  348. // Energy default resolution
  349. NRJ_DEFAULT_RESOLUTION = $FFFFFFFF;
  350. // Energy format
  351. NRJ_RAW_8BITS = 0;
  352. NRJ_RAW_16BITS = 1;
  353. // Effects
  354. // -------
  355. // Speed maximum for TOOLPipeSpeed
  356. MAX_SPEED = 700;
  357. // Noise reduction type
  358. NOISE_LOW = 0;
  359. NOISE_MEDIUM = 1;
  360. NOISE_HI = 2;
  361. // Misc
  362. // ----
  363. // Event type
  364. TELL_ERROR_RUNTIME = 0;
  365. TELL_BEFORE_END_STREAM = 1;
  366. TELL_BEGIN_FILE = 2;
  367. TELL_CLOSE_FILE = 3;
  368. TELL_END_FILE = 4;
  369. TELL_SEND_MORE_LEVELS = 5;
  370. TELL_RELEASE_PIPE = 6;
  371. TELL_ADD_CARD = 7;
  372. TELL_REMOVE_CARD = 8;
  373. // Errors
  374. // ------
  375. // Bits masks
  376. // **********
  377. ERROR_MASK = $8000;
  378. SOURCE_MASK = $7800;
  379. E_SOURCE_BOARD = $4000;
  380. E_SOURCE_DRV = $2000;
  381. E_SOURCE_API = $1000;
  382. // Error tools
  383. E_SOURCE_TOOLS = $0800;
  384. // Error pcxaudio
  385. E_SOURCE_AUDIO = $1800;
  386. E_SOURCE_USER = $7800;
  387. CLASS_MASK = $0700;
  388. CODE_MASK = $00FF;
  389. E_CLASS_GENERAL = $0000;
  390. E_CLASS_INVALID_CMD = $0100;
  391. E_CLASS_INVALID_STD_OBJECT = $0200;
  392. E_CLASS_RSRC_IMPOSSIBLE = $0300;
  393. E_CLASS_WRONG_CONTEXT = $0400;
  394. E_CLASS_BAD_SPECIFIC_PARAMETER = $0500;
  395. E_CLASS_REAL_TIME_ERROR = $0600;
  396. E_CLASS_FREE = $0700;
  397. // General errors
  398. EU_G = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_GENERAL;
  399. EU_FUNCTION_NOT_YET_AVAILABLE = $01 or EU_G;
  400. EU_REGISTER_TWICE = $02 or EU_G;
  401. EU_CANT_GET_WINDOW_HANDLE = $03 or EU_G;
  402. EU_UNREGISTER_IMPOSSIBLE = $04 or EU_G;
  403. EU_DSP_ALREADY_USED = $05 or EU_G;
  404. EU_CANT_ACCESS_SOUND_FILE = $06 or EU_G;
  405. EU_ERROR_GET_FILE_INFO = $07 or EU_G;
  406. EU_STOP_STREAM_TIME_OUT = $08 or EU_G;
  407. EU_MUTEX_TIMEOUT = $09 or EU_G;
  408. EU_DIGITAL_NOT_AVAILABLE = $0A or EU_G;
  409. EU_DSP_NOT_DOWNLOADED = $0B or EU_G;
  410. EU_PLUGIN_DLL_NOT_FOUND = $0C or EU_G;
  411. EU_DRIVER_NOT_INSTALLED = $0D or EU_G;
  412. EU_DRIVER_NOT_PRESENT = $0E or EU_G;
  413. EU_API_DLL_NOT_FOUND = $0F or EU_G;
  414. EU_CANT_LOAD_API_DLL = $10 or EU_G;
  415. EU_AUDIO_DLL_NOT_FOUND = $11 or EU_G;
  416. EU_CANT_LOAD_AUDIO_DLL = $12 or EU_G;
  417. EU_CANT_ACCESS_ENERGY_FILE = $13 or EU_G;
  418. EU_TOOLS_DLL_NOT_FOUND = $14 or EU_G;
  419. EU_G_LAST = $15;
  420. // Invalid command errors
  421. EU_IC = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_INVALID_CMD;
  422. EU_IC_LAST = $01;
  423. // Invalid standard object errors
  424. EU_ISO = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_INVALID_STD_OBJECT;
  425. EU_UNKNOWN_BOARD = $01 or EU_ISO;
  426. EU_INVALID_PIPE = $02 or EU_ISO;
  427. EU_INVALID_STREAM = $03 or EU_ISO;
  428. EU_STREAM_NOT_READY = $04 or EU_ISO;
  429. EU_INVALID_SOUND_FILE = $05 or EU_ISO;
  430. EU_CANT_SAVE_RECORD_BUFFER = $06 or EU_ISO;
  431. EU_PCM_HEADER_NOT_SUPPORTED = $07 or EU_ISO;
  432. EU_DSP_CANT_BE_LOCATED = $08 or EU_ISO;
  433. EU_DSP_CANT_DO_IT = $09 or EU_ISO;
  434. EU_INVALID_BUFFER = $0A or EU_ISO;
  435. EU_FREE_FORMAT_NOT_SUPPORTED = $0B or EU_ISO;
  436. EU_UNKNOWN_ANCILLARY_DATA = $0C or EU_ISO;
  437. EU_SOUND_FILE_TOO_SMALL = $0D or EU_ISO;
  438. EU_ISO_LAST = $0E;
  439. // Impossible to allocate the ressource
  440. EU_RI = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_RSRC_IMPOSSIBLE;
  441. EU_CANT_CREATE_THREAD = $01 or EU_RI;
  442. EU_CANT_CREATE_EVENT = $02 or EU_RI;
  443. EU_CANT_ALLOCATE_BUFFER = $03 or EU_RI;
  444. EU_CHANNEL_ALREADY_USED = $04 or EU_RI;
  445. EU_CHANNEL_NOT_PRESENT = $05 or EU_RI;
  446. EU_NOT_ENOUGH_CHANNEL = $06 or EU_RI;
  447. EU_NOT_ENOUGH_MEMORY = $07 or EU_RI;
  448. EU_NOT_ENOUGH_SPACE_ON_DISK = $08 or EU_RI;
  449. EU_CANT_WRITE_ON_DISK = $09 or EU_RI;
  450. EU_CANT_CREATE_SOUND_FILE = $0A or EU_RI;
  451. EU_CANT_CREATE_ENERGY_FILE = $0B or EU_RI;
  452. EU_NOT_ENOUGH_PIPE_NOTIFICATION= $0C or EU_RI;
  453. EU_RI_LAST = $0D;
  454. // Fonction called in a bad context
  455. EU_BC = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_WRONG_CONTEXT;
  456. EU_CANT_CHANGE_FREQ = $01 or EU_BC;
  457. EU_CANT_CHANGE_FREQ_PLAYING = $02 or EU_BC;
  458. EU_FREQUENCY_NOT_SET = $03 or EU_BC;
  459. EU_STREAM_NOT_RUNNING = $04 or EU_BC;
  460. EU_BOARD_HAVE_NO_INPUT = $05 or EU_BC;
  461. EU_MUST_SET_RECORD_FMT_FIRST = $06 or EU_BC;
  462. EU_IMP_WITH_NOT_HOMOGENEOUS_FILE = $07 or EU_BC;
  463. EU_BOARD_HAVE_NO_ANALOG_OUTPUT = $08 or EU_BC;
  464. EU_IMP_IN_SCRUB_MODE = $09 or EU_BC;
  465. EU_IMP_WITHOUT_SCRUB_MODE = $0A or EU_BC;
  466. EU_LINEAR_NOT_SUPPORTED = $0B or EU_BC;
  467. EU_BC_LAST = $0C;
  468. // Parameter wrong
  469. EU_BSP = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_BAD_SPECIFIC_PARAMETER;
  470. EU_INCORRECT_PARAMETER_1 = $01 or EU_BSP;
  471. EU_INCORRECT_PARAMETER_2 = $02 or EU_BSP;
  472. EU_INCORRECT_PARAMETER_3 = $03 or EU_BSP;
  473. EU_INCORRECT_PARAMETER_4 = $04 or EU_BSP;
  474. EU_INCORRECT_PARAMETER_5 = $05 or EU_BSP;
  475. EU_INCORRECT_PARAMETER_6 = $06 or EU_BSP;
  476. EU_INCORRECT_PARAMETER_7 = $07 or EU_BSP;
  477. EU_INCORRECT_PARAMETER_8 = $08 or EU_BSP;
  478. EU_INCORRECT_PARAMETER_9 = $09 or EU_BSP;
  479. EU_INCORRECT_PARAMETER_10 = $0A or EU_BSP;
  480. EU_INCORRECT_PARAMETERS = $0B or EU_BSP;
  481. EU_CANT_CREATE_HEADER = $0C or EU_BSP;
  482. EU_FILE_POSITION_TOO_HIGH = $0D or EU_BSP;
  483. EU_INCOMPATIBLE_SOUND_FORMAT = $0E or EU_BSP;
  484. EU_INVALID_FREQUENCY = $0F or EU_BSP;
  485. EU_UNAVAILABLE_FREQUENCY = $10 or EU_BSP;
  486. EU_INVALID_MODE = $11 or EU_BSP;
  487. EU_UNAVAILABLE_MODE = $12 or EU_BSP;
  488. EU_INVALID_FILE_FORMAT = $13 or EU_BSP;
  489. EU_UNAVAILABLE_BITRATE = $14 or EU_BSP;
  490. EU_EVENT_NOT_FOUND = $15 or EU_BSP;
  491. EU_BSP_LAST = $16;
  492. // Realtime errors
  493. EU_RT = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_REAL_TIME_ERROR;
  494. EU_BUFFERS_IN_DRIVER = $01 or EU_RT;
  495. EU_RECORD_ABORTED = $02 or EU_RT;
  496. EU_PIPE_TIME_NOTIFY_NO_REASON = $03 or EU_RT;
  497. EU_RT_LAST = $04;
  498. // Free-class errors
  499. EU_FC = E_SOURCE_TOOLS or ERROR_MASK or E_CLASS_FREE;
  500. EU_FC_LAST = $01;
  501. // Warnings
  502. // --------
  503. WU_UNREGISTER_UNKNOWN_APP = $01 or E_SOURCE_TOOLS;
  504. WU_SAMPLES_TRUNCATED = $02 or E_SOURCE_TOOLS;
  505. WU_START_POSITION_MOVED = $03 or E_SOURCE_TOOLS;
  506. WU_HEADER_NOT_FOUND = $04 or E_SOURCE_TOOLS;
  507. WU_NOT_ENOUGH_SPACE = $05 or E_SOURCE_TOOLS;
  508. WU_NO_MORE_EVENT = $06 or E_SOURCE_TOOLS;
  509. WU_END_POS_TOO_FAR = $07 or E_SOURCE_TOOLS;
  510. WU_INVALID_OFFLINE_HANDLE = $08 or E_SOURCE_TOOLS;
  511. WU_LAST = $09;
  512. (****************)
  513. (* Declarations *)
  514. (****************)
  515. end.