sndfile.pp 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. unit sndfile;
  2. interface
  3. {
  4. Automatically converted by H2Pas 0.99.15 from sndfile.h
  5. The following command line parameters were used:
  6. -D
  7. -p
  8. -e
  9. sndfile.h
  10. }
  11. const
  12. External_library='sndfile'; {Setup as you need}
  13. { Pointers to basic pascal types, inserted by h2pas conversion program.}
  14. Type
  15. PLongint = ^Longint;
  16. PSmallInt = ^SmallInt;
  17. PByte = ^Byte;
  18. PWord = ^Word;
  19. PDWord = ^DWord;
  20. PDouble = ^Double;
  21. size_t = Longint;
  22. {$PACKRECORDS C}
  23. Const
  24. SF_FORMAT_WAV = $10000;
  25. SF_FORMAT_AIFF = $20000;
  26. SF_FORMAT_AU = $30000;
  27. SF_FORMAT_AULE = $40000;
  28. SF_FORMAT_RAW = $50000;
  29. SF_FORMAT_PAF = $60000;
  30. SF_FORMAT_SVX = $70000;
  31. SF_FORMAT_NIST = $80000;
  32. SF_FORMAT_WMA = $90000;
  33. SF_FORMAT_SMPLTD = $A0000;
  34. SF_FORMAT_VOC = $B0000;
  35. SF_FORMAT_SD2 = $C0000;
  36. SF_FORMAT_REX2 = $D0000;
  37. SF_FORMAT_IRCAM = $E0000;
  38. SF_FORMAT_PCM = $0001;
  39. SF_FORMAT_FLOAT = $0002;
  40. SF_FORMAT_ULAW = $0003;
  41. SF_FORMAT_ALAW = $0004;
  42. SF_FORMAT_IMA_ADPCM = $0005;
  43. SF_FORMAT_MS_ADPCM = $0006;
  44. SF_FORMAT_PCM_BE = $0007;
  45. SF_FORMAT_PCM_LE = $0008;
  46. SF_FORMAT_PCM_S8 = $0009;
  47. SF_FORMAT_PCM_U8 = $000A;
  48. SF_FORMAT_SVX_FIB = $000B;
  49. SF_FORMAT_SVX_EXP = $000C;
  50. SF_FORMAT_GSM610 = $000D;
  51. SF_FORMAT_G721_32 = $000E;
  52. SF_FORMAT_G723_24 = $000F;
  53. SF_FORMAT_FLOAT_BE = $0010;
  54. SF_FORMAT_FLOAT_LE = $0011;
  55. SF_FORMAT_SUBMASK = $FFFF;
  56. SF_FORMAT_TYPEMASK = $7FFF0000;
  57. SF_FORMAT_RAW_BE = SF_FORMAT_PCM_BE;
  58. SF_FORMAT_RAW_LE = SF_FORMAT_PCM_LE;
  59. SF_FORMAT_RAW_S8 = SF_FORMAT_PCM_S8;
  60. SF_FORMAT_RAW_U8 = SF_FORMAT_PCM_U8;
  61. type
  62. PSNDFILE = Pointer;
  63. PSF_INFO = ^SF_INFO;
  64. SF_INFO = record
  65. samplerate : dword;
  66. samples : dword;
  67. channels : dword;
  68. pcmbitwidth : dword;
  69. format : dword;
  70. sections : dword;
  71. seekable : dword;
  72. end;
  73. function sf_open_read(path:Pchar; sfinfo:PSF_INFO):PSNDFILE;cdecl;external External_library name 'sf_open_read';
  74. function sf_open_write(path:Pchar; sfinfo:PSF_INFO):PSNDFILE;cdecl;external External_library name 'sf_open_write';
  75. function sf_perror(sndfile:PSNDFILE):longint;cdecl;external External_library name 'sf_perror';
  76. function sf_error_str(sndfile:PSNDFILE; str:Pchar; len:size_t):longint;cdecl;external External_library name 'sf_error_str';
  77. function sf_error_number(errnum:longint; str:Pchar; maxlen:size_t):longint;cdecl;external External_library name 'sf_error_number';
  78. function sf_get_header_info(sndfile:PSNDFILE; buffer:Pchar; bufferlen:size_t; offset:size_t):size_t;cdecl;external External_library name 'sf_get_header_info';
  79. function sf_get_lib_version(buffer:Pchar; bufferlen:size_t):size_t;cdecl;external External_library name 'sf_get_lib_version';
  80. function sf_command(sndfile:PSNDFILE; cmd:Pchar; data:pointer; datasize:longint):longint;cdecl;external External_library name 'sf_command';
  81. function sf_format_check(info:PSF_INFO):longint;cdecl;external External_library name 'sf_format_check';
  82. function sf_signal_max(sndfile:PSNDFILE):double;cdecl;external External_library name 'sf_signal_max';
  83. function sf_seek(sndfile:PSNDFILE; frames:longint; whence:longint):longint;cdecl;external External_library name 'sf_seek';
  84. function sf_read_raw(sndfile:PSNDFILE; ptr:pointer; bytes:size_t):size_t;cdecl;external External_library name 'sf_read_raw';
  85. function sf_write_raw(sndfile:PSNDFILE; ptr:pointer; bytes:size_t):size_t;cdecl;external External_library name 'sf_write_raw';
  86. function sf_readf_short(sndfile:PSNDFILE; ptr:Psmallint; frames:size_t):size_t;cdecl;external External_library name 'sf_readf_short';
  87. function sf_writef_short(sndfile:PSNDFILE; ptr:Psmallint; frames:size_t):size_t;cdecl;external External_library name 'sf_writef_short';
  88. function sf_readf_int(sndfile:PSNDFILE; ptr:Plongint; frames:size_t):size_t;cdecl;external External_library name 'sf_readf_int';
  89. function sf_writef_int(sndfile:PSNDFILE; ptr:Plongint; frames:size_t):size_t;cdecl;external External_library name 'sf_writef_int';
  90. function sf_readf_float(sndfile:PSNDFILE; ptr:Pdouble; frames:size_t):size_t;cdecl;external External_library name 'sf_readf_float';
  91. function sf_writef_float(sndfile:PSNDFILE; ptr:Pdouble; frames:size_t):size_t;cdecl;external External_library name 'sf_writef_float';
  92. function sf_readf_double(sndfile:PSNDFILE; ptr:Pdouble; frames:size_t; normalize:longint):size_t;cdecl;external External_library name 'sf_readf_double';
  93. function sf_writef_double(sndfile:PSNDFILE; ptr:Pdouble; frames:size_t; normalize:longint):size_t;cdecl;external External_library name 'sf_writef_double';
  94. function sf_read_short(sndfile:PSNDFILE; ptr:Psmallint; items:size_t):size_t;cdecl;external External_library name 'sf_read_short';
  95. function sf_write_short(sndfile:PSNDFILE; ptr:Psmallint; items:size_t):size_t;cdecl;external External_library name 'sf_write_short';
  96. function sf_read_int(sndfile:PSNDFILE; ptr:Plongint; items:size_t):size_t;cdecl;external External_library name 'sf_read_int';
  97. function sf_write_int(sndfile:PSNDFILE; ptr:Plongint; items:size_t):size_t;cdecl;external External_library name 'sf_write_int';
  98. function sf_read_float(sndfile:PSNDFILE; ptr:Pdouble; items:size_t):size_t;cdecl;external External_library name 'sf_read_float';
  99. function sf_write_float(sndfile:PSNDFILE; ptr:Pdouble; items:size_t):size_t;cdecl;external External_library name 'sf_write_float';
  100. function sf_read_double(sndfile:PSNDFILE; ptr:Pdouble; items:size_t; normalize:longint):size_t;cdecl;external External_library name 'sf_read_double';
  101. function sf_write_double(sndfile:PSNDFILE; ptr:Pdouble; items:size_t; normalize:longint):size_t;cdecl;external External_library name 'sf_write_double';
  102. function sf_close(sndfile:PSNDFILE):longint;cdecl;external External_library name 'sf_close';
  103. implementation
  104. end.