summaryrefslogtreecommitdiffstats
path: root/Alc/midi
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Add a cast to silence an MSVC warningChris Robinson2014-05-041-2/+3
|
* Trace skipped info sub-chunksChris Robinson2014-05-041-0/+2
|
* Use ALuint for the amount to skipChris Robinson2014-05-041-1/+1
|
* Add a GCC-specific STATIC_UPCAST macro that checks the object typeChris Robinson2014-04-191-1/+1
| | | | | The check is compile time, and is functionally identical to the old/alternate version.
* Add a VECTOR_INSERT method to insert a range of elements at onceChris Robinson2014-04-091-10/+6
|
* Fix a NULL deref when cloning a 0-sized vectorChris Robinson2014-04-091-6/+11
|
* Remove setState from the MidiSynth vtableChris Robinson2014-03-234-11/+0
|
* Add some integer casts, and a range checkChris Robinson2014-03-231-1/+1
|
* Add a stub 'soft' MIDI synth handlerChris Robinson2014-03-222-0/+143
| | | | | Eventually this one will be used to handle MIDI internally, using our own mixers and resamplers.
* Use a void* for the MidiSynth Delete method paramChris Robinson2014-03-223-18/+9
|
* Avoid a size_t-to-ALuint conversion warningChris Robinson2014-03-211-1/+1
|
* Increase the vector reserve as needed when pushing in new itemsChris Robinson2014-03-211-19/+8
|
* Rename the vector's Max field to CapacityChris Robinson2014-03-211-8/+8
|
* Use vectors for the GenModListChris Robinson2014-03-211-166/+98
|
* Add an explicit cast to make Windows happyChris Robinson2014-02-261-2/+2
|
* Slightly shorten a long lineChris Robinson2014-02-021-1/+1
|
* Rework MIDI clock timingChris Robinson2014-02-024-123/+62
| | | | | | 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.
* Use nanosecond resolution for MIDIChris Robinson2014-02-011-2/+2
| | | | | This makes the MIDI clock use the same resolution as the device clock and source latency and the device clock.
* Properly fill the SF2 sample buffer on big endianChris Robinson2014-02-011-1/+1
|
* Fix an infinite loop when loading SF2 samples on big endian machinesChris Robinson2014-02-011-2/+5
|
* Check and trace INFO properties when reading themChris Robinson2014-01-191-3/+9
|
* Check for 0-sized sf2 structure arraysChris Robinson2014-01-171-18/+18
|
* Remove redundancy in a couple error messagesChris Robinson2014-01-171-2/+2
|
* Put the version and irom storage into the Soundfont structChris Robinson2014-01-171-13/+18
|
* Fix a couple warning messages to show the correct instrument IDChris Robinson2014-01-171-8/+8
|
* Partially handle the irom sub-chunkChris Robinson2014-01-171-3/+30
| | | | Reject soundfonts that have ROM sample types without a valid irom sub-chunk.
* Better handle original key and overriding root keyChris Robinson2014-01-171-3/+10
|
* Rename aftertouch to keypressureChris Robinson2014-01-172-3/+3
|
* 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-152-13/+41
| | | | | | 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-152-13/+30
| | | | And make sure the loop mode is properly translated for FluidSynth.
* Use the 64-bit clamp method when getting the MIDI clock timeChris Robinson2014-01-151-1/+1
|
* Don't reset presets when loading/unloading soundfontsChris Robinson2014-01-131-2/+2
|
* Be more thorough when converting sf2 modulator propertiesChris Robinson2014-01-131-30/+58
|
* Use FluidSynth enums when handling generatorsChris Robinson2014-01-131-74/+78
|
* Add a method to get the current MIDI stateChris Robinson2014-01-122-0/+2
|
* Don't break with an override root key generator value of -1Chris Robinson2014-01-061-1/+1
| | | | An accidental hold-over from when it was using a switch.
* Load soundfont modulators into FluidSynthChris Robinson2014-01-061-1/+101
|
* Add methods to get and set modulator properties on fontsoundsChris Robinson2014-01-051-1/+52
|
* Move some soundfont methods to ALsoundfontChris Robinson2014-01-052-95/+1
|
* Allow "deleting" the default soundfontChris Robinson2014-01-042-0/+50
| | | | | The ID remains valid and the soundfont will be reloaded as needed, but this provides a way for the application to clear up the soundfont memory.
* Trace preset, instrument, and sample names with invalid key and velocity rangesChris Robinson2014-01-041-8/+8
|
* Don't create presets that don't have any usable soundsChris Robinson2014-01-041-6/+5
|
* Update some trace messages to be more usefulChris Robinson2014-01-032-6/+7
|
* Allow selecting the default soundfont using ID 0Chris Robinson2014-01-034-11/+58
|
* Remove an unused methodChris Robinson2014-01-032-13/+0
|
* Move ALsoundfont methods to the right source fileChris Robinson2014-01-031-38/+0
|
* Avoid using alFontsoundiSOFT when loading a soundfontChris Robinson2014-01-031-3/+3
| | | | This should now make the soundfont loader thread-safe.