Parent Directory | Revision Log
Links to HEAD: | (view) (download) (as text) (annotate) |
Sticky Revision: |
* All engines: Implemented scheduler for delayed MIDI events and for suspended real-time instrument scripts. * Real-Time instrument scripts: Implemented support for built-in "wait()" function's "duration-us" argument, thus scripts using this function are now correctly resumed after the requested amount of microseconds. * Real-Time instrument scripts: Implemented support for built-in "play_note()" function's "duration-us" argument, thus notes triggered with this argument are now correctly released after the requested amount of microseconds. * Real-Time instrument scripts: Fixed crash which happened when trying to reference an undeclared script variable. * Real-Time instrument scripts: Script events were not cleared when engine channel was reset, potentially causing undefined behavior. * All engines: Attempt to partly fix resetting engine channels vs. resetting engine, an overall cleanup of the Reset*(), ConnectAudioDevice(), DisconnectAudioDevice() API methods would still be desirable though, because the current situation is still inconsistent and error prone. * Bumped version (2.0.0.svn2).
* fixed printf type errors (mostly in debug messages)
* Fixed crash which happened if instrument without instrument script was loaded (fixes #227). * Bumped version (1.0.0.svn55).
* RT instrument scripts: Pass/preserve polyphonic variable data from respective "note" event handler to "release" event handler. * Fixed theoretical memory leak regarding instrument scripts. * Bumped version (1.0.0.svn54).
* Fixed execution of "init" instrument script handler. * Fixed further crashes. * Bumped version (1.0.0.svn50).
* Fixed silence and another crash. * Bumped version (1.0.0.svn49).
* Implemented built-in script int array variable $KEY_DOWN. * Bumped version (1.0.0.svn48).
* Fixed crashes when exiting the sampler. * Bumped version (1.0.0.svn47).
* Fixed crash when loading an instrument script. * Fixed "init" script handler only to be executed once: when the script was loaded. * Fixed aftertouch script event which always had value zero and controller number was set to aftertouch value instead. * gig Engine: Fixed handling of "smartmidi" dimension, which was recognized as "unknown" dimension. * Fixed script function gig_set_dim_zone(): was accessing wrong event. * ls_instr_script command line tool: is now not limited to core language scripts, but can now also parse sampler format dependent instrument scripts, with the respective specific built-in script variables and functions. * ScriptVM: Fixed runtime behavior of "and" and "or" binary script expressions, which also evaluated the right hand side of the expression even if the left hand side already failed the overall expression semantic to become true. * Bumped version (1.0.0.svn46).
* ScriptVM (WIP): Built-in script function "play_note()" now returns the event ID of the triggered note. * ScriptVM (WIP): Implemented built-in script int variable $EVENT_ID. * ScriptVM (WIP): Implemented built-in script function "ignore_event()". * ScriptVM (WIP): Implemented built-in script function "ignore_controller()" (accepts one and no argument). * Bumped version (1.0.0.svn44).
* ScriptVM (WIP): Implemented execution of script event handlers "note" and "release". * ScriptVM (WIP): Implemented built-in script function "play_note()" (only two of the max. four function arguments are currently implemented yet though). * ScriptVM (WIP): Fixed incorrect handling of suspended scripts. * Bumped version (1.0.0.svn43).
* ScriptVM (WIP): started to integrate real-time instrument script support into the sampler engine implementations. The code is shared among all sampler engines, however currently only the gig file format supports storing instrument scripts (as LinuxSampler extension to the original GigaStudio 4 file format). * gig engine: Added support for loading instrument scripts from .gig files. * ScriptVM (WIP): Implemented built-in script variables %CC, $CC_NUM, $EVENT_NOTE, $EVENT_VELOCITY, $VCC_MONO_AT, $VCC_PITCH_BEND. * ScriptVM (WIP): Implemented execution of script event handler "init". * ScriptVM (WIP): Implemented execution of script event handler "controller". * Bumped version (1.0.0.svn42).
* Aftertouch: extended API to explicitly handle channel pressure and polyphonic key pressure events (so far polyphonic pressure was not supported at all, and channel pressure was rerouted as CC128 but not used so far). * Gig Engine: Fixed support for 'aftertouch' attenuation controller. * Bumped version (1.0.0.svn39).
* Immediately apply scale tuning changes to active voices. * Exposed scale tuning to C++ API (along to the already existing standard SysEx way). * Bumped version to 1.0.0.svn21
* Started to spread new C++ keyword "override" over the code base (keyword introduced with C++11 standard).
* code refactoring: added a lock guard class for exception safe mutex handling and used it everywhere appropriate
* Several fixes in JACK audio driver: - React on sample rate changes. - React on buffer size changes. - jack_port_get_buffer() was cached and called outside RT context.
* all engines: add pan CC value to instrument pan parameter before applying panning, instead of using two separate pan functions in series (#182) * sfz parser: allow -200 to 200 for pan_oncc opcode (#182) * gig engine: handle special case when pan parameter in gig file has max or min value * CoreMIDI: fixed memory deallocation error
* sfz/sf2 engine: fixed crash when using small audio fragment size
* use different EQ effect instance for every voice
* fixed crash when trying to create an effect instance with controls which min and/or max values depend on the sample rate * experimental support for per voice equalization (work in progress) * sfz engine: implemented opcodes eq1_freq, eq2_freq, eq3_freq, eq1_freqccN, eq2_freqccN, eq3_freqccN, eq1_bw, eq2_bw, eq3_bw, eq1_bwccN, eq2_bwccN, eq3_bwccN, eq1_gain, eq2_gain, eq3_gain, eq1_gainccN, eq2_gainccN, eq3_gainccN
* sfz engine: use common pool of CC objects to minimize RAM usage
* bugfix: playing a note while changing the instrument could cause a crash, or give "Handing back unknown region" error messages
* fixed crash when deleting a sampler channel or changing engine type while an instrument load was in progress
* implemented Roland GS NRPN 1ArrH which allows to set volume per note * implemented Roland GS NRPN 1CrrH which allows to set pan per note * implemented Roland GS NRPN 1DrrH which allows to set reverb send per note (in this implementation of the sampler its simply hard routed to the 1st effect send of the sampler channel, no matter what the actual effect type is) * implemented Roland GS NRPN 1ErrH which allows to set chorus send per note (in this implementation of the sampler its simply hard routed to the 2nd effect send of the sampler channel, no matter what the actual effect type is) * bumped version to 1.0.0cvs4
* sfz engine: added support for controller triggered regions (on_locc/on_hicc) * sfz engine: added support for loop_mode=one_shot
* sfz engine: improved support for exclusive groups (group, off_by and off_mode) * minor valgrind fixes
* sfz engine: added support for v2 multiple stage envelope generators * sfz engine: added a fine-tuned v1 envelope generator instead of using the one from the gig engine
* gig engine: implemented the "round robin keyboard" dimension * gig engine: fixed round robin and random dimensions for cases when number of dimension zones is not a power of two * gig engine: made round robin use a counter for each region instead of each key * fixed building with libgig installed in a non-standard directory
* sfz engine: support for exclusive groups * sf2 engine: support for exclusive groups * sf2 engine: manage presets only * sf2 engine: preset regions are now taken into account
* Refactoring: moved the independent code from gig::Voice to base classes * SoundFont format engine: implemented EG1 & EG2
* Refactoring: moved the independent code from the Gigasampler format engine to base classes * SFZ format engine: experimental code (not usable yet) * SoundFont format engine: experimental code (not usable yet) * Fixed crash which may occur when MIDI key + transpose is out of range
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC |