# HG changeset patch # User Drew Perttula # Date 1465719418 0 # Node ID e479109aba21d36f471f70fd5d49f702e7118a90 # Parent ecce642680064ef34e5a56c84ca3a465d8c0a2e6 zoom adjusters now track parent element height changes Ignore-this: b3680cbd5c917edf35cc2209e68260a4 diff -r ecce64268006 -r e479109aba21 light9/web/timeline/timeline.coffee --- a/light9/web/timeline/timeline.coffee Sun Jun 12 04:23:03 2016 +0000 +++ b/light9/web/timeline/timeline.coffee Sun Jun 12 08:16:58 2016 +0000 @@ -90,7 +90,8 @@ @dia.setTimeAxis(@width(), @$.zoomed.$.audio.offsetTop, @zoomInX) @$.adjusters.updateAllCoords() - # cursor needs update when layout changes, but I don't want zoom/layout to depend on the playback time + # cursor needs update when layout changes, but I don't want + # zoom/layout to depend on the playback time setTimeout(@songTimeChanged.bind(@), 1) songTimeChanged: -> @@ -175,11 +176,10 @@ @animatedZoom(newCenter - visSeconds / 2, newCenter + visSeconds / 2, zoomAnimSec) shortcut.add "L", => - @$.adjusters.layoutCenters() + @$.adjusters.updateAllCoords() makeZoomAdjs: -> - log('makeZoomAdjs', @adjs) - yMid = @$.audio.offsetTop + @$.audio.offsetHeight / 2 + yMid = => @$.audio.offsetTop + @$.audio.offsetHeight / 2 dur = @viewState.zoomSpec.duration valForPos = (pos) => @@ -188,7 +188,7 @@ @setAdjuster('zoom-left', => new AdjustableFloatObservable({ observable: @viewState.zoomSpec.t1, getTarget: () => - $V([@fullZoomX(@viewState.zoomSpec.t1()), yMid]) + $V([@fullZoomX(@viewState.zoomSpec.t1()), yMid()]) getSuggestedTargetOffset: () => $V([-50, 0]) getValueForPos: valForPos })) @@ -196,7 +196,7 @@ @setAdjuster('zoom-right', => new AdjustableFloatObservable({ observable: @viewState.zoomSpec.t2, getTarget: () => - $V([@fullZoomX(@viewState.zoomSpec.t2()), yMid]) + $V([@fullZoomX(@viewState.zoomSpec.t2()), yMid()]) getSuggestedTargetOffset: () => $V([50, 0]) getValueForPos: valForPos })) @@ -216,7 +216,7 @@ emptyBox: true # fullzoom is not right- the sides shouldn't be able to go # offscreen - getTarget: () => $V([@fullZoomX(panObs()), yMid]) + getTarget: () => $V([@fullZoomX(panObs()), yMid()]) getSuggestedTargetOffset: () => $V([0, 0]) getValueForPos: valForPos }))