comparison base/View.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 73d85d19919f
children f67ddc287bc3
comparison
equal deleted inserted replaced
9:73d85d19919f 10:ec6886f0e673
190 190
191 protected: 191 protected:
192 View(QWidget *, bool showProgress); 192 View(QWidget *, bool showProgress);
193 virtual void paintEvent(QPaintEvent *e); 193 virtual void paintEvent(QPaintEvent *e);
194 virtual void drawSelections(QPainter &); 194 virtual void drawSelections(QPainter &);
195 virtual bool shouldLabelSelections() const { return true; }
195 196
196 typedef std::vector<Layer *> LayerList; 197 typedef std::vector<Layer *> LayerList;
197 198
198 size_t getModelsStartFrame() const; 199 size_t getModelsStartFrame() const;
199 size_t getModelsEndFrame() const; 200 size_t getModelsEndFrame() const;
203 LayerList getNonScrollableFrontLayers(bool &changed) const; 204 LayerList getNonScrollableFrontLayers(bool &changed) const;
204 size_t getZoomConstraintBlockSize(size_t blockSize, 205 size_t getZoomConstraintBlockSize(size_t blockSize,
205 ZoomConstraint::RoundingDirection dir = 206 ZoomConstraint::RoundingDirection dir =
206 ZoomConstraint::RoundNearest) const; 207 ZoomConstraint::RoundNearest) const;
207 208
208 void setCentreFrame(size_t f, bool e); 209 bool setCentreFrame(size_t f, bool doEmit);
209 210
210 void checkProgress(void *object); 211 void checkProgress(void *object);
211 212
212 size_t m_centreFrame; 213 size_t m_centreFrame;
213 int m_zoomLevel; 214 int m_zoomLevel;