home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 November / CDVD1105.ISO / Software / Freeware / programare / bass / BASS.txt < prev   
Text File  |  2005-10-02  |  43KB  |  1,392 lines

  1. BASS 2.2 - Copyright (c) 1999-2005 Ian Luck. All rights reserved.
  2.  
  3. Files that you should have found in the BASS "package"
  4. ======================================================
  5. Win32 version
  6. -------------
  7. BASS.TXT      This file
  8. BASS.DLL      The BASS module
  9. BASS.CHM      BASS documentation
  10. C\            C/C++ API and samples...
  11.   BASS.H        BASS C/C++ header file
  12.   BASS.LIB      BASS import library
  13.   BASS.DSW      Visual C++ workspace for examples
  14.   MAKEFILE      Makefile for all examples
  15.   3DTEST\       3D/EAX example
  16.     3DTEST.C
  17.     3DTEST.RC
  18.     3DTEST.H
  19.     3DTEST.DSP
  20.     MAKEFILE
  21.   BASSTEST\     Simple playback example
  22.     BASSTEST.C
  23.     BASSTEST.RC
  24.     BASSTEST.H
  25.     BASSTEST.DSP
  26.     MAKEFILE
  27.   CONTEST\      Console example
  28.     CONTEST.C
  29.     CONTEST.DSP
  30.     MAKEFILE
  31.   CUSTLOOP\     Custom looping example
  32.     CUSTLOOP.C
  33.     CUSTLOOP.DSP
  34.     MAKEFILE
  35.   DSPTEST\      DSP example
  36.     DSPTEST.C
  37.     DSPTEST.RC
  38.     DSPTEST.DSP
  39.     MAKEFILE
  40.   FXTEST\       DX8 effect example
  41.     FXTEST.C
  42.     FXTEST.RC
  43.     FXTEST.DSP
  44.     MAKEFILE
  45.   LIVEFX\       Full-duplex example
  46.     LIVEFX.C
  47.     LIVEFX.RC
  48.     LIVEFX.DSP
  49.     MAKEFILE
  50.   LIVESPEC\     "Live" version of spectrum analyser example
  51.     LIVESPEC.C
  52.     LIVESPEC.DSP
  53.     MAKEFILE
  54.   LOADNGET\     LoadLibrary/GetProcAddress example
  55.     LOADNGET.C
  56.     LOADNGET.RC
  57.     LOADNGET.DSP
  58.     MAKEFILE
  59.   MULTI\        Multiple device example
  60.     MULTI.C
  61.     MULTI.RC
  62.     MULTI.DSP
  63.     MAKEFILE
  64.   NETRADIO\     Internet streaming example
  65.     NETRADIO.C
  66.     NETRADIO.RC
  67.     NETRADIO.DSP
  68.     MAKEFILE
  69.   PLUGINS\      Plugins example
  70.     PLUGINS.C
  71.     PLUGINS.RC
  72.     PLUGINS.DSP
  73.     MAKEFILE
  74.   RECTEST\      Recording example
  75.     RECTEST.C
  76.     RECTEST.RC
  77.     RECTEST.DSP
  78.     MAKEFILE
  79.   SPEAKERS\     Multi-speaker example
  80.     SPEAKERS.C
  81.     SPEAKERS.RC
  82.     SPEAKERS.DSP
  83.     MAKEFILE
  84.   SPECTRUM\     Spectrum analyser example
  85.     SPECTRUM.C
  86.     SPECTRUM.DSP
  87.     MAKEFILE
  88.   SYNTH\        Synth example
  89.     SYNTH.C
  90.     SYNTH.DSP
  91.     MAKEFILE
  92.   WRITEWAV\     WAVE writer example
  93.     WRITEWAV.C
  94.     WRITEWAV.DSP
  95.     MAKEFILE
  96.   BIN\          Precompiled examples
  97.     3DTEST.EXE
  98.     BASSTEST.EXE
  99.     CONTEST.EXE
  100.     CUSTLOOP.EXE
  101.     DSPTEST.EXE
  102.     FXTEST.EXE
  103.     LIVEFX.EXE
  104.     LIVESPEC.EXE
  105.     LOADNGET.EXE
  106.     MULTI.EXE
  107.     NETRADIO.EXE
  108.     RECTEST.EXE
  109.     SPEAKERS.EXE
  110.     SPECTRUM.EXE
  111.     SYNTH.EXE
  112.     WRITEWAV.EXE
  113. VB\           Visual Basic API and samples...
  114.   BASS.BAS      BASS Visual Basic module file
  115.   3DTEST\       3D/EAX example
  116.     PRJ3DTEST.VBP
  117.     PRJ3DTEST.FRM
  118.     PRJDEVICE.FRM
  119.   BASSTEST\     Simple playback example
  120.     PRJBASSTEST.VBP
  121.     FRMBASSTEST.FRM
  122.   CUSTLOOP\     Custom looping example
  123.     PRJCUSTLOOP.VBP
  124.     FRMCUSTLOOP.FRM
  125.     MODCUSTLOOP.BAS
  126.   DSPTEST\      DSP example
  127.     PRJDSPTEST.VBP
  128.     FRMDSPTEST.FRM
  129.     MODDSPTEST.BAS
  130.   FXTEST\       DX8 effect example
  131.     PRJFXTEST.VBP
  132.     FRMFXTEST.FRM
  133.   LIVEFX\       Full-duplex example
  134.     PRJLIVEFX.VBP
  135.     FRMLIVEFX.FRM
  136.     MODLIVEFX.BAS
  137.   LIVESPEC\     "Live" version of spectrum analyser example
  138.     PRJLIVESPEC.VBP
  139.     FRMLIVESPEC.FRM
  140.     MODLIVESPEC.BAS
  141.   MULTI\        Multiple device example
  142.     PRJMULTI.VBP
  143.     PRJMULTI.FRM
  144.     PRJDEVICE.FRM
  145.   NETRADIO\     Internet streaming example
  146.     PRJNETRADIO.VBP
  147.     FRMNETRADIO.FRM
  148.     MODNETRADIO.BAS
  149.     CLSFILEIO.CLS
  150.   PLUGINS\      Plugins example
  151.     PRJPLUGINS.VBP
  152.     FRMPLUGINS.FRM
  153.   RECTEST\      Recording example
  154.     PRJRECTEST.VBP
  155.     FRMRECTEST.FRM
  156.     MODRECTEST.BAS
  157.   SPEAKERS\     Multi-speaker example
  158.     PRJSPEAKERS.VBP
  159.     FRMSPEAKERS.FRM
  160.   SPECTRUM\     Spectrum analyser example
  161.     PRJSPECTRUM.VBP
  162.     FRMSPECTRUM.FRM
  163.     MODSPECTRUM.BAS
  164.   WRITEWAV\     WAVE writer example
  165.     PRJWRITEWAVE.VBP
  166.     PRJWRITEWAVE.FRM
  167.   MEMORY\       Playing from memory example by Jobnik
  168.     PRJMEMORY.VBP
  169.     FRMMEMORY.FRM
  170.     SYNCTEST.BAS
  171.     CBASS_TIME.CLS
  172. DELPHI\       Delphi API and samples...
  173.   BASS.PAS      BASS Delphi unit
  174.   3DTEST\       3D/EAX example
  175.     D3TEST.DPR
  176.     DTMAIN.PAS
  177.     DTMAIN.DFM
  178.     DTSELECT.PAS
  179.     DTSELECT.DFM
  180.   BASSTEST\     Simple playback example
  181.     BASSTEST.DPR
  182.     BTMAIN.PAS
  183.     BTMAIN.DFM
  184.   CONTEST\      Console example
  185.     CONTEST.DPR
  186.   CUSTLOOP\     Custom looping example
  187.     CUSTLOOP.DPR
  188.     UNIT1.PAS
  189.     UNIT1.DFM
  190.   DSPTEST\      DSP example
  191.     DSPTEST.DPR
  192.     DTMAIN.PAS
  193.     DTMAIN.DFM
  194.   FXTEST\       DX8 effect example
  195.     FXTEST.DPR
  196.     TEST.PAS
  197.     TEST.DFM
  198.   MULTI\        Multiple device example
  199.     MULTI.DPR
  200.     UNIT1.PAS
  201.     UNIT1.DFM
  202.     UNIT2.PAS
  203.     UNIT2.DFM
  204.   NETRADIO\     Internet streaming example
  205.     NETRADIO.DPR
  206.     UNIT1.PAS
  207.     UNIT1.DFM
  208.   PLUGINS\      Plugins example
  209.     PLUGINS.DPR
  210.     FRMMAIN.PAS
  211.     FRMMAIN.DFM
  212.   RECORDTEST\   Recording example
  213.     RECORDTEST.DPR
  214.     UNIT1.PAS
  215.     UNIT1.DFM
  216.   SAMPLEVIS\    Visualisation example
  217.     SAMPLEVIS.DPR
  218.     MAIN.PAS
  219.     MAIN.DFM
  220.     SPECTRUM_VIS.PAS
  221.     CIRCLE_VIS.PAS
  222.     OSC_VIS.PAS
  223.     COMMONTYPES.PAS
  224.   SPEAKERS\     Multi-speaker example
  225.     SPEAKERS.DPR
  226.     UNIT1.PAS
  227.     UNIT1.DFM
  228.   STREAMTEST\   User stream example
  229.     STREAMTEST.DPR
  230.     STMAIN.PAS
  231.     STMAIN.DFM
  232.   WRITEWAV\     WAVE writer example
  233.     WRITEWAV.DPR
  234.     UNITMAIN.PAS
  235.     UNITMAIN.DFM
  236.   DYNAMIC\      Dynamic-loading Delphi API
  237.     DYNAMIC_BASS.PAS  Dynamic-loading Delphi unit
  238. MASM\         MASM API and samples...
  239.   BASS.INC      BASS MASM include file
  240.   PLAYER\       Example MOD player
  241.     PLAYER.EXE
  242.     PLAYER.ASM
  243.     RSRC.RC
  244.     TOOLBAR.BMP
  245.     COMPILE.BAT
  246.  
  247. NOTE: To run the sample EXEs, first you'll have to copy BASS.DLL into
  248.       the same directory as the EXEs.
  249.  
  250. MacOSX version
  251. --------------
  252. BASS.TXT      This file
  253. LIBBASS.DYLIB  The BASS module
  254. BASS.CHM      BASS documentation
  255. CHMOX.APP     CHM file viewer
  256. BASS.H        BASS C/C++ header file
  257. MAKEFILE      Makefile for all examples
  258. BASSTEST\     Simple playback example
  259.   BASSTEST.C
  260.   BASSTEST.H
  261.   MAKEFILE
  262.   BASSTEST.NIB
  263. CONTEST\      Console example
  264.   CONTEST.C
  265.   MAKEFILE
  266. CUSTLOOP\     Custom looping example
  267.   CUSTLOOP.C
  268.   MAKEFILE
  269. DSPTEST\      DSP example
  270.   DSPTEST.C
  271.   DSPTEST.RC
  272.   MAKEFILE
  273.   DSPTEST.NIB
  274. LIVESPEC\     "Live" version of spectrum analyser example
  275.   LIVESPEC.C
  276.   MAKEFILE
  277. MULTI\        Multiple device example
  278.   MULTI.C
  279.   MAKEFILE
  280.   MULTI.NIB
  281. NETRADIO\     Internet streaming example
  282.   NETRADIO.C
  283.   MAKEFILE
  284.   NETRADIO.NIB
  285. PLUGINS\      Plugins example
  286.   PLUGINS.C
  287.   MAKEFILE
  288.   PLUGINS.NIB
  289. RECTEST\      Recording example
  290.   RECTEST.C
  291.   MAKEFILE
  292.   RECTEST.NIB
  293. SPEAKERS\     Multi-speaker example
  294.   SPEAKERS.C
  295.   MAKEFILE
  296.   SPEAKERS.NIB
  297. SPECTRUM\     Spectrum analyser example
  298.   SPECTRUM.C
  299.   MAKEFILE
  300. WRITEWAV\     WAVE writer example
  301.   WRITEWAV.C
  302.   MAKEFILE
  303.  
  304.  
  305. What's the point?
  306. =================
  307. BASS is an audio library for use in Windows and MacOSX software. It's
  308. purpose is to provide the most powerful and efficient (yet easy to use),
  309. sample, stream, MOD music, and recording functions. All in a tiny DLL,
  310. under 100KB in size.
  311.  
  312. See the documentation for descriptions of all the BASS functions. You
  313. should also look at the included example program source-codes for some
  314. examples of how to use BASS in your own programs.
  315.  
  316.  
  317. Requirements
  318. ============
  319. Win32 version
  320. -------------
  321. BASS requires DirectX 3 or above for output. BASS does not require that a
  322. soundcard with DirectSound/DirectSound3D hardware accelerated drivers is
  323. installed, but it does improve performance if there is one. BASS also takes
  324. advantage of MMX, which improves the performance of the MOD music playback.
  325.  
  326. MacOSX version
  327. --------------
  328. OSX 10.3 or above is recommended. BASS uses CoreAudio for output, so there
  329. are no special library/driver requirements.
  330.  
  331.  
  332. Main Features
  333. =============
  334. * Samples
  335. - supports WAV/AIFF/MP3/MP2/MP1/OGG and custom generated samples
  336.  
  337. * Sample streams
  338. - stream any sample data in 8/16/32 bit
  339.  
  340. * File streams
  341. - MP3/MP2/MP1/OGG/WAV/AIFF file streaming
  342.  
  343. * Internet file streaming
  344. - stream MP3/MP2/MP1/OGG/WAV/AIFF files from the internet (inc. Shout/Icecast)
  345.  
  346. * User file streaming
  347. - stream MP3/MP2/MP1/OGG/WAV/AIFF files from anywhere using any delivery method
  348.  
  349. * Multi-channel streaming
  350. - support for more than plain stereo, including multi-channel OGG/WAV/AIFF files
  351.  
  352. * MOD music
  353. - uses the same engine as XMPlay = best accuracy, speed and quality
  354.  
  355. * MO3 music
  356. - MP3/OGG compressed MOD music
  357.  
  358. * Add-on system
  359. - support for other formats is available via add-ons (aka plugins)
  360.  
  361. * Multiple outputs
  362. - simultaneously use multiple soundcards
  363.  
  364. * Recording
  365. - flexible recording system, with support for multiple devices
  366.  
  367. * Decode without playback
  368. - streams and musics can be outputted in any way you want
  369.  
  370. * Speaker assignment
  371. - assign streams and musics to specific speakers
  372.  
  373. * High precision synchronization
  374. - synchronize events in your software to the music
  375.  
  376. * DirectX 8 effects
  377. - chorus/compressor/distortion/echo/flanger/gargle/parameq/reverb
  378.  
  379. * User defined DSP functions
  380. - custom effects may be applied to musics and streams
  381.  
  382. * 32 bit floating-point decoding and processing
  383. - floating-point stream/music decoding, DSP, FX, and recording
  384.  
  385. * 3D sound
  386. - play samples/streams/musics in any 3D position, with EAX support
  387.  
  388. * Expandable 
  389. - underlying DirectSound object interfaces are accessable 
  390.  
  391. * Small
  392. - BASS is under 100KB (on Windows), so won't bloat your distribution
  393.  
  394.  
  395. Using BASS
  396. ==========
  397. There is no guarantee that all future BASS versions will be compatible
  398. with all previous versions, so your program should use BASS_GetVersion
  399. to check the version that is loaded. This also means that you should
  400. put the BASS module in the same directory as your executable (not just
  401. somewhere in the path), to avoid the possibility of a wrong version being
  402. loaded.
  403.  
  404. If you are updating your software from a previous BASS version, then
  405. you should check the "History" section (below), to see if any of the
  406. functions that you are using have been affected by a change.
  407.  
  408. Win32 version
  409. -------------
  410. C/C++, Visual Basic, Delphi and MASM APIs are provided, to use BASS with
  411. another language you'll first have to convert the header file. Or, as a
  412. last resort, you could use LoadLibrary and GetProcAddress.
  413.  
  414. One benefit of the LoadLibrary method is that it allows you to look for
  415. the correct BASS version, because you can load and unload BASS.DLL at
  416. any time. This also allows those who'd prefer not to have a seperate
  417. DLL to store it with the program (eg. in a resource), write it to disk,
  418. load it, use it, free it and delete it.
  419.  
  420. The downside is that you have to manually import each function that you
  421. use, with the GetProcAddress function. But it has been made a lot simpler
  422. to import BASS this way by the use of the BASSDEF #define. Here's a small
  423. example:
  424.  
  425. #define BASSDEF(f) (WINAPI *f) // define the functions as pointers
  426. #include "bass.h"
  427. ...
  428. HINSTANCE bass=LoadLibrary("BASS.DLL"); // load BASS
  429. BASS_Init=GetProcAddress(bass,"BASS_Init"); // get BASS_Init
  430. BASS_Init(-1,44100,0,hWnd,NULL); // call BASS_Init
  431.  
  432. See the LOADNGET.C file for a more complete example.
  433.  
  434. To use BASS with Borland C++ Builder, you'll first have to create a
  435. Borland C++ Builder import library for it. This is done by using the
  436. IMPLIB tool that comes with Borland C++ Builder. Simply execute this:
  437.  
  438.     IMPLIB BASSBCB.LIB BASS.DLL
  439.  
  440. ... and then use BASSBCB.LIB in your projects to import BASS.
  441.  
  442. To use BASS with LCC-Win32, you'll first have to create a compatible
  443. import library for it. This is done by using the PEDUMP and BUILDLIB
  444. tools that come with LCC-Win32. Run these 2 commands:
  445.  
  446.     PEDUMP /EXP BASS.LIB > BASSLCC.EXP
  447.     BUILDLIB BASSLCC.EXP BASSLCC.LIB
  448.  
  449. ... and then use BASSLCC.LIB in your projects to import BASS.
  450.  
  451. For the BASS functions that return strings (char*), VB users should use
  452. the VBStrFromAnsiPtr function to convert the returned pointer into a VB
  453. string.
  454.  
  455. MacOSX version
  456. --------------
  457. A "LIB" file is not required for OSX, you can build your programs like this,
  458. for example:
  459.  
  460.     gcc yoursource -L. -lbass -o yourprog
  461.  
  462. The LIBBASS.DYLIB file must be put in the same directory as the executable
  463. (it can't just be somewhere in the path). See the example makefiles.
  464.  
  465.  
  466. Latest Version
  467. ==============
  468. The latest version of BASS can always be found at the BASS website:
  469.  
  470.         http://www.un4seen.com/
  471.  
  472.  
  473. Copyright, Disclaimer, and all that other jazz
  474. ==============================================
  475. The BASS library is free for non-money making use... if you are
  476. not charging for the software, then you can use BASS in it for
  477. free. If you wish to use BASS in shareware or commercial products,
  478. then see the next section.
  479.  
  480. This software is provided "as is", without warranty of ANY KIND,
  481. either expressed or implied, including but not limited to the
  482. implied warranties of merchantability and/or fitness for a
  483. particular purpose. The author shall NOT be held liable for
  484. ANY damage to you, your computer, or to anyone or anything else,
  485. that may result from its use, or misuse. Basically, you use it
  486. at YOUR OWN RISK.
  487.  
  488. Usage of BASS indicates that you agree to the above conditions.
  489.  
  490. You may freely distribute the BASS package as long as NO FEE is
  491. charged and all the files remain INTACT AND UNMODIFIED.
  492.  
  493. All trademarks and other registered names contained in the BASS
  494. package are the property of their respective owners.
  495.  
  496.  
  497. BASS in shareware and commercial software?
  498. ==========================================
  499. BASS is available for use in your shareware and commercial software.
  500. The license types available are as follows:
  501.  
  502. SHAREWARE: Allows the usage of BASS in an unlimited number of your
  503. shareware products.
  504.  
  505. SINGLE COMMERCIAL: Allows the usage of BASS in a single commercial
  506. product.
  507.  
  508. UNLIMITED COMMERCIAL: Allows the usage of BASS in an unlimited number
  509. of your commercial products. This license is on a per site basis. So
  510. if your company has two sites and both use BASS, then two licenses are
  511. required.
  512.  
  513. If you're an individual selling your own software, then the SHAREWARE
  514. license is the one for you. If you're a commercial entity (or your
  515. software is published/sold by one), then a COMMERCIAL license is
  516. required.
  517.  
  518. These licenses are on a per-platform basis, with reductions available
  519. when licensing for both platforms. In all cases there are no royalties
  520. to pay, and you can use future BASS updates without further cost. One
  521. license covers one person or entity and is not transferable.
  522.  
  523. These licenses do not allow reselling of BASS, eg. as part of another
  524. development library. If none of these licenses match your requirements,
  525. or if you have any questions about using BASS in shareware/commercial
  526. software, then please get in touch (email: bass@un4seen.com).
  527.  
  528. Visit the BASS website for the latest pricing:
  529.  
  530.         http://www.un4seen.com/
  531.  
  532.  
  533. History
  534. =======
  535. These are the major (and not so major) changes at each version
  536. stage. There are ofcourse bug fixes and other little improvements
  537. made along the way too! To make upgrading simpler, all functions
  538. affected by a change to the BASS interface are listed.
  539.  
  540. 2.2 - 2/10/2005
  541. ---------------
  542. * Add-on plugin system
  543.     BASS_PluginLoad
  544.     BASS_PluginFree
  545.     BASS_StreamCreateFile/User/Url
  546.     BASS_SampleLoad
  547.     PLUGINS example added
  548. * MOD position & syncing in bytes
  549.     BASS_ChannelSetPosition
  550.     BASS_ChannelGetPosition
  551.     BASS_MusicGetOrderPosition added for orders position
  552.     BASS_SYNC_MUSICPOS added for orders syncing
  553.     MAKEMUSICPOS macro/define
  554.     CUSTLOOP example updated
  555. * Stream/MOD "length" functions combined (also works with samples), new MOD orders length function
  556.     BASS_ChannelGetLength
  557.     BASS_MusicGetOrders
  558.     BASS_StreamGetLength *removed*
  559.     BASS_MusicGetLength *removed*
  560. * Support for AIFF files
  561.     BASS_StreamCreateFile/User/Url
  562.     BASS_SampleLoad
  563. * Support for 24 and 32-bit (integer) WAV files
  564.     BASS_StreamCreateFile/User/Url
  565.     BASS_SampleLoad
  566. * WAV files are no longer converted to the "device" resolution
  567.     BASS_StreamCreateFile/User/Url
  568. * Recording master control
  569.     BASS_RecordGetInput
  570.     BASS_RecordSetInput
  571. * Adjustable prebuffering
  572.     BASS_ChannelPreBuf
  573. * Floating-point data retrieval
  574.     BASS_DATA_FLOAT (BASS_ChannelGetData flag)
  575. * Support for floating-point samples
  576.     BASS_SampleLoad
  577.     BASS_SampleCreate
  578. * Multi-channel samples
  579.     BASS_SampleLoad/Create
  580.     BASS_SAMPLE (chans member)
  581. * Sample lengths given in bytes
  582.     BASS_SampleCreate
  583.     BASS_SAMPLE (length member)
  584. * MOD music 8-bit resolution option
  585.     BASS_MusicLoad
  586. * Configurable "User-Agent" header for internet streams
  587.     BASS_CONFIG_NET_AGENT (BASS_SetConfig option)
  588. * Shoutcast metadata is now requested automatically
  589.     BASS_STREAM_META flag *removed*
  590. * Download callbacks receive all data from start of file/stream (including any non-audio data)
  591.     DOWNLOADPROC
  592. * Length when streaming in blocks is unavailable (BASS_ERROR_NOTAVAIL, not just 0)
  593.     BASS_ChannelGetLength
  594. * Query file action removed
  595.     BASS_FILE_QUERY *removed*
  596. * Info structure "size" members removed
  597.     BASS_INFO structure
  598.     BASS_RECORDINFO structure
  599. * Little bit of flag reshuffling
  600.     BASS_MP3_SETPOS renamed to BASS_STREAM_PRESCAN
  601.     BASS_MUSIC_CALCLEN value changed and renamed to BASS_MUSIC_PRESCAN
  602.     BASS_MUSIC_POSRESET value changed
  603. * Add-on API enhancements
  604. * MacOSX port introduced
  605.  
  606. 2.1 - 28/11/2004
  607. ----------------
  608. * Improved "mixtime" sync system, allowing custom looping
  609.     SYNCPROC
  610.     CUSTLOOP example added
  611. * FX can now be in the DSP chain, so can be prioritized and applied in floating-point
  612.     BASS_ChannelSetFX
  613.     BASS_CONFIG_FLOATDSP (BASS_SetConfig option)
  614. * Ability to set channel flags (eg. looping) independant of playback
  615.     BASS_ChannelSetFlags
  616.     SPEAKERS example updated
  617. * Stream/MOD "play" and channel "resume" functions combined
  618.     BASS_ChannelPlay
  619.     BASS_StreamPlay *removed*
  620.     BASS_MusicPlay *removed*
  621.     BASS_MusicPlayEx *removed*
  622.     BASS_ChannelResume *removed*
  623. * Stream/MOD prebuffering functions combined
  624.     BASS_ChannelPreBuf
  625.     BASS_StreamPreBuf *removed*
  626.     BASS_MusicPreBuf *removed*
  627. * MOD attribute functions combined, with added BPM/speed/globalvolume options
  628.     BASS_MusicSetAttribute
  629.     BASS_MusicGetAttribute
  630.     BASS_MUSIC_ATTRIB_AMPLIFY
  631.     BASS_MUSIC_ATTRIB_PANSEP
  632.     BASS_MUSIC_ATTRIB_PSCALER
  633.     BASS_MUSIC_ATTRIB_BPM
  634.     BASS_MUSIC_ATTRIB_SPEED
  635.     BASS_MUSIC_ATTRIB_VOL_GLOBAL
  636.     BASS_MUSIC_ATTRIB_VOL_CHAN
  637.     BASS_MUSIC_ATTRIB_VOL_INST
  638.     BASS_MusicSetAmplify *removed*
  639.     BASS_MusicSetPanSep *removed*
  640.     BASS_MusicSetPositionScaler *removed*
  641.     BASS_MusicSetVolume *removed*
  642.     BASS_MusicGetVolume *removed*
  643. * Flag to reset bpm/etc as well as notes when seeking in MOD musics
  644.     BASS_MUSIC_POSRESETEX (BASS_MusicLoad & BASS_ChannelSetFlags flag)
  645. * More flexible and concise sample channel creation system
  646.     BASS_SampleGetChannel
  647.     BASS_SamplePlay *removed*
  648.     BASS_SamplePlayEx *removed*
  649.     BASS_SamplePlay3D *removed*
  650.     BASS_SamplePlay3DEx *removed*
  651. * Support for upto 30 speakers
  652.     BASS_SPEAKER_N macro/define
  653. * More precise level measurement
  654.     BASS_ChannelGetLevel
  655. * Level can now be retrieved from decoding channels
  656.     BASS_ChannelGetLevel
  657. * Retrieval of a sample/channel's original sample resolution
  658.     BASS_SAMPLE (origres member)
  659.     BASS_CHANNELINFO (origres member)
  660. * Support for streaming WAV files in "blocks"
  661.     BASS_StreamCreateURL
  662.     BASS_StreamCreateFileUser
  663. * Status info (HTTP/ICY tags) available during connection to server
  664.     BASS_STREAM_STATUS (BASS_StreamCreateURL flag)
  665.     DOWNLOADPROC
  666.     NETRADIO example updated (Delphi version also added)
  667. * Adjustable internet stream prebuffering
  668.     BASS_CONFIG_NET_PREBUF (BASS_SetConfig option)
  669. * Option to bypass proxy server
  670.     BASS_CONFIG_NET_NOPROXY (BASS_SetConfig option)
  671. * Option whether to allow channels to be played after BASS_Pause
  672.     BASS_CONFIG_PAUSE_NOPLAY (BASS_SetConfig option)
  673. * Recording channel count now a separate parameter
  674.     BASS_RecordStart (chans parameter)
  675. * Synchronizer for when a channel is freed
  676.     BASS_SYNC_FREE (BASS_ChannelSetSync type)
  677. * Data start file position retrieval
  678.     BASS_FILEPOS_START (BASS_StreamGetFilePosition mode)
  679. * Performance improvements
  680.     MP2 decoding ~20% faster
  681.     MP3/MP1 decoding & FFT processing all up to 10% faster
  682.     OGG decoding ~3% faster
  683. * C/C++ examples reorganised, with makefiles & VC++ projects
  684. * Add-on API enhancements
  685. * More DLL shrinkage :)
  686.  
  687. 2.0 - 31/10/2003
  688. ----------------
  689. * Multiple output device support
  690.     BASS_Init (device number changes)
  691.     BASS_SetDevice
  692.     BASS_GetDevice
  693.     BASS_ChannelGetDevice
  694.     MULTI example updated (VB version also added)
  695. * Multiple recording device support
  696.     BASS_RecordSetDevice
  697.     BASS_RecordGetDevice
  698.     BASS_RecordStart
  699.     BASS_ChannelGetDevice
  700.     HRECORD handle
  701.     RECORDPROC (handle parameter)
  702. * Recording with DSP/FX
  703.     BASS_ChannelSetDSP
  704.     BASS_ChannelSetFX
  705. * Recording position retrieval
  706.     BASS_ChannelGetPosition
  707. * Start recording paused
  708.     BASS_RECORD_PAUSE (BASS_RecordStart flag)
  709. * Multi-channel streams, inc. support for multichannel OGG & WAV files
  710.     BASS_StreamCreate
  711.     BASS_StreamCreateFile/User/Url
  712. * FFT for individual channels, inc. multi-channel streams
  713.     BASS_DATA_FFT_INDIVIDUAL (BASS_ChannelGetData flag)
  714.     BASS_DATA_FFT512S/1024S/2048S/4096S *removed*
  715. * DSP prioritizing
  716.     BASS_ChannelSetDSP
  717.     DSPTEST example updated
  718. * Seeking in internet streamed files
  719.     BASS_ChannelSetPosition
  720. * Enhanced custom file stream systems
  721.     BASS_StreamCreateFileUser
  722.     BASS_FILE_SEEK (STREAMFILEPROC action)
  723.     BASS_STREAM_FILEPROC flag *removed*
  724. * Enhanced custom stream system with automatic stalling/resuming
  725.     STREAMPROC
  726.     BASS_STREAMPROC_END (STREAMPROC flag)
  727. * Synchronizer for stalled/resumed playback 
  728.     BASS_SYNC_STALL (BASS_ChannelSetSync type)
  729. * Synchronizer for completed download
  730.     BASS_SYNC_DOWNLOAD (BASS_ChannelSetSync type)
  731. * End sync support for custom streams
  732.     BASS_SYNC_END (BASS_ChannelSetSync type)
  733. * Synchronizer support for decoding channels
  734.     BASS_ChannelSetSync
  735. * Unified configuration function
  736.     BASS_SetConfig
  737.     BASS_GetConfig
  738.     BASS_SetBufferLength *removed*
  739.     BASS_SetNetConfig *removed*
  740.     BASS_SetGlobalVolumes *removed*
  741.     BASS_GetGlobalVolumes *removed*
  742.     BASS_SetLogCurves *removed*
  743.     BASS_Set3DAlgorithm *removed*
  744.     BASS_DEVICE_FLOATDSP flag *removed*
  745. * Internet stream saving to disk replaced by more flexible callback
  746.     BASS_StreamCreateURL
  747.     DOWNLOADPROC
  748.     VB NETRADIO example updated
  749. * Buffer length retrieval when "streaming in blocks"
  750.     BASS_StreamGetFilePosition (BASS_FILEPOS_END)
  751. * Individual sample rate setting for MOD musics
  752.     BASS_MusicLoad
  753. * Channel type and default sample rate retrieval
  754.     BASS_ChannelGetInfo (replaces BASS_ChannelGetFlags)
  755.     BASS_CHANNELINFO
  756. * MOD music flag retrieval
  757.     BASS_CHANNELINFO (flags member)
  758. * Adjustable instrument volumes in MOD musics
  759.     BASS_MusicSetVolume (replaces BASS_MusicSetChannelVol)
  760.     BASS_MusicGetVolume (replaces BASS_MusicGetChannelVol)
  761. * Automatically free a MOD music when it stops or ends
  762.     BASS_MUSIC_AUTOFREE (BASS_MusicLoad flag)
  763. * Class GUID added to initialization parameters
  764.     BASS_Init
  765.     BASS_SetCLSID *removed*
  766. * Update period adjustable at any time
  767.     BASS_CONFIG_UPDATEPERIOD (BASS_SetConfig option)
  768.     BASS_DEVICE_NOTHREAD flag *removed*
  769. * Customizable maximum volume setting
  770.     BASS_CONFIG_MAXVOL (BASS_SetConfig option)
  771.     BASS_DEVICE_VOL1000 flag *removed*
  772. * Device volume is now always left as it is during init/freeing
  773.     BASS_DEVICE_LEAVEVOL flag *removed*
  774. * Device driver name retrieval
  775.     BASS_INFO (driver member)
  776.     BASS_RECORDINFO (driver member)
  777. * Error codes are local to the current thread
  778.     BASS_ErrorGetCode
  779. * Performance improvements
  780.     MP2 decoding 15-20% faster
  781.     MP3 decoding ~5% faster
  782. * Built-in CD functions removed (replaced in BASSCD)
  783.     BASS_CDDoor *removed*
  784.     BASS_CDFree *removed*
  785.     BASS_CDGetID *removed*
  786.     BASS_CDGetTrackLength *removed*
  787.     BASS_CDGetTracks *removed*
  788.     BASS_CDInDrive *removed*
  789.     BASS_CDInit *removed*
  790.     BASS_CDPlay *removed*
  791. * Force channels to use software mixing
  792.     BASS_SAMPLE_SOFTWARE (BASS_StreamCreate/File/User/URL & BASS_MusicLoad flag)
  793. * Support for high-pass filter and forward/reverse (S9E/F) IT/MPT effects
  794. * BASS_MUSIC flags rearranged to mirror BASS_SAMPLE/STREAM counterparts
  795. * Output automatically started during initilization
  796. * BASS_ChannelGetData once again accepts any "length" param
  797. * All function comments have been removed from the API headers to avoid
  798.   outdated/incorrect information - the BASS.CHM documentation should be used.
  799. * TMT Pascal API removed from main distribution - now available on the website
  800. * A few more 'K' knocked off the DLL size :)
  801.  
  802. 1.8a - 18/6/2003
  803. ----------------
  804. * Tweaks 'n' fixes, including...
  805.     Fixed seeking bug on 32-bit OGG streams
  806.     Fixed seeking on a decoding channel after it has reached the end
  807.     Low FPU precision (eg. when using Direct3D) issue addressed
  808.     Improved speakers (BASS_INFO) detection
  809.     BASS_ChannelSeconds2Bytes return value is rounded down to nearest sample
  810.     BASS_ChannelGetData "length" param must equal a whole number of samples
  811.     Slide syncs are triggered by "-2" volume slides on "autofree" streams
  812. * Support for UNICODE filenames
  813.     BASS_UNICODE (BASS_SampleLoad/BASS_StreamCreateFile/BASS_MusicLoad flag)
  814. * 4096 sample FFT
  815.     BASS_DATA_FFT4096/S (BASS_ChannelGetData flags)
  816. * Another 'K' knocked off the DLL size
  817.  
  818. 1.8 - 9/3/2003
  819. --------------
  820. * 32-bit floating-point channels
  821.     BASS_SAMPLE_FLOAT (BASS_StreamCreate/URL/File flag)
  822.     BASS_MUSIC_FLOAT (BASS_MusicLoad flag)
  823.     BASS_SAMPLE_FLOAT (BASS_RecordStart flag)
  824.     BASS_DEVICE_FLOATDSP (BASS_Init flag)
  825.     DSPTEST example updated
  826. * Support for 32-bit floating-point (type 3) WAV files
  827.     BASS_StreamCreateFile/URL
  828.     BASS_SampleLoad
  829. * Channel speaker assignment
  830.     BASS_SPEAKER_FRONT (BASS_MusicLoad/BASS_StreamCreate/File/URL flag)
  831.     BASS_SPEAKER_REAR                       "
  832.     BASS_SPEAKER_CENLFE                     "
  833.     BASS_SPEAKER_REAR2                      "
  834.     BASS_SPEAKER_FRONTLEFT                  "
  835.     BASS_SPEAKER_FRONTRIGHT                 "
  836.     BASS_SPEAKER_REARLEFT                   "
  837.     BASS_SPEAKER_REARRIGHT                  "
  838.     BASS_SPEAKER_CENTER                     "
  839.     BASS_SPEAKER_LFE                        "
  840.     BASS_SPEAKER_REAR2LEFT                  "
  841.     BASS_SPEAKER_REAR2RIGHT                 "
  842.     BASS_INFO (speakers member)
  843.     BASS_DEVICE_SPEAKERS (BASS_Init flag)
  844.     4SPEAKER example replaced by SPEAKERS example
  845. * Recording input type retrieval
  846.     BASS_INPUT_TYPE_xxx (BASS_RecordGetInput)
  847.     RECTEST example updated
  848. * Non-interpolated MOD mixing
  849.     BASS_MUSIC_NONINTER (BASS_MusicLoad/PlayEx flag)
  850. * Performance improvements
  851.     FFT up to 100% faster!
  852.     MP3(MPEG2/2.5) decoding up to 60% faster
  853.     MMX mixers 5-10% faster
  854.     MP3(MPEG1)/MP2/MP1/OGG decoding all ~5% faster
  855. * Optional disabling of FFT windowing
  856.     BASS_DATA_FFT_NOWINDOW (BASS_ChannelGetData flag)
  857. * BASS_ERROR_FILEFORM - error code to distinguish between file and sample format
  858.     BASS_MusicLoad
  859.     BASS_SampleLoad
  860.     BASS_StreamCreate/File/URL
  861. * BASS_StreamGetFilePosition mode flags added
  862.     BASS_FILEPOS_DECODE/DOWNLOAD/END
  863. * DirectX 9 detection
  864.     BASS_INFO (dsver member)
  865. * Initialization flags retrieval
  866.     BASS_INFO (initflags member)
  867. * Half-rate MP3 playback option removed
  868.     BASS_MP3_HALFRATE flag *removed*
  869. * New internal "plugin" system - BASSWMA is further integrated as a result
  870. * Improved documentation - integrated with BASSWMA, search option added
  871. * VB version of DSPTEST example added
  872. * Delphi RECORDTEST example added
  873. * Guess what... reduced DLL size again :)
  874.  
  875. 1.7 - 27/10/2002
  876. ----------------
  877. * New alternative DX8 (DMO) effects implementation
  878.     BASS_StreamCreate/File/URL
  879.     BASS_MusicLoad
  880.     BASS_ChannelSetFX
  881.     SYNTH example updated
  882. * User file streaming
  883.     BASS_STREAM_FILEPROC (BASS_StreamCreate flag)
  884.     STREAMFILEPROC
  885. * DSP & FX support for decoding channels
  886.     BASS_ChannelSetDSP
  887.     BASS_ChannelSetFX
  888. * Support for DX8 (DMO) effects in IT/XM/MO3 files
  889.     BASS_MusicLoad
  890. * Support for chained OGG streaming (and syncing)
  891.     BASS_StreamCreateURL
  892.     BASS_ChannelSetSync (BASS_SYNC_META)
  893. * Attribute (volume/frequency/pan) sliding
  894.     BASS_ChannelSlideAttributes
  895.     BASS_ChannelIsSliding
  896.     BASS_SYNC_SLIDE (BASS_ChannelSetSync type)
  897. * Recording without a callback function
  898.     BASS_RecordStart
  899.     LIVEFX example added
  900. * Query a channel's buffered data
  901.     BASS_DATA_AVAILABLE (BASS_ChannelGetData flag)
  902. * Discard data from the recording buffer
  903.     BASS_ChannelGetData
  904. * Adjustable internet stream config (timeout/buffer lengths)
  905.     BASS_SetNetConfig
  906. * Recommended minimum buffer length
  907.     BASS_INFO (minbuf member)
  908. * MOD music flags adjustment without changing playback position
  909.     BASS_MusicPlayEx
  910.     PLAYER (MASM) example updated
  911. * More functions are now useable in MOD music "mixtime" syncs
  912.     SYNCPROC
  913.     BASS_ChannelSetPosition
  914.     BASS_MusicPlayEx
  915.     BASS_MusicSetAmplify
  916.     BASS_MusicSetPanSep
  917. * Maximum buffer length increased to 5 seconds
  918.     BASS_SetBufferLength
  919. * Support for extended filter range in IT files
  920.     BASS_MusicLoad
  921. * Speedier MOD music file verification
  922.     BASS_MusicLoad
  923. * Delphi 3DTEST example fixed
  924. * Magically reduced DLL size again :)
  925.  
  926. 1.6a - 25/8/2002
  927. ----------------
  928. * OGG support updated to 1.0
  929. * Stereo FFT
  930.     BASS_DATA_FFT512S/1024S/2048S (BASS_ChannelGetData flags)
  931. * Support for "Invert Loop" (EFx) MOD effect
  932. * Reduced DLL size
  933. * New Delphi examples
  934.     WRITEWAV - WAVE writer example
  935.     SAMPLEVIS - Visualisation example
  936.  
  937. 1.6 - 13/6/2002
  938. ---------------
  939. * 64-bit stream lengths and positions
  940.     BASS_StreamGetLength
  941.     BASS_ChannelBytes2Seconds
  942.     BASS_ChannelSeconds2Bytes
  943.     BASS_ChannelGetPosition
  944.     BASS_ChannelSetPosition
  945.     BASS_ChannelSetSync
  946. * Recording input selection
  947.     BASS_RECORDINFO (inputs & singlein members)
  948.     BASS_RecordGetInputName
  949.     BASS_RecordGetInput
  950.     BASS_RecordSetInput
  951. * Adjustable recording update period
  952.     BASS_RecordStart
  953. * Load OGG files as samples
  954.     BASS_SampleLoad
  955. * CD drive door opening & closing
  956.     BASS_CDDoor
  957. * CDDB2 ID retrieval
  958.     BASS_CDID_CDDB2 (BASS_CDGetID flag)
  959. * Streaming beyond initial file length
  960.     BASS_StreamCreateFile
  961. * Recording position bytes<->seconds translation
  962.     BASS_ChannelBytes2Seconds
  963.     BASS_ChannelSeconds2Bytes
  964. * Improved multi-threaded support (play from any thread)
  965.     BASS_MusicPlay/Ex
  966.     BASS_SamplePlay/3D/Ex
  967.     BASS_StreamPlay
  968.     BASS_DEVICE_NOSYNC flag *removed*
  969. * Paused channel status
  970.     BASS_ACTIVE_PAUSED (BASS_ChannelIsActive)
  971. * Integrated WMA stream freeing
  972.     BASS_StreamFree
  973.     BASS_Free
  974. * Pin-point accurate OGG seeking without BASS_MP3_SETPOS flag
  975. * Win2k DS buffer bug fix
  976.  
  977. 1.5a - 14/4/2002
  978. ----------------
  979. * NT4 fix (also enables "nosound" device without DX installed)
  980.     BASS_ERROR_DX error code
  981. * MOD music loading without the samples
  982.     BASS_MUSIC_NOSAMPLE (BASS_MusicLoad flag)
  983. * Custom decoding channels
  984.     BASS_STREAM_DECODE (BASS_StreamCreate flag)
  985. * 5 second HTTP connection timeout
  986.     BASS_ERROR_TIMEOUT (BASS_StreamCreateURL error code)
  987.  
  988. 1.5 - 31/3/2002
  989. ---------------
  990. * Improved performance
  991.     MMX mixers lot faster (over 50% faster in some cases!)
  992.     OGG decoding 15-20% faster
  993.     MP3 decoding 5-10% faster
  994. * Recording
  995.     BASS_RecordGetDeviceDescription
  996.     BASS_RecordInit
  997.     BASS_RecordFree
  998.     BASS_RecordGetInfo
  999.     BASS_RecordStart
  1000. * OGG support built-in (OGG/VORBIS DLLs not required)
  1001.     BASS_DEVICE_OGG flag *removed*
  1002. * MOD music seeking in seconds
  1003.     BASS_MusicPlayEx
  1004.     BASS_ChannelSetPosition
  1005. * Shoutcast metadata retrieval
  1006.     BASS_STREAM_META (BASS_StreamCreateURL flag)
  1007.     BASS_TAG_META (BASS_StreamGetTags flag)
  1008.     BASS_SYNC_META (BASS_ChannelSetSync type)
  1009. * 1000 volume levels
  1010.     BASS_DEVICE_VOL1000 (BASS_Init/CDInit flag)
  1011. * CDDB ID retrieval
  1012.     BASS_CDID_CDDB (BASS_CDGetID flag)
  1013. * Leave the CD volume as it is during init/closing
  1014.     BASS_DEVICE_LEAVEVOL (BASS_CDInit flag)
  1015. * FFT enabled on decoding channels
  1016.     BASS_ChannelGetData
  1017. * Left level duplicated on right for mono channels
  1018.     BASS_ChannelGetLevel
  1019. * Improved MPEG length estimation without BASS_MP3_SETPOS flag
  1020.     BASS_StreamGetLength
  1021. * Support for Modplug/ADPCM compressed files
  1022.     BASS_MusicLoad
  1023. * Device description function parameter change
  1024.     BASS_GetDeviceDescription
  1025. * MASM API
  1026.  
  1027. 1.4 - 30/1/2002
  1028. ---------------
  1029. * Channel decoding without playback
  1030.     BASS_MUSIC_DECODE (BASS_MusicLoad flag)
  1031.     BASS_STREAM_DECODE (BASS_StreamCreateFile/URL flag)
  1032.     BASS_ChannelGetData
  1033. * Windows message sync callbacks
  1034.     BASS_SYNC_MESSAGE (BASS_ChannelSetSync flag)
  1035. * Adjustable channel volumes in MOD musics
  1036.     BASS_MusicSetChannelVol
  1037.     BASS_MusicGetChannelVol
  1038. * Customizable DirectSound initialization object
  1039.     BASS_SetCLSID
  1040. * Retrieve HMUSIC/HSTREAM/HCHANNEL IDirectSoundBuffer interfaces
  1041.     BASS_GetDSoundObject
  1042. * A3D functions removed (use BASS_SetCLSID/BASS_GetDSoundObject to access A3D)
  1043.     BASS_DEVICE_A3D (BASS_Init flag)
  1044.     BASS_SetA3DResManager
  1045.     BASS_GetA3DResManager
  1046.     BASS_SetA3DHFAbsorbtion
  1047.     BASS_GetA3DHFAbsorbtion
  1048. * Callback functions now work in VB6
  1049.     DSPPROC
  1050.     STREAMPROC
  1051.     SYNCPROC
  1052. * Improved PCM WAVE streaming performance
  1053.     BASS_StreamCreateFile
  1054.     BASS_StreamCreateURL
  1055. * OGG modules updated to RC3
  1056. * Stereo sample support in MO3 format
  1057. * MO3 encoder now distributed separately from BASS
  1058.  
  1059. 1.3 - 17/11/2001
  1060. ----------------
  1061. * Manual buffer updating
  1062.     BASS_DEVICE_NOTHREAD (BASS_Init flag)
  1063.     BASS_Update
  1064. * Adjustable buffer update period (allows small buffer sizes)
  1065.     BASS_Init
  1066. * Output device latency retrieval
  1067.     BASS_INFO (latency member)
  1068. * MPEG/OGG seeking without BASS_MP3_SETPOS flag
  1069.     BASS_ChannelSetPosition
  1070. * Internet file streaming from offsets
  1071.     BASS_StreamCreateURL
  1072. * File stream tag/comment retrieval (ID3/ID3v2/OGG/HTTP/ICY tags)
  1073.     BASS_StreamGetTags
  1074. * Byte<->time position translation
  1075.     BASS_ChannelBytes2Seconds
  1076.     BASS_ChannelSeconds2Bytes
  1077. * UMX (Unreal/Tournament music package) format support
  1078.     BASS_MusicLoad
  1079. * S3M/IT sync fx changed to S2x (S0x conflicted with S00)
  1080.     BASS_SYNC_MUSICFX
  1081. * Stereo sample suport in IT/XM/S3M formats
  1082. * MO3: OGG compression supported
  1083.  
  1084. 1.2 - 25/9/2001
  1085. ---------------
  1086. * OGG (Ogg Vorbis) stream support
  1087.     BASS_DEVICE_OGG (BASS_Init flag)
  1088.     BASS_StreamCreateFile
  1089.     BASS_StreamCreateURL
  1090. * Channel linking (start/stop/pause/resume channels together)
  1091.     BASS_ChannelSetLink
  1092.     BASS_ChannelRemoveLink
  1093. * MOD music playback length calculation
  1094.     BASS_MUSIC_CALCLEN (BASS_MusicLoad flag)
  1095.     BASS_MusicGetLength
  1096. * Pre-buffering
  1097.     BASS_MusicPreBuf
  1098.     BASS_StreamPreBuf
  1099. * Samples with single simultaneous playbacks have same HSAMPLE/HCHANNEL handle
  1100.     BASS_SamplePlay/Ex
  1101. * Stopping a custom stream flushes it's buffer contents
  1102.     BASS_ChannelStop
  1103.  
  1104. 1.1a - 31/8/2001
  1105. ----------------
  1106. * NT4 bug fixed
  1107. * XM Wxx effect syncing
  1108.     BASS_SYNC_MUSICFX
  1109. * MP3/2/1 rewinding without BASS_MP3_SETPOS
  1110.     BASS_ChannelSetPosition
  1111.  
  1112. 1.1 - 11/8/2001
  1113. ---------------
  1114. * DX8 (DMO) effects
  1115.     BASS_SAMPLE_FX (BASS_StreamCreate/File/URL flag)
  1116.     BASS_MUSIC_FX (BASS_MusicLoad flag)
  1117.     BASS_ChannelSetFX
  1118.     BASS_ChannelRemoveFX
  1119.     BASS_FXSetParameters
  1120.     BASS_FXGetParameters
  1121.     BASS_FXCHORUS structure
  1122.     BASS_FXCOMPRESSOR structure
  1123.     BASS_FXDISTORTION structure
  1124.     BASS_FXECHO structure
  1125.     BASS_FXFLANGER structure
  1126.     BASS_FXGARGLE structure
  1127.     BASS_FXI3DL2REVERB structure
  1128.     BASS_FXPARAMEQ structure
  1129.     BASS_FXREVERB structure
  1130. * Internet file streaming in blocks (inc. Shoutcast/Icecast stream support)
  1131.     BASS_STREAM_BLOCK (BASS_StreamCreateURL flag)
  1132. * 512/1024/2048 sample FFT
  1133.     BASS_DATA_FFT512/1024/2048 (BASS_ChannelGetData flags)
  1134. * CD identification
  1135.     BASS_CDGetID
  1136. * Improved DX version detection
  1137.     BASS_INFO (dsver member)
  1138.  
  1139. 1.0 - 20/6/2001
  1140. ---------------
  1141. * Load MP3/MP2/MP1 files as samples
  1142.     BASS_SampleLoad
  1143. * Internet file streaming from FTP servers
  1144.     BASS_StreamCreateURL
  1145. * Save a local copy of internet file streams
  1146.     BASS_StreamCreateURL
  1147. * Sample accurate file stream seeking
  1148.     BASS_ChannelSetPosition
  1149.     BASS_StreamGetBlockLength *removed*
  1150. * Stream position synchronizer
  1151.     BASS_SYNC_POS
  1152. * Increased synchronizer precision
  1153. * Improved MPEG file detection and error detection
  1154. * Stop MOD musics on a backwards jump effect
  1155.     BASS_MUSIC_STOPBACK (BASS_MusicLoad/PlayEx flag)
  1156. * Leave the volume as it is during closing (as well as initialization)
  1157.     BASS_DEVICE_LEAVEVOL (BASS_Init flag)
  1158. * Optional automatic use of foreground window handle during initialization
  1159.     BASS_Init
  1160. * Reduced DLL size
  1161. * VB API fixes
  1162.  
  1163. 0.9 - 18/4/2001
  1164. ---------------
  1165. * Internet file streaming
  1166.     BASS_StreamCreateURL
  1167. * MP1 & MP2 (MPEG layer 1 & 2) support
  1168.     BASS_StreamCreateFile/URL
  1169. * MPEG 2.5 support (12000/11025/8000hz sample rates)
  1170.     BASS_StreamCreateFile/URL
  1171. * Decoding/download/end file stream position retrieval
  1172.     BASS_StreamGetFilePosition
  1173. * XMPlay surround sound for MOD musics
  1174.     BASS_MUSIC_SURROUND (BASS_MusicLoad/PlayEx flag)
  1175.     BASS_MUSIC_SURROUND2 (BASS_MusicLoad/PlayEx flag)
  1176. * Restrict the download rate of internet file streams
  1177.     BASS_STREAM_RESTRATE (BASS_StreamCreateURL flag)
  1178. * Check if an internet file stream is stalled
  1179.     BASS_ChannelIsActive
  1180. * Automatically free a stream when it stops or ends
  1181.     BASS_STREAM_AUTOFREE (BASS_StreamCreate/File/URL flag)
  1182. * Leave the volume as it is during initialization
  1183.     BASS_DEVICE_LEAVEVOL (BASS_Init flag)
  1184. * Number of CD tracks retrieval
  1185.     BASS_CDGetTracks
  1186. * CD track length retrieval
  1187.     BASS_CDGetTrackLength
  1188. * Exact stream length set after whole file is streamed
  1189.     BASS_StreamGetLength
  1190. * TMT Pascal API and samples
  1191. * Dynamic-loading Delphi API
  1192.  
  1193. 0.8a - 28/2/2000
  1194. ----------------
  1195. * Updated Delphi API and samples
  1196.  
  1197. 0.8 - 24/1/2000
  1198. ---------------
  1199. * Improved MP3 performance on P2/K6 and above CPUs - fast!
  1200. * User DSP functions on streams and MOD musics
  1201.     BASS_ChannelSetDSP
  1202.     BASS_ChannelRemoveDSP
  1203. * DX7 voice allocation & management
  1204.     BASS_SAMPLE_VAM (BASS_SampleLoad/Create flag)
  1205.     BASS_VAM_xxx flags
  1206.     BASS_SAMPLE (vam & priority members)
  1207. * DX7 software 3D algorithm selection
  1208.     BASS_Set3DAlgorithm
  1209. * DirectSound interface retrieval
  1210.     BASS_GetDSoundObject
  1211. * Log/linear volume & panning curves
  1212.     BASS_SetLogCurves
  1213. * User data passed to callback functions
  1214.     STREAMPROC - BASS_StreamCreate
  1215.     SYNCPROC - BASS_ChannelSetSync
  1216. * New synchronizer
  1217.     BASS_SYNC_MUSICFX
  1218. * New synchronizer flag
  1219.     BASS_SYNC_MIXTIME
  1220. * Disable synchronizers option - saves a little CPU time
  1221.     BASS_DEVICE_NOSYNC (BASS_Init flag)
  1222. * Hi-res floating-point CPU usage monitoring
  1223.     BASS_GetCPU
  1224. * Wait for playback to start when playing a CD
  1225.     BASS_CDPlay
  1226. * DirectSound (dsound.dll) version retrieval
  1227.     BASS_INFO (dsver member)
  1228. * Removed volume sliding functions (they were fairly pointless)
  1229.     BASS_SlideVolume
  1230.     BASS_IsSliding
  1231. * MO3: read/write encoder settings
  1232. * MO3: remove inst/samp/message texts now optional
  1233. * MO3: LAME encoder settings
  1234.  
  1235. 0.7 - 3/10/1999
  1236. ---------------
  1237. * MO3 (MP3 compressed MODs)
  1238. * A3D functions
  1239.     BASS_DEVICE_A3D (BASS_Init flag)
  1240.     BASS_INFO (a3d member)
  1241.     BASS_SetA3DResManager
  1242.     BASS_GetA3DResManager
  1243.     BASS_SetA3DHFAbsorbtion
  1244.     BASS_GetA3DHFAbsorbtion
  1245. * Music/stream immediate sample data retrieval
  1246.     BASS_ChannelGetData
  1247. * File stream (WAV/MP3) length retrieval
  1248.     BASS_StreamGetLength
  1249.     BASS_StreamGetBlockLength
  1250. * File stream seeking
  1251.     BASS_ChannelSetPosition
  1252. * Mono MP3 option (lower CPU usage)
  1253.     BASS_StreamCreateFile
  1254. * Music length retrieval
  1255.     BASS_MusicGetLength
  1256. * Music name retrieval
  1257.     BASS_MusicGetName
  1258. * Stop notes when moving MOD music position
  1259.     BASS_MUSIC_POSRESET (BASS_MusicLoad/BASS_MusicPlayEx flag)
  1260. * BASS_ERROR_FREQ - invalid sample rate error code
  1261.     BASS_SampleCreate
  1262.     BASS_SamplePlayEx
  1263.     BASS_SamplePlay3DEx
  1264.     BASS_StreamCreate
  1265.     BASS_ChannelSetAttributes
  1266. * Delphi and VB APIs
  1267.  
  1268. 0.6a - 26/7/1999
  1269. ----------------
  1270. * Half rate MP3 option (lower CPU usage)
  1271.     BASS_MP3_HALFRATE
  1272. * Loading/streaming from file offsets
  1273.     BASS_MusicLoad
  1274.     BASS_SampleLoad
  1275.     BASS_StreamCreateFile
  1276. * Global music/sample/stream volume levels
  1277.     BASS_SetGlobalVolumes
  1278.     BASS_GetGlobalVolumes
  1279. * Other new function
  1280.     BASS_SampleStop
  1281. * New synchronizer
  1282.     BASS_SYNC_END
  1283. * New sample overrider
  1284.     BASS_SAMPLE_OVER_DIST
  1285. * LoadLibrary/GetProcAddress instructions and example
  1286.  
  1287. 0.5 - 4/7/1999
  1288. --------------
  1289. * Documentation!
  1290. * File streaming (MP3 and WAV)
  1291.     BASS_StreamCreateFile
  1292. * Custom generated samples
  1293.     BASS_SampleCreate
  1294.     BASS_SampleCreateDone
  1295. * Other new function
  1296.     BASS_MusicSetPositionScaler
  1297. * Renamed function
  1298.     BASS_ChannelClearSync -> BASS_ChannelRemoveSync
  1299. * Alterations made to
  1300.     BASS_ChannelGetPosition
  1301.     BASS_SampleLoad
  1302.     BASS_StreamPlay
  1303.  
  1304. 0.4 - 30/3/1999
  1305. ---------------
  1306. * Compressed WAV samples support (using audio CODECs)
  1307. * Updated CD volume handling - now works with SB Live
  1308. * More linear channel volume/pan scales (were slightly off before)
  1309. * "no sound" device option
  1310. * 3D sound functions
  1311.     BASS_Set3DFactors
  1312.     BASS_Get3DFactors
  1313.     BASS_Set3DPosition
  1314.     BASS_Get3DPosition
  1315.     BASS_Apply3D
  1316.     BASS_SamplePlay3D
  1317.     BASS_SamplePlay3DEx
  1318.     BASS_ChannelSet3DAttributes
  1319.     BASS_ChannelGet3DAttributes
  1320.     BASS_ChannelSet3DPosition
  1321.     BASS_ChannelGet3DPosition
  1322. * EAX functions
  1323.     BASS_SetEAXParameters
  1324.     BASS_GetEAXParameters
  1325.     BASS_ChannelSetEAXMix
  1326.     BASS_ChannelGetEAXMix
  1327. * Other new functions
  1328.     BASS_GetDeviceDescription
  1329.     BASS_SetBufferLen
  1330.     BASS_ChannelGetFlags
  1331.     BASS_ChannelPause
  1332.     BASS_ChannelResume
  1333.     BASS_ChannelSetPosition
  1334. * Replaced function
  1335.     BASS_CDResume -> BASS_ChannelResume
  1336. * Alterations made to
  1337.     BASS_Init
  1338.     BASS_CDInit
  1339.     BASS_SampleLoad
  1340.     BASS_StreamPlay
  1341.     BASS_INFO structure
  1342.     BASS_SAMPLE structure
  1343.     BASS_DEVICE_xxx flags
  1344.     BASS_SAMPLE_xxx flags
  1345.  
  1346. 0.3 - 8/3/1999
  1347. --------------
  1348. * Synchronization functions
  1349.     BASS_ChannelSetSync
  1350.     BASS_ChannelClearSync
  1351. * Other new functions
  1352.     BASS_GetVersion
  1353.     BASS_ChannelGetPosition
  1354.     BASS_ChannelGetLevel
  1355.     BASS_ChannelGetAttributes
  1356.     BASS_ChannelSetAttributes
  1357. * Replaced functions
  1358.     BASS_MusicStop -> BASS_ChannelStop
  1359.     BASS_MusicSetVolume -> BASS_ChannelSetAttributes
  1360.     BASS_CDStop -> BASS_ChannelStop
  1361.     BASS_CDSetVolume -> BASS_ChannelSetAttributes
  1362.     BASS_CDGetVolume -> BASS_ChannelGetAttributes
  1363.     BASS_ChannelUpdate -> BASS_ChannelSetAttributes
  1364. * Alterations made to
  1365.     BASS_MusicPlayEx
  1366.     BASS_StreamPlay
  1367.     BASS_INFO structure
  1368.  
  1369. 0.2 - 28/2/1999
  1370. ---------------
  1371. * First public release
  1372.  
  1373.  
  1374. Credits - API/Sample Contributors
  1375. =================================
  1376. Visual Basic - Adam Hoult, Hendrik Knaepen, Arthur Aminov,
  1377.                Peter Hebels
  1378. Delphi - Titus Miloi, Rogier Timmermans, Alessandro Cappellozza,
  1379.          Jesse Naranjo
  1380. MASM - Octavian Chis
  1381.  
  1382. CHMOX is (c)2004 StΘphane Boisson, http://chmox.sourceforge.net/
  1383.  
  1384.  
  1385. Bug reports, Suggestions, Comments, Enquiries, etc...
  1386. =====================================================
  1387. If you have any of the aforementioned please see the BASS forum (at
  1388. the website). If you can't find an answer there, you can email:
  1389.  
  1390.         bass@un4seen.com
  1391.  
  1392.