summaryrefslogtreecommitdiff
path: root/src/drumgizmo.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2015-05-22 10:34:21 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2016-01-20 13:28:48 +0100
commit60cd3f9dc45b194198198591a7bf48e2d8afb16c (patch)
tree1f32bc03dbd42da23f5c4707f8aa9d51f1193eb3 /src/drumgizmo.h
parentfd501c7dc4042ce993b16a2d079d5b05af2ecb07 (diff)
Added framesize control mechanism to the engine, and made us of it in the cachemanager and drumkitloader.
Diffstat (limited to 'src/drumgizmo.h')
-rw-r--r--src/drumgizmo.h17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/drumgizmo.h b/src/drumgizmo.h
index f1ec546..807e1e0 100644
--- a/src/drumgizmo.h
+++ b/src/drumgizmo.h
@@ -24,8 +24,7 @@
* along with DrumGizmo; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-#ifndef __DRUMGIZMO_DRUMGIZMO_H__
-#define __DRUMGIZMO_DRUMGIZMO_H__
+#pragma once
#include <string>
#include <list>
@@ -52,6 +51,7 @@
#define MAX_NUM_CHANNELS 64
#define REFSFILE "refs.conf"
+#define RESAMPLER_INPUT_BUFFER 64
class DrumGizmo : public MessageReceiver {
public:
@@ -62,10 +62,6 @@ public:
bool init();
- /**
- * @param endpos number of samples to process, -1 := never stop.
- */
- void run(int endpos);
bool run(size_t pos, sample_t *samples, size_t nsamples);
void stop();
@@ -79,6 +75,8 @@ public:
int samplerate();
void setSamplerate(int samplerate);
+ void setFrameSize(size_t framesize);
+
private:
DrumKitLoader loader;
@@ -92,14 +90,13 @@ private:
CHResampler resampler[MAX_NUM_CHANNELS];
sample_t resampler_output_buffer[MAX_NUM_CHANNELS][4096];
- sample_t resampler_input_buffer[MAX_NUM_CHANNELS][64];
+ sample_t resampler_input_buffer[MAX_NUM_CHANNELS][RESAMPLER_INPUT_BUFFER];
std::map<std::string, AudioFile *> audiofiles;
CacheManager cacheManager;
DrumKit kit;
-};
-
-#endif/*__DRUMGIZMO_DRUMGIZMO_H__*/
+ size_t framesize;
+};