On Wed, 21 Feb 2024 02:51:45 +0100
ichthyo <[email protected]> wrote:

>On 07.02.24 01:07, ichthyo wrote:
>> To make the current state clear:
>> * implemented: have MirrorData blocks in the UI connected properly
>> * unimplemented: trigger push update + use the data from the MirrorData 
>> block  
>
>
>Hi Will,
>
>today I was able to pick up work on this topic, now focussing on the
>aspect of state updates. While I'm still somewhat struggling to understand
>how things work together (especially since those effect arrays are more
>or less global data and accessed from a huge load of different contexts),
>it seems now that we might be able to reduce and subsume this topic under
>two generic situations:
>
>- User switches the number of the effect exposed in the UI
>- specific parameter changes concerning the presentation, eg. EQ-graphs
>
>Mostly I arrived by that conclusion by analysing/tracing out the
>EffUI::refresh() function; while this function has a huge load of
>different call paths, all seem to be rooted either at one or the
>other of these two conditions.
>

EffUI is a particularly interesting (and complex) case, as is the underlying
code. There is a lot of pointer manipulation going on under the hood and the
paths are difficult to follow. Over the years I've made a number of attempts to
simplify and clean this up, and mostly it seems to be 'two steps forward-one
step back'. The latest was making the GUI initialisation use the (now complete)
refresh function, then also taking out the duplicated calls in the individual
objects.

I discovered that quite a few of the refresh functions were incomplete when
doing the work on presets. I think they are all correct now.

-- 
Will J Godfrey



_______________________________________________
Yoshimi-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/yoshimi-devel

Reply via email to