Parent Directory | Revision Log
Links to HEAD: | (view) (download) (as text) (annotate) |
Sticky Revision: |
* All engines: Active voices are now internally grouped to "Note" objects, instead of being directly assigned to a keyboard key. This allows more fine graded processing of voices, which is i.e. required for certain instrument script features. * Built-in script function "play_note()": Added support for passing special value -1 for "duration-us" argument, which will cause the triggered note to be released once the original note was released. * Bumped version (2.0.0.svn3).
* 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).
* Implemented built-in instrument script function "set_controller()". * Fixed built-in script functions "ignore_event()" and "ignore_controller()". * Added extended instrument script VM for the Gigasampler/GigaStudio format sampler engine, which extends the general instrument script VM with Giga format specific variables and functions. * Giga format instrument scripts: added built-in script int constant variables $GIG_DIM_CHANNEL, $GIG_DIM_LAYER, $GIG_DIM_VELOCITY, $GIG_DIM_AFTERTOUCH, $GIG_DIM_RELEASE, $GIG_DIM_KEYBOARD, $GIG_DIM_ROUNDROBIN, $GIG_DIM_RANDOM, $GIG_DIM_SMARTMIDI, $GIG_DIM_ROUNDROBINKEY, $GIG_DIM_MODWHEEL, $GIG_DIM_BREATH, $GIG_DIM_FOOT, $GIG_DIM_PORTAMENTOTIME, $GIG_DIM_EFFECT1, $GIG_DIM_EFFECT2, $GIG_DIM_GENPURPOSE1, $GIG_DIM_GENPURPOSE2, $GIG_DIM_GENPURPOSE3, $GIG_DIM_GENPURPOSE4, $GIG_DIM_SUSTAIN, $GIG_DIM_PORTAMENTO, $GIG_DIM_SOSTENUTO, $GIG_DIM_SOFT, $GIG_DIM_GENPURPOSE5, $GIG_DIM_GENPURPOSE6, $GIG_DIM_GENPURPOSE7, $GIG_DIM_GENPURPOSE8, $GIG_DIM_EFFECT1DEPTH, $GIG_DIM_EFFECT2DEPTH, $GIG_DIM_EFFECT3DEPTH, $GIG_DIM_EFFECT4DEPTH, $GIG_DIM_EFFECT5DEPTH. * Giga format instrument scripts: Implemented built-in script function "gig_set_dim_zone(event_id, dimension, zone)", which allows to override dimension zone(s) for new voices. * Bumped version (1.0.0.svn45).
* 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
* use different EQ effect instance for every voice
* implemented opcodes delay, delay_onccN, delay_random, delay_samples, delay_samples_onccN
* 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
* 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 random, seq_position, seq_length and volume * sfz parser: added v1 LFO opcodes (no support in engine yet)
* 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 |