comparison 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
comparison
equal deleted inserted replaced
3:75c3ea1c3a32 4:5865094175ea
61 61
62 /** 62 /**
63 * Mix a single model into an output buffer. 63 * Mix a single model into an output buffer.
64 */ 64 */
65 virtual size_t mixModel(Model *model, size_t startFrame, size_t frameCount, 65 virtual size_t mixModel(Model *model, size_t startFrame, size_t frameCount,
66 float **buffer); 66 float **buffer, size_t fadeIn = 0, size_t fadeOut = 0);
67 67
68 protected: 68 protected:
69 ViewManager *m_viewManager; 69 ViewManager *m_viewManager;
70 size_t m_sourceSampleRate; 70 size_t m_sourceSampleRate;
71 size_t m_targetChannelCount; 71 size_t m_targetChannelCount;
91 PluginMap m_synthMap; 91 PluginMap m_synthMap;
92 NoteOffMap m_noteOffs; 92 NoteOffMap m_noteOffs;
93 93
94 virtual size_t mixDenseTimeValueModel 94 virtual size_t mixDenseTimeValueModel
95 (DenseTimeValueModel *model, size_t startFrame, size_t frameCount, 95 (DenseTimeValueModel *model, size_t startFrame, size_t frameCount,
96 float **buffer, float gain, float pan); 96 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
97 97
98 virtual size_t mixSparseOneDimensionalModel 98 virtual size_t mixSparseOneDimensionalModel
99 (SparseOneDimensionalModel *model, size_t startFrame, size_t frameCount, 99 (SparseOneDimensionalModel *model, size_t startFrame, size_t frameCount,
100 float **buffer, float gain, float pan); 100 float **buffer, float gain, float pan, size_t fadeIn, size_t fadeOut);
101 101
102 static const size_t m_pluginBlockSize; 102 static const size_t m_pluginBlockSize;
103 }; 103 };
104 104
105 #endif 105 #endif