aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/midi/fluidsynth.c
Commit message (Collapse)AuthorAgeFilesLines
* Load soundfont samples into an ALbufferChris Robinson2014-06-291-2/+2
| | | | | Also remove ALsoundfont's now-unneeded sample storage functions and struct fields.
* Store and use an ALbuffer for samples in an ALfontsoundChris Robinson2014-06-291-3/+5
| | | | | | | | The fontsound still maintains its own start, end, and loop offsets, so that the same buffer may be shared between multiple/all fontsounds. Ideally a single buffer should be used for all fontsounds to avoid memory fragmentation and help CPU caching, although higher quality soundfonts may need more memory than a single buffer can hold.
* Remove setState from the MidiSynth vtableChris Robinson2014-03-231-6/+0
|
* Use a void* for the MidiSynth Delete method paramChris Robinson2014-03-221-8/+3
|
* Slightly shorten a long lineChris Robinson2014-02-021-1/+1
|
* Rework MIDI clock timingChris Robinson2014-02-021-41/+31
| | | | | | It's best to avoid using doubles in the mixer since the FPU's set to single- precision mode. The new clock timing is similar to the device clock timing, and should hopefully be less prone to drift caused by fp rounding errors.
* Rename aftertouch to keypressureChris Robinson2014-01-171-2/+2
|
* Add a config option to specify the extra MIDI volume scalingChris Robinson2014-01-171-3/+17
| | | | The value specified is in decibels.
* Use a proper struct for envelope propertiesChris Robinson2014-01-171-2/+2
|
* Handle fontsound sample types using explicit enum valuesChris Robinson2014-01-151-1/+12
| | | | | | Uses AL_MONO_SOFT, AL_RIGHT_SOFT, and AL_LEFT_SOFT. "Linked" samples types aren't explicitly supported due to being under-defined in the SF2 spec, nor are ROM samples currently.
* Use ALfontsound_setPropi to set fontsound sample propertiesChris Robinson2014-01-151-1/+12
| | | | And make sure the loop mode is properly translated for FluidSynth.
* Don't reset presets when loading/unloading soundfontsChris Robinson2014-01-131-2/+2
|
* Use FluidSynth enums when handling generatorsChris Robinson2014-01-131-74/+78
|
* Load soundfont modulators into FluidSynthChris Robinson2014-01-061-1/+101
|
* Allow selecting the default soundfont using ID 0Chris Robinson2014-01-031-5/+5
|
* Force all FluidSynth sounds off when changing soundfontsChris Robinson2013-12-311-1/+6
| | | | | | | Selecting soundfonts should only happen when the MIDI engine is stopped or reset. When stopped some notes may be left in a release phase, but we need to ensure all fluid_sample_t objects are finished before unloading since the soundfont (and associated sample memory) may be deleted at any time afterward.
* Remove some unused MIDI backend methodsChris Robinson2013-12-291-42/+0
|
* Don't destroy the fluid_sfont_t if any of its samples are still playingChris Robinson2013-12-291-0/+20
| | | | | FluidSynth apparently doesn't check for this itself before calling the free callback.
* Add the last remaining "real-time" propertiesChris Robinson2013-12-291-0/+6
|
* Add chorus and reverb send propertiesChris Robinson2013-12-291-0/+2
|
* Check for negative soundfont indices getting passed to the loaderChris Robinson2013-12-291-1/+1
|
* Add pan and attenuation propertiesChris Robinson2013-12-291-0/+2
|
* Add tuning propertiesChris Robinson2013-12-291-0/+3
|
* Add filter propertiesChris Robinson2013-12-291-0/+4
|
* Add modulation envelope propertiesChris Robinson2013-12-291-0/+8
|
* Add a few more pitch propertiesChris Robinson2013-12-291-0/+3
|
* Add volume envelope propertiesChris Robinson2013-12-291-0/+8
|
* Add support for the fontsound loop modeChris Robinson2013-12-291-1/+1
|
* Allow loading multiple soundfonts with FluidSynthChris Robinson2013-12-271-21/+50
|
* Create a custom fluid_sfloader_t loaderChris Robinson2013-12-271-4/+299
| | | | | | | This allows us to load and use soundfont objects the app specifies (the first one, at least), rather than having to load from a file. It doesn't sound that good since modulators and most generators aren't yet available, but this will steadily improve.
* Add a method to set and get soundfontsChris Robinson2013-12-271-0/+1
| | | | | The main purpose of this is to select soundfonts for playback, eventually, instead of the existing method that takes a filename.
* Fix compiling without FluidSynthChris Robinson2013-12-191-5/+4
|
* Move the base MidiSynth to a separate fileChris Robinson2013-12-171-1/+2
|
* Move FluidSynth to its own fileChris Robinson2013-12-171-0/+359