BASSASIO 1.3 Copyright (c) 2005-2014 Un4seen Developments Ltd. All rights reserved. Files that you should have found in the BASSASIO package ======================================================== BASSASIO.TXT This file BASSASIO.DLL BASSASIO module BASSASIO.CHM BASSASIO documentation X64\ BASSASIO.DLL 64-bit BASSASIO module C\ C/C++ API and examples... BASSASIO.H BASSASIO C/C++ header file BASSASIO.LIB BASSASIO import library BASSASIO.DSW Visual C++ 6 workspace for examples BASSASIO.SLN Visual C++ 2005 (and above) workspace for examples MAKEFILE Makefile for all examples X64\ BASSASIO.LIB 64-bit BASSASIO import library CONTEST\ ASIO version of the BASS console example CONTEST.C CONTEST.DSP CONTEST.VCPROJ MAKEFILE DSDTEST\ DSD playback example DSDTEST.C DSDTEST.DSP DSDTEST.VCPROJ MAKEFILE DSPTEST\ ASIO version of the BASS DSP example DSPTEST.C DSPTEST.RC DSPTEST.DSP DSPTEST.VCPROJ MAKEFILE LIST\ Lists ASIO devices LIST.C LIST.DSP LIST.VCPROJ MAKEFILE LIVEFX\ ASIO version of the BASS full-duplex example LIVEFX.C LIVEFX.RC LIVEFX.DSP LIVEFX.VCPROJ MAKEFILE MULTI\ ASIO version of the BASS multiple device example MULTI.C MULTI.RC MULTI.DSP MULTI.VCPROJ MAKEFILE RECTEST\ ASIO version of the BASS recording example RECTEST.C RECTEST.RC RECTEST.DSP RECTEST.VCPROJ MAKEFILE SPEAKERS\ ASIO version of the BASS multi-speaker example SPEAKERS.C SPEAKERS.RC SPEAKERS.DSP SPEAKERS.VCPROJ MAKEFILE SYNTH\ ASIO version of the BASS synth example SYNTH.C SYNTH.DSP SYNTH.VCPROJ MAKEFILE BIN\ Precompiled examples CONTEST.EXE DSDTEST.EXE DSPTEST.EXE LIST.EXE LIVEFX.EXE MULTI.EXE RECTEST.EXE SPEAKERS.EXE SYNTH.EXE DELPHI\ Delphi API and examples... BASSASIO.PAS BASSASIO Delphi unit CONTEST\ Console example CONTEST.DPR DSPTEST\ DSP example DSPTEST.DPR MAINFORM.PAS MAINFORM.DFM LIVEFX\ Full-duplex example LIVEFX.DPR UNIT1.PAS UNIT1.DFM SPEAKERS\ Multi-speaker example SPEAKERS.DPR UNIT1.PAS UNIT1.DFM VB\ Visual Basic API and examples... BASSASIO.BAS BASSASIO Visual Basic module DSPTEST\ DSP example PRJDSPTEST.VBP FRMDSPTEST.FRM MODDSPTEST.BAS LIST\ List ASIO devices PRJLIST.VBP FRMLIST.FRM LIVEFX\ Full-duplex example PRJLIVEFX.VBP FRMLIVEFX.FRM MODLIVEFX.BAS MULTI\ Multiple device example PRJMULTI.VBP PRJMULTI.FRM PRJDEVICE.FRM MODMULTI.BAS NOTE: You may need to "Unblock" the BASSASIO.CHM file in its "Properties" to view it on Windows 7. The documentation can also be viewed online at the BASSASIO website. NOTE: To run the example EXEs, first you will have to copy BASSASIO.DLL into the same directory as them. You will also need BASS.DLL, which can be download from the BASS website. BASSDSD.DLL is also required by the DSDTEST example. NOTE: To build the examples, you will need to copy the BASS API into the same directory as the BASSASIO API. BASSDSD is also required by the DSDTEST example. What's the point? ================= BASSASIO is basically a wrapper for ASIO drivers, with the addition of channel joining and sample format/rate conversion. Requirements ============ BASSASIO requires a soundcard with ASIO drivers installed. It also makes use of SSE optimizations, but is fully functional without them. The BASS library is not required by BASSASIO, but BASS can of course be used for decoding purposes, to apply DSP/FX, etc. Using BASSASIO ============== C/C++, Visual Basic and Delphi APIs and example projects are provided. To use BASS with another language you will first have to convert the header file. Or you could use LoadLibrary and GetProcAddress. There is no guarantee that all future BASSASIO versions will be compatible with all previous versions, so your program should use BASS_ASIO_GetVersion to check the version that is loaded. This also means that you should put BASSASIO.DLL in the same directory as your program (not just somewhere in the path), to avoid the possibility of a wrong version being loaded. If you are updating your software from a previous BASSASIO version, then you should check the "History" section (below), to see if any of the functions that you are using have been affected by a change. To use BASSASIO with Borland C++ Builder, you'll first have to create a Borland C++ Builder import library for it. This is done by using the IMPLIB tool that comes with Borland C++ Builder. Simply execute this: IMPLIB BASSASIOBCB.LIB BASSASIO.DLL ... and then use BASSASIOBCB.LIB in your projects to import BASSASIO. To use BASSASIO with LCC-Win32, you'll first have to create a compatible import library for it. This is done by using the PEDUMP and BUILDLIB tools that come with LCC-Win32. Run these 2 commands: PEDUMP /EXP BASSASIO.LIB > BASSASIOLCC.EXP BUILDLIB BASSASIOLCC.EXP BASSASIOLCC.LIB ... and then use BASSASIOLCC.LIB in your projects to import BASSASIO. For the BASSASIO functions that return strings (char*), VB users should use the VBStrFromAnsiPtr function to convert the returned pointer into a VB string. Latest Version ============== The latest versions of BASSASIO can be found at the BASSASIO website: www.un4seen.com Licence ======= BASSASIO is free for non-commercial use. If you are a non-commercial entity (eg. an individual) and you are not making any money from your product (through sales/advertising/etc), then you can use BASSASIO in it for free. If you wish to use BASSASIO in commercial products, then please also see the next section. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, BASSASIO IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS SHALL NOT BE HELD LIABLE FOR ANY DAMAGE THAT MAY RESULT FROM THE USE OF BASSASIO. YOU USE BASSASIO ENTIRELY AT YOUR OWN RISK. Usage of BASSASIO indicates that you agree to the above conditions. ASIO is a trademark of Steinberg Media Technologies GmbH. All other trademarks and registered names contained in the BASSASIO package are the property of their respective owners. Commercial licensing -------------------- BASSASIO is available for use in your commercial products. The licence types available are as follows: SHAREWARE: Allows the usage of BASSASIO in an unlimited number of your shareware products, which must sell for no more than 40 Euros each. If you are an individual (not a corporation) making and selling your own software (and its price is within the limit), this is the licence for you. SINGLE COMMERCIAL: Allows the usage of BASSASIO in a single commercial product. UNLIMITED COMMERCIAL: Allows the usage of BASSASIO in an unlimited number of your commercial products. This licence is on a per site basis. So if your company has two sites that use BASSASIO, then two licences are required. Please note the products must be end-user products, eg. not components used by other products. These licences only cover your own software, not the publishing of other's software. If you publish other's software, its developers (or the software itself) will need to be licensed to use BASSASIO. In all cases there are no royalties to pay, and you can use future BASSASIO updates without further cost. One licence covers one person or entity and is not transferable. These licences do not allow reselling/sublicensing of BASSASIO. For example, if a product is a development system, the users of said product are not licensed to use BASSASIO in their productions; they will need their own licences. If the standard licences do not meet your requirements, or if you have any questions, please get in touch (email: firstname.lastname@example.org). Visit the BASSASIO website for the latest pricing: www.un4seen.com History ======= These are the major (and not so major) changes at each version stage. There are of course bug fixes and other little improvements made along the way too! To make upgrading simpler, all functions affected by a change to the BASS interface are listed. 1.3.1 - 17/12/2014 ------------------ * DSD support BASS_ASIO_SetDSD BASS_ASIO_FORMAT_DSD_LSB/MSB (BASS_ASIO_ChannelSetFormat formats) DSDTEST example added 1.3 - 17/4/2013 --------------- * Multiple threads for parallel ASIOPROC processing BASS_ASIO_Start * Access to an driver's "future" function BASS_ASIO_Future * Support for conversion to/from ASIO sample format 27 (32 bit data with 24 bit alignment) BASS_ASIO_ChannelSetFormat 1.2.1 - 26/9/2012 ----------------- * Checking whether a sample rate is supported BASS_ASIO_CheckRate * Level retrieval support with drivers that clear the buffers BASS_ASIO_ChannelGetLevel 1.2 - 22/3/2012 --------------- * Improved sample rate conversion (16 point) BASS_ASIO_ChannelSetRate * Custom joined channel order BASS_ASIO_JOINORDER (BASS_ASIO_Init flag) BASS_ASIO_ChannelJoin * Support for unregistered drivers BASS_ASIO_AddDevice * Unicode driver info BASS_ASIO_SetUnicode BASS_ASIO_GetDeviceInfo * Fixed level retrieval with drivers that use a single buffer BASS_ASIO_ChannelGetLevel 1.1 - 17/8/2011 --------------- * Driver host thread control BASS_ASIO_THREAD (BASS_ASIO_Init flag) BASS_ASIO_INFO (initflags member) * Detection of newly installed drivers BASS_ASIO_GetDeviceInfo * Duplicate driver entries removed from device list BASS_ASIO_GetDeviceInfo * Input resampling bug fix 1.0.1 - 23/10/2009 ------------------ * Notification of rate changes and reset requests BASS_ASIO_SetNotify * 64-bit version introduced 1.0 - 11/6/2008 --------------- * First release Bug reports, Suggestions, Comments, Enquiries, etc... ===================================================== If you have any of the aforementioned please visit the BASS forum at the website.