Module: Bass

Defined in:
lib/sgl/bass-api.rb,
lib/sgl/bass.rb

Overview

Copyright © 2004-2007 Kouichirou Eto, All rights reserved. License: Ruby License

Defined Under Namespace

Classes: BassLib

Constant Summary collapse

BASS_OK =

Define result codes.

0
BASS_ERROR_MEM =

all is OK

1
BASS_ERROR_FILEOPEN =

memory error

2
BASS_ERROR_DRIVER =

can’t open the file

3
BASS_ERROR_BUFLOST =

can’t find a free/valid driver

4
BASS_ERROR_HANDLE =

the sample buffer was lost - please report this!

5
BASS_ERROR_FORMAT =

invalid handle

6
BASS_ERROR_POSITION =

unsupported format

7
BASS_ERROR_INIT =

invalid playback position

8
BASS_ERROR_START =

BASS_Init has not been successfully called

9
BASS_ERROR_INITCD =

BASS_Start has not been successfully called

10
BASS_ERROR_CDINIT =

can’t initialize CD

11
BASS_ERROR_NOCD =

BASS_CDInit has not been successfully called

12
BASS_ERROR_CDTRACK =

no CD in drive

13
BASS_ERROR_ALREADY =

can’t play the selected CD track

14
BASS_ERROR_CDVOL =

already initialized

15
BASS_ERROR_NOPAUSE =

CD has no volume control

16
BASS_ERROR_NOTAUDIO =

not paused

17
BASS_ERROR_NOCHAN =

not an audio track

18
BASS_ERROR_ILLTYPE =

can’t get a free channel

19
BASS_ERROR_ILLPARAM =

an illegal type was specified

20
BASS_ERROR_NO3D =

an illegal parameter was specified

21
BASS_ERROR_NOEAX =

no 3D support

22
BASS_ERROR_DEVICE =

no EAX support

23
BASS_ERROR_NOPLAY =

illegal device number

24
BASS_ERROR_FREQ =

not playing

25
BASS_ERROR_NOA3D =

illegal sample rate

26
BASS_ERROR_NOTFILE =

A3D.DLL is not installed

27
BASS_ERROR_NOHW =

the stream is not a file stream (WAV/MP3/MP2/MP1/OGG)

29
BASS_ERROR_NOSYNC =

no hardware voices available

30
BASS_ERROR_EMPTY =

synchronizers have been disabled

31
BASS_ERROR_NONET =

the MOD music has no sequence data

32
BASS_ERROR_CREATE =

no internet connection could be opened

33
BASS_ERROR_NOFX =

couldn’t create the file

34
BASS_ERROR_PLAYING =

effects are not enabled

35
BASS_ERROR_NOOGG =

the channel is playing

36
BASS_ERROR_UNKNOWN =

OGG.DLL/VORBIS.DLL could not be loaded

-1	# some other mystery error
BASS_DEVICE_8BITS =

Device setup flags

1
BASS_DEVICE_MONO =

use 8 bit resolution, else 16 bit

2
BASS_DEVICE_3D =

use mono, else stereo

4
BASS_DEVICE_A3D =

If the BASS_DEVICE_3D flag is not specified when initilizing BASS, then the 3D flags (BASS_SAMPLE_3D and BASS_MUSIC_3D) are ignored when loading/creating a sample/stream/music.

8
BASS_DEVICE_NOSYNC =

enable A3D functionality

16
BASS_DEVICE_LEAVEVOL =

disable synchronizers

32
BASS_DEVICE_OGG =

leave the volume as it is

64
BASS_OBJECT_DS =

DirectSound interfaces (for use with BASS_GetDSoundObject)

1
BASS_OBJECT_DS3DL =

IDirectSound

2
BASS_MUSIC_RAMP =

Music flags

1
BASS_MUSIC_RAMPS =

normal ramping

2
BASS_MUSIC_LOOP =

Ramping doesn’t take a lot of extra processing and improves ‘ the sound quality by removing ’clicks’. Sensitive ramping will leave sharp attacked samples, unlike normal ramping.

4
BASS_MUSIC_FT2MOD =

loop music

16
BASS_MUSIC_PT1MOD =

play .MOD as FastTracker 2 does

32
BASS_MUSIC_MONO =

play .MOD as ProTracker 1 does

64
BASS_MUSIC_3D =

force mono mixing (less CPU usage)

128
BASS_MUSIC_POSRESET =

enable 3D functionality

256
BASS_MUSIC_SURROUND =

stop all notes when moving position

512
BASS_MUSIC_SURROUND2 =

surround sound

1024
BASS_MUSIC_STOPBACK =

surround sound (mode 2)

2048
BASS_MUSIC_FX =

stop the music on a backwards jump effect

4096
BASS_MUSIC_CALCLEN =

enable DX8 effects

8192
BASS_SAMPLE_8BITS =

calculate playback length

1
BASS_SAMPLE_MONO =

8 bit, else 16 bit

2
BASS_SAMPLE_LOOP =

mono, else stereo

