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')
- BASS_ChannelSetLink =
api('BASS_ChannelSetLink', 'LL', 'I')
- BASS_ChannelRemoveLink =
api('BASS_ChannelRemoveLink', 'LL', 'I')
- BASS_FXSetParameters =
api('BASS_FXSetParameters', 'PP', 'I')
- BASS_FXGetParameters =
api('BASS_FXGetParameters', 'PP', 'I')
Class Method Summary collapse
-
.api(func, input, output) ⇒ Object
Load API.
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 |