Am 25.02.22 um 15:53 schrieb Will Godfrey:
While I think the 'Type' should remain as a global setting, the rate of of cross-fade should be per part (or even per pad engine). Apart from anything
else, what I had in mind was to allow this to take up to (say) 10-20
seconds as an actual effect. e.g. increase the bandwidth to max, and the
sound slowly morphs from a pitched note to noise. Is there any other synth
capable of that?


Hi Will,

meanwhile I was able to integrate those new config settings, and they seem
to be loaded and propagated properly now. All settings can also be managed
from the CLI. The actual *crossfade* functionality is *not yet implemented*.

The GUI part required some tinkering, mostly because I am not familiar
with FLTK. And seemingly, the version of the UI designer I am using here
is a bit older and gave a warning. I used some existing settings and widgets
as a blueprint and basically copy-n-pasted the GUI code in the ConfigUI.fl
and PadnoteUI.fl files. After that, the controls looked somewhat messed up
(maybe due to opening the files with an older version of the UI designer?)
Anyway, I marked and re-aligned the controls. Since the config setting
for PADsynth wavetable building is a 3-way select now, it seemed not
appropriate to keep it on the "switches" tab, and so I tried to rearrange
it to be close to the buffer size and PADSynth interpolation settings.

For the crossfade I added a dial widget into the PADSynth UI, next to
the wavetable size dropdown. Since this might span a considerable value
range, I tried to make the dial scale logarithmic.

Hopefully I haven't messed up the UI too much....?


Then I made a first very premature attempt to implement the old-style
synchronous apply mode (which I called "mute" in the GUI). But this
first attempt does not feel quite right yet, it seems a bit contrived.
My intention was more or less to bypass the background threading stuff
and rather to do it right within the command processing; however we
need to ensure then that this command is actually always processed in
the event handling thread ("indirect transfers"), which makes matters
more complicated. At least it seems to work: according to the
STDOUT print messages, no background thread is launched in this mode
(Note: I haven't implemented a means to mute the current PADSynth,
and I didn't want to use the global part on/of control)

-- Hermann


PS: when we add the smooth crossfade, together with auto-Apply there
might be the problem that it is not clear for the user at which point
the actual build is complete and the swap is done. The build can
take a considerable time, and when the changes are subtle, it is
easy to miss the sonic change and to conclude that nothing happened
at all. Currently I am thinking that we maybe need some kind of
"dirty" indicator, possibly where the "Apply" button is right now?


_______________________________________________
Yoshimi-devel mailing list
Yoshimi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to