Mercurial > hg > svapp
changeset 12:29b38a641d43
* Implement play mute, level and pan controls and a layer visibility control
* Handle swapping the buffers in AudioCallbackPlaySource more gracefully, so
that in many cases it can be done inaudibly. Still gets it wrong when
playing in a noncontiguous selection.
* Fix to SV file save for non-2d sparse models
* Fixes to LED button drawing and AudioDial mouse functionality
* Add progress bar for Ogg file import
* Reshuffle PropertyContainer and its subclasses so it can be a QObject
* Add layer dormancy (invisible layer permitted to free its cache space)
* Optimisations to SpectrogramLayer, removing locks when reading/writing
individual pixels in the cache (should be unnecessary there) -- there's
still an issue here as we need a lock when reading from the model in
case the model is replaced, and we don't currently have one
* Several munlock() calls to make it harder to exhaust real memory if
running in an RT mode with mlockall() active
author | Chris Cannam |
---|---|
date | Fri, 17 Feb 2006 18:04:26 +0000 |
parents | 8dc0ae8fccdd |
children | 89bb89894ad6 |
files | audioio/AudioCallbackPlaySource.cpp audioio/AudioCallbackPlaySource.h |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/audioio/AudioCallbackPlaySource.cpp Wed Feb 15 17:58:35 2006 +0000 +++ b/audioio/AudioCallbackPlaySource.cpp Fri Feb 17 18:04:26 2006 +0000 @@ -13,6 +13,7 @@ #include "base/Model.h" #include "base/ViewManager.h" +#include "base/PlayParameterRepository.h" #include "model/DenseTimeValueModel.h" #include "model/SparseOneDimensionalModel.h" #include "dsp/timestretching/IntegerTimeStretcher.h" @@ -54,6 +55,10 @@ this, SLOT(playLoopModeChanged())); connect(m_viewManager, SIGNAL(playSelectionModeChanged()), this, SLOT(playSelectionModeChanged())); + + connect(PlayParameterRepository::instance(), + SIGNAL(playParametersChanged(PlayParameters *)), + this, SLOT(playParametersChanged(PlayParameters *))); } AudioCallbackPlaySource::~AudioCallbackPlaySource() @@ -310,6 +315,12 @@ } void +AudioCallbackPlaySource::playParametersChanged(PlayParameters *params) +{ + clearRingBuffers(); +} + +void AudioCallbackPlaySource::setTargetBlockSize(size_t size) { std::cerr << "AudioCallbackPlaySource::setTargetBlockSize() -> " << size << std::endl;
--- a/audioio/AudioCallbackPlaySource.h Wed Feb 15 17:58:35 2006 +0000 +++ b/audioio/AudioCallbackPlaySource.h Fri Feb 17 18:04:26 2006 +0000 @@ -27,6 +27,7 @@ class Model; class ViewManager; class AudioGenerator; +class PlayParameters; class IntegerTimeStretcher; /** @@ -173,6 +174,7 @@ void selectionChanged(); void playLoopModeChanged(); void playSelectionModeChanged(); + void playParametersChanged(PlayParameters *); protected: ViewManager *m_viewManager;