summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2016-06-15 07:53:25 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2016-06-15 07:54:08 +0200
commit9a0abf4a45c516b15d74ab41f8dab8348d6b00c9 (patch)
tree1e915664db627f2dd124ee08a0cebe3d6c306b3c /src
parent149d86611985b7a382994ac684d555660927e8d2 (diff)
Make sure we abide the samplerate in all input/output engines.
Diffstat (limited to 'src')
-rw-r--r--src/audioinputengine.h3
-rw-r--r--src/drumgizmo.cc4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/audioinputengine.h b/src/audioinputengine.h
index bb7131c..72fa57d 100644
--- a/src/audioinputengine.h
+++ b/src/audioinputengine.h
@@ -48,4 +48,7 @@ public:
virtual void pre() = 0;
virtual void run(size_t pos, size_t len, std::vector<event_t>& events) = 0;
virtual void post() = 0;
+
+ //! Reimplement to receive sample rate changes.
+ virtual void setSampleRate(double sample_rate) {}
};
diff --git a/src/drumgizmo.cc b/src/drumgizmo.cc
index e07b7a1..d6dc028 100644
--- a/src/drumgizmo.cc
+++ b/src/drumgizmo.cc
@@ -426,6 +426,10 @@ void DrumGizmo::setSamplerate(int samplerate)
{
DEBUG(dgeditor, "%s samplerate: %d\n", __PRETTY_FUNCTION__, samplerate);
settings.samplerate.store(samplerate);
+
+ // Notify input engine of the samplerate change.
+ ie.setSampleRate(samplerate);
+
#ifdef WITH_RESAMPLER
resamplers.setup(kit.getSamplerate(), settings.samplerate.load());