From 94d33d51ee136d88a2d81bfce47efd2836e845d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20Gl=C3=B6ckner?= <cgloeckner@freenet.de>
Date: Tue, 29 Mar 2016 11:01:21 +0200
Subject: Refactored class BeatMapper

---
 src/beatmapper.cc | 76 +++++++++++++++++++++++++++++++------------------------
 src/beatmapper.h  | 22 ++++++++--------
 2 files changed, 53 insertions(+), 45 deletions(-)

(limited to 'src')

diff --git a/src/beatmapper.cc b/src/beatmapper.cc
index 78441cb..b61f0b5 100644
--- a/src/beatmapper.cc
+++ b/src/beatmapper.cc
@@ -30,48 +30,58 @@
 
 #define DEF 2.0
 
-BeatMapper::BeatMapper(Instrument *instrument)
+BeatMapper::BeatMapper(const Instrument& instrument)
+	: instrument{instrument}
+	, hist{}
+	, C{1.3}
+	, mindist{4}
+	, last{mindist}
 {
-  this->instrument = instrument;
-  for(size_t i = 0; i < HISTORY_SIZE; i++) hist[i] = DEF;
-  C = 1.3;
-  mindist = 4;
-  last = mindist;
+	for(size_t i = 0; i < HISTORY_SIZE; ++i)
+	{
+		hist[i] = DEF;
+	}
 }
 
-
-Sample *BeatMapper::map(jack_nframes_t nframes)
+Sample* BeatMapper::map(jack_nframes_t nframes)
 {
-  return NULL;
-  Sample *sample = NULL;
-  
-  jack_default_audio_sample_t *buffer;
-  buffer = (jack_default_audio_sample_t *)jack_port_get_buffer(instrument->port, nframes);
-  
-  float e = 0.0;
-  for(size_t i = 0; i < nframes; i++) {
-    e += buffer[i] * buffer[i];
-  }
+	return nullptr;
+
+	// moved the following to comment by glocke since return makes this
+	// unreachable
+	/*
+	Sample *sample = nullptr;
+
+	jack_default_audio_sample_t *buffer;
+	buffer = (jack_default_audio_sample_t
+	*)jack_port_get_buffer(instrument->port, nframes);
+
+	float e = 0.0;
+	for(size_t i = 0; i < nframes; i++) {
+	  e += buffer[i] * buffer[i];
+	}
 
-  float E = 0.0;
-  for(size_t i = 0; i < HISTORY_SIZE; i++) E += hist[i] / (float)HISTORY_SIZE;
-  if(E == 0) E = DEF; // We do not have a connection
+	float E = 0.0;
+	for(size_t i = 0; i < HISTORY_SIZE; i++) E += hist[i] / (float)HISTORY_SIZE;
+	if(E == 0) E = DEF; // We do not have a connection
 
-  //  printf("last: %d, E: %f,  e: %f - threshold: %f\n", last, E, e, 1.3 * E);
+	//  printf("last: %d, E: %f,  e: %f - threshold: %f\n", last, E, e, 1.3 *
+	E);
 
-  // Shift history and save new value
-  for(size_t i = 0; i < HISTORY_SIZE - 1; i++) hist[i] = hist[i+1];
-  hist[HISTORY_SIZE - 1] = e>DEF?e:DEF;
+	// Shift history and save new value
+	for(size_t i = 0; i < HISTORY_SIZE - 1; i++) hist[i] = hist[i+1];
+	hist[HISTORY_SIZE - 1] = e>DEF?e:DEF;
 
-  if(instrument->name == "hihat" && e > 0) printf("e: %f\n", e);
+	if(instrument->name == "hihat" && e > 0) printf("e: %f\n", e);
 
-  if(e > C * E && last > mindist) {
-    Velocity *v = instrument->getVelocity(127);
-    if(v) sample = v->getSample();
-  }
+	if(e > C * E && last > mindist) {
+	  Velocity *v = instrument->getVelocity(127);
+	  if(v) sample = v->getSample();
+	}
 
-  last++;
-  if(sample) last = 0;
+	last++;
+	if(sample) last = 0;
 
-  return sample;
+	return sample;
+	*/
 }
diff --git a/src/beatmapper.h b/src/beatmapper.h
index fde1988..405b3d6 100644
--- a/src/beatmapper.h
+++ b/src/beatmapper.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_BEATMAPPER_H__
-#define __DRUMGIZMO_BEATMAPPER_H__
+#pragma once
 
 #include <jack/jack.h>
 
@@ -36,19 +35,18 @@
 
 #define HISTORY_SIZE 200
 
-class BeatMapper {
+class BeatMapper
+{
 public:
-  BeatMapper(Instrument *instrument);
+	BeatMapper(const Instrument& instrument);
 
-  Sample *map(jack_nframes_t nframes);
+	Sample* map(jack_nframes_t nframes);
 
 private:
-  Instrument *instrument;
-  float hist[HISTORY_SIZE];
-  float C;
+	const Instrument& instrument;
+	float hist[HISTORY_SIZE];
+	float C;
 
-  size_t mindist;
-  size_t last;
+	size_t mindist;
+	size_t last;
 };
-
-#endif/*__DRUMGIZMO_BEATMAPPER_H__*/
-- 
cgit v1.2.3