diff audioio/AudioGenerator.h @ 4:5865094175ea

* 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 df5923e33d01
children 24b500216029
line wrap: on
line diff
--- a/audioio/AudioGenerator.h	Tue Jan 24 16:20:58 2006 +0000
+++ b/audioio/AudioGenerator.h	Wed Jan 25 17:46:28 2006 +0000
@@ -63,7 +63,7 @@
      * Mix a single model into an output buffer.
      */
     virtual size_t mixModel(Model *model, size_t startFrame, size_t frameCount,
-			    float **buffer);
+			    float **buffer, size_t fadeIn = 0, size_t fadeOut = 0);
 
 protected:
     ViewManager *m_viewManager;
@@ -93,11 +93,11 @@
 
     virtual size_t mixDenseTimeValueModel
     (DenseTimeValueModel *model, size_t startFrame, size_t frameCount,
-     float **buffer, float gain, float pan);
+     float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
 
     virtual size_t mixSparseOneDimensionalModel
     (SparseOneDimensionalModel *model, size_t startFrame, size_t frameCount,
-     float **buffer, float gain, float pan);
+     float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
 
     static const size_t m_pluginBlockSize;
 };