History log of /haiku/src/kits/midi/SoftSynth.cpp
Revision Date Author Comments
# 6209570e 19-Oct-2021 Augustin Cavalier <waddlesplash@gmail.com>

Replace usages of B_FILE_NOT_FOUND in public-facing APIs.

As BeOS R5 had deprecated this error code, this should in theory
not cause any particular problems.


# d6039d2b 27-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi: Remove some duplicated code
Introduced new private read/write_midi_settings() and used them
in MidiSettingsView and SoftSynth.


# 65b4405e 24-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Fixed auto selection of soundfont.
When no midi settings file was available, BSoftSynth should use the well known
TimGM6mb.sf2 soundfont. This wasn't working, since the code looked in the wrong
path (we have to append "synth" to the path returned by find_directory).
In case this SF is not present, now we try harder not to fail, and look for any
soundfont available in the system and user directories.
Fixes ticket #12325 although the selected soundfont is not written to the
user settings file.


# 437386ee 17-Mar-2015 JackBurton <stefano.ceccherini@gmail.com>

Don't check for big_synth.sy, since it shouldn't exist anymore


# 611ef141 28-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Select the soundfont from the settings file


# d3c865ec 22-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Also look for softsynth in B_SYSTEM_SETTINGS_DIRECTORY and B_SYNTH_DIRECTORY.
Note that this will probably we changed again as we introduce a setting file
to locate the softsynth.


# 1d5966ca 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Revert to Pete's original code
When you change code that you don't understand correctly... just DON'T.
Fixes a crash.


# d553b90c 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSynth/BSoftSynth: implemented GetAudio().
Patch by Pete Goodeve (modified by me, hopefully for the better and
without introducing bugs) which implements BSynth::GetAudio().


# 94bfc1f5 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: pointer style, 80 column limit


# f511367b 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth::SetInstrumentsFile(): Check if file exists.


# c0622eb3 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fix spacing


# bd68cd05 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi Kit: SoftSynth: Implement reverb (patch by Pete Goodeve)
Applied patch by Pete Goodeve which implements reverb in the soft synthesizer.


# 6cd948da 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi Kit: Actually look in /home/config/settings/synth/synth.sf2


# bee3de4d 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi Kit: Made it possible for the user to use a soundfont different
from the one supplied by default.
Since the PM move, it was not possible anymore to use a different soundfont,
since the /boot/system/data folder became read only.
Now the user has to put the soundfont (or, better, a symbolic link to it)
into /home/config/settings/synth.sf2
In the future we'll supply a preflet to select the soundfont.


# d61187a1 27-May-2011 Jérôme Duval <korli@users.berlios.de>

