From 60cd3f9dc45b194198198591a7bf48e2d8afb16c Mon Sep 17 00:00:00 2001
From: Bent Bisballe Nyeng <deva@aasimon.org>
Date: Fri, 22 May 2015 10:34:21 +0200
Subject: Added framesize control mechanism to the engine, and made us of it in
 the cachemanager and drumkitloader.

---
 drumgizmo/output/alsa/alsa.cc | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'drumgizmo/output/alsa')

diff --git a/drumgizmo/output/alsa/alsa.cc b/drumgizmo/output/alsa/alsa.cc
index 71e0c3d..f9a2068 100644
--- a/drumgizmo/output/alsa/alsa.cc
+++ b/drumgizmo/output/alsa/alsa.cc
@@ -49,6 +49,7 @@ public:
   void pre(size_t size);
   void run(int channel, sample_t* data, size_t size);
   void post(size_t size);
+  size_t bufsize();
   size_t samplerate();
 
 private:
@@ -158,6 +159,11 @@ void Alsa::post(size_t size)
   snd_pcm_writei(handle, data, size);
 }
 
+size_t Alsa::bufsize()
+{
+  return frames;
+}
+
 size_t Alsa::samplerate()
 {
   return srate;
@@ -217,6 +223,12 @@ extern "C" {
     alsa->post(s);
   }
 
+  size_t bufsize(void *h)
+  {
+    Alsa *alsa = (Alsa*)h;
+    return alsa->bufsize();
+  }
+
   size_t samplerate(void *h)
   {
     Alsa *alsa = (Alsa*)h;
-- 
cgit v1.2.3