comparison base/Layer.h @ 10:ec6886f0e673

* Fix update and play limits for play-selection mode when not looping * Fix playback in loop mode when no selection -- but the GUI update for this is still wrong on the flyback * Various fixes and improvements to making selections, particularly during playback * Draw selection under non-opaque non-scrollable layers, so as to improve cacheing * Show selection limits as text when drawing selection * Allow user to find missing audio files when loading session * Cross-fade selections when in play-selection mode -- mostly. We don't cross-fade on a processing block boundary, and unfortunately with short selections the selection boundary is quite likely to coincide with a block boundary.
author Chris Cannam
date Wed, 25 Jan 2006 17:46:28 +0000
parents 214054a0d8b8
children f67ddc287bc3
comparison
equal deleted inserted replaced
9:73d85d19919f 10:ec6886f0e673
115 * scrolled safely in this way. 115 * scrolled safely in this way.
116 */ 116 */
117 virtual bool isLayerScrollable() const { return true; } 117 virtual bool isLayerScrollable() const { return true; }
118 118
119 /** 119 /**
120 * This should return true if the layer completely obscures any
121 * underlying layers. It's used to determine whether the view can
122 * safely draw any selection rectangles under the layer instead of
123 * over it, in the case where the layer is not scrollable and
124 * therefore needs to be redrawn each time (so that the selection
125 * rectangle can be cached).
126 */
127 virtual bool isLayerOpaque() const { return false; }
128
129 /**
120 * Return the proportion of background work complete in drawing 130 * Return the proportion of background work complete in drawing
121 * this view, as a percentage -- in most cases this will be the 131 * this view, as a percentage -- in most cases this will be the
122 * value returned by pointer from a call to the underlying model's 132 * value returned by pointer from a call to the underlying model's
123 * isReady(int *) call. The widget may choose to show a progress 133 * isReady(int *) call. The widget may choose to show a progress
124 * meter if it finds that this returns < 100 at any given moment. 134 * meter if it finds that this returns < 100 at any given moment.