Patch from Pete Goodeve (ticket #7581): MIDI Pitchbend scaled wrongly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51b3623e 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fix warnings


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37446 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77f87987 06-Jul-2006 Jérôme Duval <korli@users.berlios.de>

added back previous copyright notices, they were mysteriously replaced by our own copyright notice


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2e2e542 02-Jul-2006 Jérôme Duval <korli@users.berlios.de>

fix a crash in SetVolume, fix debug build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18005 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4810cdcd 19-Jun-2006 Jérôme Duval <korli@users.berlios.de>

code style update to match ours (kind of)
license header update
minor clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2df2b984 17-Jun-2006 Jérôme Duval <korli@users.berlios.de>

clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17866 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bafde775 17-Jun-2006 Jérôme Duval <korli@users.berlios.de>

made midi server beos compatible
fix binary compatibility for several classes (I missed this before)
the soft synth loads by default /boot/beos/etc/synth/big_synth.sy (which I locally linked to a General Midi sf2 bank
tested with MidiSynth 1.6 on Haiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17864 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2af5dee4 15-Jun-2006 Jérôme Duval <korli@users.berlios.de>

minor fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17854 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 98c9e9e8 15-Jun-2006 Jérôme Duval <korli@users.berlios.de>

some fixes for dano
fix SoftSynth::PlayHandler, offset and incr are counted in samples


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17853 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3a74a24 15-Jun-2006 Jérôme Duval <korli@users.berlios.de>

an untested work in progress of BSoftSynth using fluidsynth (it's a try out and could be reverted if we feel like it)
libfluidsynth.so isn't on the image yet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17844 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d1c4420e 11-Mar-2005 mahlzeit <mahlzeit@nowhere.fake>

Added preliminary support for using TiMidity++ as softsynth.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11678 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b178e190 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Implemented BMidiSynthFile.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d1c8cf1d 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Hey Axel, I changed it to use a BPath ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7568 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6909aea 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Path to default instruments file wasn't calculated properly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7567 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fbaf754a 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Implemented the softsynth support classes and a skeleton for
the synth itself.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7565 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6039d2b239d1571ad7ad1d61aedba713c23480e 27-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi: Remove some duplicated code
Introduced new private read/write_midi_settings() and used them
in MidiSettingsView and SoftSynth.


# 65b4405eccf4d9cf1800e1ad327d0635ce044a26 24-Aug-2015 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Fixed auto selection of soundfont.
When no midi settings file was available, BSoftSynth should use the well known
TimGM6mb.sf2 soundfont. This wasn't working, since the code looked in the wrong
path (we have to append "synth" to the path returned by find_directory).
In case this SF is not present, now we try harder not to fail, and look for any
soundfont available in the system and user directories.
Fixes ticket #12325 although the selected soundfont is not written to the
user settings file.


# 437386ee10d5739f8655a85dbe132d613da7926b 17-Mar-2015 JackBurton <stefano.ceccherini@gmail.com>

Don't check for big_synth.sy, since it shouldn't exist anymore


# 611ef1414fc9147beb82e1a3dfbc8e80d6b6a8a4 28-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Select the soundfont from the settings file


# d3c865ecd8c552d1e0de66f3497bad405b4b822e 22-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Also look for softsynth in B_SYSTEM_SETTINGS_DIRECTORY and B_SYNTH_DIRECTORY.
Note that this will probably we changed again as we introduce a setting file
to locate the softsynth.


# 1d5966ca12b838e711b3951abb5dc864a495a881 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: Revert to Pete's original code
When you change code that you don't understand correctly... just DON'T.
Fixes a crash.


# d553b90c86f8d3e82a1eed956cf168cb501a3a90 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSynth/BSoftSynth: implemented GetAudio().
Patch by Pete Goodeve (modified by me, hopefully for the better and
without introducing bugs) which implements BSynth::GetAudio().


# 94bfc1f561e5349d40af906de09c50efadabbc99 21-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth: pointer style, 80 column limit


# f511367b330b856bc63995205f053e990fc16c74 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

BSoftSynth::SetInstrumentsFile(): Check if file exists.


# c0622eb3d3c52702fea95b9545af0fad5b3a8728 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fix spacing


# bd68cd0517c825742407fead7050f72c32b64443 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi Kit: SoftSynth: Implement reverb (patch by Pete Goodeve)
Applied patch by Pete Goodeve which implements reverb in the soft synthesizer.


# 6cd948da2a8c45b9e942e8d87d3361d03b8ad788 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi Kit: Actually look in /home/config/settings/synth/synth.sf2


# bee3de4dbbff09f90bfa2a67df4f9d37e60cd5ac 20-Sep-2014 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Midi Kit: Made it possible for the user to use a soundfont different
from the one supplied by default.
Since the PM move, it was not possible anymore to use a different soundfont,
since the /boot/system/data folder became read only.
Now the user has to put the soundfont (or, better, a symbolic link to it)
into /home/config/settings/synth.sf2
In the future we'll supply a preflet to select the soundfont.


# d61187a1f32b434c684a0fd03aa59bd144cb6fff 27-May-2011 Jérôme Duval <korli@users.berlios.de>

Patch from Pete Goodeve (ticket #7581): MIDI Pitchbend scaled wrongly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41777 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51b3623ee6c4cb2da48dacb524266104c14b929b 09-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fix warnings


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37446 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77f879871f89bfcd40965f6d4f2b2a529e2f9743 06-Jul-2006 Jérôme Duval <korli@users.berlios.de>

added back previous copyright notices, they were mysteriously replaced by our own copyright notice


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18046 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e2e2e542ed5ceb4d61d13ccce60f38c897c96736 02-Jul-2006 Jérôme Duval <korli@users.berlios.de>

fix a crash in SetVolume, fix debug build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18005 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4810cdcdbce34442e72600c975882c2db8c621e2 19-Jun-2006 Jérôme Duval <korli@users.berlios.de>

code style update to match ours (kind of)
license header update
minor clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17876 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2df2b9841660d917c22ff8f38f0cd32e5d2da851 17-Jun-2006 Jérôme Duval <korli@users.berlios.de>

clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17866 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bafde775b9d7acdd9a81bae995ecb8b01cba903c 17-Jun-2006 Jérôme Duval <korli@users.berlios.de>

made midi server beos compatible
fix binary compatibility for several classes (I missed this before)
the soft synth loads by default /boot/beos/etc/synth/big_synth.sy (which I locally linked to a General Midi sf2 bank
tested with MidiSynth 1.6 on Haiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17864 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2af5dee4b4c7aeb232c7769f49e3a274603eed34 15-Jun-2006 Jérôme Duval <korli@users.berlios.de>

minor fix


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17854 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 98c9e9e8978b417cabb295985c799f52adaf5ba9 15-Jun-2006 Jérôme Duval <korli@users.berlios.de>

some fixes for dano
fix SoftSynth::PlayHandler, offset and incr are counted in samples


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17853 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3a74a24bd8ff88576bdf712ad87eb557db5ae3b 15-Jun-2006 Jérôme Duval <korli@users.berlios.de>

an untested work in progress of BSoftSynth using fluidsynth (it's a try out and could be reverted if we feel like it)
libfluidsynth.so isn't on the image yet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17844 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d1c4420ee5ee34d79f6858503941467a8a12c3e5 11-Mar-2005 mahlzeit <mahlzeit@nowhere.fake>

Added preliminary support for using TiMidity++ as softsynth.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11678 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b178e1905ba0487583b40817d9a54f0fe2fd1a71 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Implemented BMidiSynthFile.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d1c8cf1d2f74d4f311be9187820b7c0dd805b9be 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Hey Axel, I changed it to use a BPath ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7568 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b6909aeabafaa4dc52efacb2e03b92651633c095 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Path to default instruments file wasn't calculated properly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7567 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fbaf754a211e41db0faf0c2a5f1ed5ea9d93cd9e 13-May-2004 mahlzeit <mahlzeit@nowhere.fake>

Implemented the softsynth support classes and a skeleton for
the synth itself.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7565 a95241bf-73f2-0310-859d-f6bbb57e9c96