4
BASS_SAMPLE_3D =

looped

8
BASS_SAMPLE_SOFTWARE =

3D functionality enabled

16
BASS_SAMPLE_MUTEMAX =

it’s NOT using hardware mixing’

32
BASS_SAMPLE_VAM =

muted at max distance (3D only)

64
BASS_SAMPLE_FX =

uses the DX7 voice allocation & management

128
BASS_SAMPLE_OVER_VOL =

the DX8 effects are enabled

0x10000
BASS_SAMPLE_OVER_POS =

override lowest volume

0x20000
BASS_SAMPLE_OVER_DIST =

override longest playing

0x30000
BASS_MP3_HALFRATE =

override furthest from listener (3D only)

0x10000
BASS_MP3_SETPOS =

reduced quality MP3/MP2/MP1 (half sample rate)

0x20000
BASS_STREAM_AUTOFREE =

enable seeking on the MP3/MP2/MP1/OGG

0x40000
BASS_STREAM_RESTRATE =

automatically free the stream when it stop/ends

0x80000
BASS_STREAM_BLOCK =

restrict the download rate of internet file streams

0x100000
BASS_CDID_IDENTITY =

download/play internet file stream (MPx/OGG) in small blocks

0
BASS_CDID_UPC =
1
BASS_GetVersion =
api('BASS_GetVersion', 'V', 'L')
BASS_GetDeviceDescription =
api('BASS_GetDeviceDescription', 'IP', 'I')
BASS_SetBufferLength =
api('BASS_SetBufferLength', 'L', 'V')
BASS_SetGlobalVolumes =
api('BASS_SetGlobalVolumes', 'III', 'V')
BASS_GetGlobalVolumes =
api('BASS_GetGlobalVolumes', 'PPP', 'V')
BASS_SetLogCurves =
api('BASS_SetLogCurves', 'II', 'V')
BASS_Set3DAlgorithm =
api('BASS_Set3DAlgorithm', 'L', 'V')
BASS_ErrorGetCode =
api('BASS_ErrorGetCode', 'V', 'I')
BASS_Init =
api('BASS_Init', 'ILLP', 'I')
BASS_Free =
api('BASS_Free', 'V', 'V')
BASS_GetDSoundObject =
api('BASS_GetDSoundObject', 'L', 'P')
BASS_GetInfo =
api('BASS_GetInfo', 'P', 'V')
BASS_GetCPU =
api('BASS_GetCPU', 'V', 'L')
BASS_Start =
api('BASS_Start', 'V', 'I')
BASS_Stop =
api('BASS_Stop', 'V', 'I')
BASS_Pause =
api('BASS_Pause', 'V', 'I')
BASS_SetVolume =
api('BASS_SetVolume', 'L', 'I')
BASS_GetVolume =
api('BASS_GetVolume', 'V', 'I')
BASS_Set3DFactors =
api('BASS_Set3DFactors', 'LLL', 'I')
BASS_Get3DFactors =
api('BASS_Get3DFactors', 'PPP', 'I')
BASS_Set3DPosition =
api('BASS_Set3DPosition', 'PPPP', 'I')
BASS_Get3DPosition =
api('BASS_Get3DPosition', 'PPPP', 'I')
BASS_Apply3D =
api('BASS_Apply3D', 'V', 'I')
BASS_SetEAXParameters =
api('BASS_SetEAXParameters', 'ILLL', 'I')
BASS_GetEAXParameters =
api('BASS_GetEAXParameters', 'PPPP', 'I')
BASS_MusicLoad =

BASS_GetA3DHFAbsorbtion = api(‘BASS_GetA3DHFAbsorbtion’, ‘P’, ‘I’)

