Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Don't allow soundfonts with existing presets in alLoadSoundfontSOFT | Chris Robinson | 2014-01-01 | 1 | -0/+5 |
| | |||||
* | Pass the ALsoundfont object to loadSf2, rather than its ID | Chris Robinson | 2014-01-01 | 1 | -1/+28 |
| | |||||
* | Remove explicit locking from alMidiSoundfontvSOFT. | Chris Robinson | 2013-12-29 | 1 | -2/+0 |
| | | | | The MIDI backend can lock as it needs. | ||||
* | Update soundfont selection functions | Chris Robinson | 2013-12-29 | 1 | -25/+3 |
| | | | | | A filename is no longer specified, and alMidiSoundfontsSOFT is renamed to alMidiSoundfontvSOFT. | ||||
* | Lock the device while selecting soundfonts | Chris Robinson | 2013-12-29 | 1 | -0/+2 |
| | |||||
* | Add alLoadSoundfontSOFT to load a soundfont via callback | Chris Robinson | 2013-12-28 | 1 | -0/+10 |
| | | | | | | | | | | | | | | | | | | | | | Some hefty caveats: This function is not thread-safe. In particular, the current context affecting the thread must not be changed, and the provided soundfont must not be altered while the function is executing. Ideally, this will be fixed. Error handling is poor. Some RIFF structure errors may not be caught (e.g. sub- chunks with sizes greater than the parent chunk allows for), and generated AL errors are ignored, possibly leading to resource leaks in certain situations. These should be fixed in time. There is minimal error checking on the provided soundfont ID. It does not ensure a valid ID has been provided, nor does it ensure the provided soundfont can be modified. These short-comings should be fixed eventually. Proper cleanup is the responsibility of the caller. The caller must get the preset objects from the soundfont before deleting it, and the fontsound objects from each preset before deleting them, to make sure all resources are properly deleted. | ||||
* | Add a method to set and get soundfonts | Chris Robinson | 2013-12-27 | 1 | -0/+32 |
| | | | | | The main purpose of this is to select soundfonts for playback, eventually, instead of the existing method that takes a filename. | ||||
* | Move the soundfont and preset extension functions to separate sources | Chris Robinson | 2013-12-19 | 1 | -253/+0 |
| | |||||
* | Add methods to create and destroy presets | Chris Robinson | 2013-12-19 | 1 | -0/+125 |
| | |||||
* | Properly initialize and cleanup the soundfont map | Chris Robinson | 2013-12-18 | 1 | -0/+21 |
| | |||||
* | Make alIsSoundfontSOFT check soundfont IDs | Chris Robinson | 2013-12-18 | 1 | -5/+4 |
| | |||||
* | Add a new ALsoundfont object type | Chris Robinson | 2013-12-18 | 1 | -0/+93 |
| | | | | | Includes a basic hierarchy for presets, instruments, samples, zones, generators, and modulators. | ||||
* | Move the base MidiSynth to a separate file | Chris Robinson | 2013-12-17 | 1 | -231/+1 |
| | |||||
* | Move the dummy MIDI handler to a separate file | Chris Robinson | 2013-12-17 | 1 | -118/+0 |
| | |||||
* | Move FluidSynth to its own file | Chris Robinson | 2013-12-17 | 1 | -334/+13 |
| | |||||
* | Make MidiSynth's methods non-static | Chris Robinson | 2013-12-17 | 1 | -50/+13 |
| | |||||
* | Render some MIDI samples even when stopped | Chris Robinson | 2013-12-15 | 1 | -3/+4 |
| | | | | | Because stopping MIDI playback puts any playing notes into release phase, they should be rendered. Ideally it could stop rendering once output goes silent. | ||||
* | Use macros for MIDI controller values | Chris Robinson | 2013-12-15 | 1 | -3/+9 |
| | |||||
* | Don't explicitly set reverb or chorus | Chris Robinson | 2013-12-13 | 1 | -2/+0 |
| | |||||
* | Add a alMidiResetSOFT method to reset the synth | Chris Robinson | 2013-12-13 | 1 | -7/+25 |
| | | | | | Playback is stopped, the queue is flushed, the clock is reset to 0, and the MIDI system is reset to power-up status. | ||||
* | Update behavior for alMidiStopSOFT | Chris Robinson | 2013-12-13 | 1 | -3/+41 |
| | | | | | | | | | alMidiStopSOFT now has the following behavior: * All pending MIDI events up to the current time are processed first, before the queue is flushed. * All channels then receive an All Notes Off event so that notes go through their release phase. Controllers are *NOT* reset. * Clock time is reset to 0, like before. | ||||
* | Fix leak if inserting a sysex event fails | Chris Robinson | 2013-12-08 | 1 | -5/+7 |
| | |||||
* | Simplify dummy synth processing loop | Chris Robinson | 2013-12-01 | 1 | -27/+15 |
| | |||||
* | Minor comment update | Chris Robinson | 2013-12-01 | 1 | -1/+1 |
| | |||||
* | Use a method to get the default soundfont filename | Chris Robinson | 2013-12-01 | 1 | -17/+19 |
| | |||||
* | Add methods to set and get the MIDI gain | Chris Robinson | 2013-11-30 | 1 | -0/+41 |
| | |||||
* | Add a method to check if a file is a soundfont | Chris Robinson | 2013-11-30 | 1 | -15/+84 |
| | |||||
* | Add a workaround for allowing GM2 bank selection with a GM2 On SysEx | Chris Robinson | 2013-11-29 | 1 | -1/+34 |
| | |||||
* | Add a method to specifying MIDI SysEx messages | Chris Robinson | 2013-11-29 | 1 | -0/+57 |
| | |||||
* | Add infrastructure for handling SysEx MIDI events | Chris Robinson | 2013-11-29 | 1 | -21/+37 |
| | |||||
* | Don't force MMA bank selection mode | Chris Robinson | 2013-11-29 | 1 | -1/+0 |
| | |||||
* | Combine duplicate soundfont loading code | Chris Robinson | 2013-11-28 | 1 | -15/+11 |
| | |||||
* | Remove an unneeded MidiSynth field | Chris Robinson | 2013-11-28 | 1 | -10/+7 |
| | |||||
* | Add a method to stop MIDI playback | Chris Robinson | 2013-11-28 | 1 | -0/+50 |
| | | | | | Unlike pausing, this resets the MIDI clock time to 0, clears the existing event queue, stops all MIDI sounds, and resets MIDI controllers. | ||||
* | Move MidiSynth locking out of the setState method | Chris Robinson | 2013-11-28 | 1 | -11/+11 |
| | |||||
* | Fix building without FluidSynth | Chris Robinson | 2013-11-28 | 1 | -18/+20 |
| | |||||
* | Add a config option for specifying the default MIDI soundfont | Chris Robinson | 2013-11-28 | 1 | -2/+2 |
| | |||||
* | Be a bit safer with MIDI state changes | Chris Robinson | 2013-11-28 | 1 | -30/+24 |
| | |||||
* | Add a method to load a soundfont | Chris Robinson | 2013-11-28 | 1 | -7/+67 |
| | |||||
* | Add an option for FLuidSynth to handle MIDI | Chris Robinson | 2013-11-28 | 1 | -5/+237 |
| | |||||
* | Start a MIDI interface extension | Chris Robinson | 2013-11-28 | 1 | -0/+61 |
| | |||||
* | Cleanups for MidiSynth | Chris Robinson | 2013-11-27 | 1 | -8/+3 |
| | | | | | Remove an unneeded field, make MidiSynth_getTime public, and properly return a 64-bit time from it. | ||||
* | Add a MidiSynth interface for devices | Chris Robinson | 2013-11-27 | 1 | -0/+96 |
| | |||||
* | Add a base MidiSynth struct | Chris Robinson | 2013-11-27 | 1 | -0/+97 |
| | |||||
* | Add a MIDI event queue | Chris Robinson | 2013-11-27 | 1 | -0/+84 |
In preparation for a MIDI extension. |