(no need to copy any files to windows/system32 or lib folders on Linux)
This is for Windows the final version now !
The Linux version is compiled with console debug infos !
Download binary release: fbsound-1.2.zip last upload from: Oct 21, 2020
Download source code: fbsound-1.2-src.zip last upload from: Oct 21, 2020
The zip file is for Window and Linux 32 and 64-bit !
On Windows 32-bit you need only:
fbsound-32.dll and fbsound-mm-32.dll
On Windows 64-bit you need only:
fbsound-64.dll and fbsound-mm-64.dll
On Linux 32-bit you need only:
libfbsound-32.so and libfbsound-alsa-32.so
On Linux 64-bit you need only:
libfbsound-64.so and libfbsound-alsa-64.so
Ofcourse the include file "fbsound_dynamic.bi" on all systems :-)
Test all examples from /tests folder and report any problems please !
On Linux dylibfree() makes sometimes trouble i'm working on it (that is an old known FreeBASIC problem)
Joshy
EDIT: How to compile fbsound 1.2 !
You have to extract both zip files: fbsound-1.2.zip and fbsound-1.2-src.zip
result on Windows:
ANY_DRIVE:\SAME_PATH\fbsound-1.2\
ANY_DRIVE:\SAME_PATH\fbsound-1.2-src\
result on Linux:
$HOME/fbsound-1.2/
$HOME/fbsound-1.2-src/
First before you execute any buildlib script from fbsound-1.2-src folder
edit the script (*.bat or *.sh) and set the right path's !
for example on my win64 box I have fbc for 32-bit and 64-bit in the same folder but with different names !
d:\FreeBASIC\fbc32.exe
d:\FreeBASIC\fbc64.exe
On Linux before you can execute any buildlib*.sh script you must make it executable.
cd fbsound-1.2-src
chmod +x ./bildlib-32.sh
or
chmod +x ./bildlib-64.sh
On both Windows and Linux the results of the build process from "fbsound-1.2-src" folder are stored in: "fbsound-1.2/tests"
Why building fbsound-1.2 self ? "The question of the day :-)"
Imagine you create a demo or a complete game and you like to publish it for Windows and Linux both 32/64-bit.
For example if your game used only *.wav files you can edit the file: "fbsound-1.2-src/inc/fbstypes.bi" and disable all other file formats.
Code: Select all
' disable some features and rebuild the lib
#define NO_MP3
#define NO_OGG
#define NO_MOD
#define NO_SID
copy the uncommented defines or edit the same defines in "/fbsound-1.2/inc/fbsound-dynamic.bi"
Code: Select all
' # fbsound_dynamic.bi #
#define NO_MP3 ' no MP3 sound and stream
#define NO_OOG ' no Vorbis sound
#define NO_MOD ' no tracker modules
#define NO_SID ' no SID stream
"/fbsound-1.2-src/inc/fbstypes.bi"
and
"/fbsound-1.2/inc/fbsound-dynamic.bi"
Same for other options: NO_DSP NO_PLUG_DS NO_PLUG_MM NO_PLUG_ARTS NO_PLUG_DSP
Remember any changes you made in file: fbsound-1.2-src/inc/fbs_types.bi must done in file: fbsound-1.2/inc/fbsound_dynamic.bi also !°
IMPORTANT IMPORTANT IMPORTANT
The Linux version used #define DEBUG and the fbc -g compiler switch.
You can remove "-g" switch in the buildlib scripts also !
EDIT: A note about fbsound-1.2 output drivers:
On Windows 32/64-bit the DirectX sound drivers are optional fbsound-ds-32.dll and fbsound-ds-64.dll and can be deleted !
(you can #define NO_PLUG_DS and recompile the lib if you like but deleting only is OK also)
On Linux 32-bit the "/dev/dsp" and ARTS server driver libfbsound-dsp-32.dll and libfbsound-arts-32.dll are optional and can be deleted !
(you can #define NO_PLUG_DSP #define NO_PLUG_ARTS and recompile the lib if you like but deleting only is OK also)
Again OPTIONAL means OPTIONAL you can delete it without to recompile the library !
If I self write a game (and I do it since last 3 month a real secret) I would prever to add a sound device selection menu.
So it's the user's choice to select a play back device and and its parameters.
something like:
(*) Windows default device
( ) DirectX device
( ) 98 KHz (*) 44 KHz ( ) 22 KHz
(*) stereo ( ) mono
...