I realize I'm a bit late on this particular topic, but I think a good, 
universal solution to this problem would be to set a minimum duration 
for all notes. For example, if the minimum duration is set to 20 
milliseconds, then a note duration of between 0 and 20 ms would always 
play as 20 ms. This would prevent the scenario where notes with short 
but nonzero attack values go to release stage before the note has 
reached the desired volume, and sounds that have attack phases longer 
than 20 ms (pads, cymbal rolls, sound effects that fade in) would still 
properly respond to keypress duration. This would at least be in line 
with how I'd expect a synth/sampler to behave. For other behaviors, we 
have "one shot" mode.

-~Chris


On 07/23/2017 02:37 PM, Christian Schoenebeck wrote:
> On Wednesday, July 19, 2017 13:13:26 Christian Schoenebeck wrote:
>> I see, you are right, that behavior regarding attack and decay came from
>> your side. Then I am going to make that configurable as another LS
>> extension to the gig format and leave the current behavior as default
>> behavior.
>>
>> In the end I will add 3 additional check boxes to gigedit which allow to
>> select for 1.) "attack" stage, 2.) "attack hold" stage and 3.) "decay" stage
>> whether the respective stage should be played entirely to its end on
>> note-off. That checkbox trio will be available for all 3 EGs separately
>> (amp EG, pitch EG, filter EG) as individual configuration.
> Ok, I just committed changes for those EG behavior changes to libgig,
> linuxsampler and gigedit.
>
> In gigedit there are now 5 additional checkboxes for EG1, as well as for EG2,
> which allow to configure (on dimregion level) individually whether Attack,
> Attack Hold, Decay 1, Decay 2 and Release may be cancelled.
>
> The previous EG state machine behavior is preserved as default value for those
> settings on libgig level. Which means those 5 checkboxes are all enabled by
> default.
>
> Since EG3 just has one stage (decay) it does not have any options.
>
> On libgig level a linuxsampler specific RIFF chunk is added as extension to
> the gig file format for those new EG options. However that chunk will only be
> added to the gig file if the user changed the settings differing from the
> default values.
>
> I hope I did not break anything. If I did, let me know!
>
> CU
> Christian
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Linuxsampler-devel mailing list
> Linuxsampler-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to