deferred updating in waveform views

Upload: bruno-carvalho

Post on 08-Mar-2016

215 views

Category:

Documents


0 download

DESCRIPTION

Deferred Updating in Waveform ViewsAbleton Live 9

TRANSCRIPT

  • if encoder didn't had the focus

    if scrollAndZoomNeedsUpdate was false

    if encoder has the focus

    if scrollAndZoomNeedsUpdate is true

    if deferUpdates is false and __needsUpdate is true

    function calls or bindings in orange are only called depending on the previous state the application was in (e.g. claimFocus() isn't called when the encoder that was turned had already the focus)

    Behavior.FocusStack Util.DeferState

    Widget.TimelineView.timeAxisBehavior.EncoderFocus Widget.WaveformView Widget.Indicator.FlagMarkerUtil.DeferredTimeToPixelConverterBehavior.AutoScrollBehavior.AutoZoomBehavior.SimplerFocusBehavior Behavior.TimelineScrollAndZoomBeahvior.FocusAction

    Actor

    ViewModel.SimplerViewModel.Root.displaySignals

    __needsUpdate = false

    __update()

    __needsUpdate = true

    __needsUpdate = true

    __needsUpdate = true

    __update()

    using scrollAndZoomNeedsUpdate

    deferUpdates = truedeferUpdates = true

    deferUpdates = truedeferUpdates = true

    deferUpdates = falsedeferUpdates = false

    update rangeOfInterest

    update pointOfInterest

    scrollAndZoomNeedsUpdate = true

    scrollAndZoomNeedsUpdate = true

    receiveFocus()

    using pointOfInterest & rangeOfInterest

    using pointOfInterest & rangeOfInterest

    claimFocus()

    update rangeOfInterest

    update pointOfInterest

    tryUpdate()

    deferUpdates = true

    onVisibleRangeChanged

    onVisibleRangeChanged

    onPosChanged

    scrollAndZoomNeedsUpdate = false

    update timeAxistranslateTo()

    update timeAxiszoomBy()

    onTimeValueChanged

    update()

    update()

    newFrame()onNewFrame()

    deferUpdates = truescrollAndZoomNeedsUpdate = true

    on__EncoderValueChangedturn encoder