api('BASS_MusicLoad', 'IPLLL', 'L')
BASS_MusicFree =
api('BASS_MusicFree', 'P', 'V')
BASS_MusicGetName =
api('BASS_MusicGetName', 'P', 'P')
BASS_MusicGetLength =
api('BASS_MusicGetLength', 'PI', 'L')
BASS_MusicPreBuf =
api('BASS_MusicPreBuf', 'P', 'I')
BASS_MusicPlay =
api('BASS_MusicPlay', 'P', 'I')
BASS_MusicPlayEx =
api('BASS_MusicPlayEx', 'PLII', 'I')
BASS_MusicSetAmplify =
api('BASS_MusicSetAmplify', 'PL', 'I')
BASS_MusicSetPanSep =
api('BASS_MusicSetPanSep', 'PL', 'I')
BASS_MusicSetPositionScaler =
api('BASS_MusicSetPositionScaler', 'PL', 'I')
BASS_SampleLoad =
api('BASS_SampleLoad', 'IPLLLL', 'L')
BASS_SampleCreate =
api('BASS_SampleCreate', 'LLLL', 'L')
BASS_SampleCreateDone =
api('BASS_SampleCreateDone', 'V', 'P')
BASS_SampleFree =
api('BASS_SampleFree', 'P', 'V')
BASS_SampleGetInfo =
api('BASS_SampleGetInfo', 'PP', 'I')
BASS_SampleSetInfo =
api('BASS_SampleSetInfo', 'PP', 'I')
BASS_SamplePlay =
api('BASS_SamplePlay', 'L', 'L')
BASS_SamplePlayEx =
api('BASS_SamplePlayEx', 'PLIIII', 'L')
BASS_SamplePlay3D =
api('BASS_SamplePlay3D', 'PPPP', 'P')
BASS_SamplePlay3DEx =
api('BASS_SamplePlay3DEx', 'PPPPLIII', 'P')
BASS_SampleStop =
api('BASS_SampleStop', 'P', 'I')
BASS_StreamCreate =
api('BASS_StreamCreate', 'LLPL', 'P')
BASS_StreamCreateFile =
api('BASS_StreamCreateFile', 'IPLLL', 'P')
BASS_StreamCreateURL =
api('BASS_StreamCreateURL', 'PLP', 'P')
BASS_StreamFree =
api('BASS_StreamFree', 'P', 'V')
BASS_StreamGetLength =
api('BASS_StreamGetLength', 'P', 'L')
BASS_StreamPreBuf =
api('BASS_StreamPreBuf', 'P', 'I')
BASS_StreamPlay =
api('BASS_StreamPlay', 'PIL', 'I')
BASS_StreamGetFilePosition =
api('BASS_StreamGetFilePosition', 'PL', 'L')
BASS_CDInit =
api('BASS_CDInit', 'P', 'I')
BASS_CDFree =
api('BASS_CDFree', 'V', 'V')
BASS_CDInDrive =
api('BASS_CDInDrive', 'V', 'I')
BASS_CDGetID =
api('BASS_CDGetID', 'L', 'P')
BASS_CDGetTracks =
api('BASS_CDGetTracks', 'V', 'L')
BASS_CDPlay =
api('BASS_CDPlay', 'LII', 'I')
BASS_CDGetTrackLength =
api('BASS_CDGetTrackLength', 'L', 'L')
BASS_ChannelIsActive =
api('BASS_ChannelIsActive', 'P', 'I')
BASS_ChannelGetFlags =
api('BASS_ChannelGetFlags', 'L', 'L')
BASS_ChannelStop =
api('BASS_ChannelStop', 'L', 'I')
BASS_ChannelPause =
api('BASS_ChannelPause', 'L', 'I')
BASS_ChannelResume =
api('BASS_ChannelResume', 'L', 'I')
BASS_ChannelSetAttributes =
api('BASS_ChannelSetAttributes', 'LIII', 'I')
BASS_ChannelGetAttributes =
api('BASS_ChannelGetAttributes', 'LPPP', 'I')
BASS_ChannelSet3DAttributes =
api('BASS_ChannelSet3DAttributes', 'LILLIII', 'I')
BASS_ChannelGet3DAttributes =
api('BASS_ChannelGet3DAttributes', 'LPPPPPP', 'I')
BASS_ChannelSet3DPosition =
api('BASS_ChannelSet3DPosition', 'LPPP', 'I')
BASS_ChannelGet3DPosition =
api('BASS_ChannelGet3DPosition', 'LPPP', 'I')
BASS_ChannelSetPosition =
api('BASS_ChannelSetPosition', 'LL', 'I')
BASS_ChannelGetPosition =
api('BASS_ChannelGetPosition', 'L', 'L')
BASS_ChannelGetLevel =
api('BASS_ChannelGetLevel', 'L', 'L')
BASS_ChannelGetData =
api('BASS_ChannelGetData', 'LPL', 'L')
BASS_ChannelSetSync =
api('BASS_ChannelSetSync', 'LLLPL', 'P')
BASS_ChannelRemoveSync =
api('BASS_ChannelRemoveSync', 'LP', 'I')
BASS_ChannelSetDSP =
api('BASS_ChannelSetDSP', 'LPL', 'P')
BASS_ChannelRemoveDSP =
api('BASS_ChannelRemoveDSP', 'LP', 'I')
BASS_ChannelSetFX =
api('BASS_ChannelSetFX', 'LL', 'P')
BASS_ChannelRemoveFX =
api('BASS_ChannelRemoveFX', 'LP', 'I')
BASS_ChannelSetEAXMix =
api('BASS_ChannelSetEAXMix', 'LL', 'I')
BASS_ChannelGetEAXMix =
api('BASS_ChannelGetEAXMix', 'LP', 'I')
api('BASS_ChannelSetLink', 'LL', 'I')
api('BASS_ChannelRemoveLink', 'LL', 'I')
BASS_FXSetParameters =
api('BASS_FXSetParameters', 'PP', 'I')
BASS_FXGetParameters =
api('BASS_FXGetParameters', 'PP', 'I')

Class Method Summary collapse

Class Method Details

.api(func, input, output) ⇒ Object

Load API.



105
106
107
# File 'lib/sgl/bass-api.rb', line 105

def api(func, input, output)
  return Win32API.new('bass', func, input, output)    
end