view projects/airharp/Plectrum.h @ 188:c706be7daad7

Fixed misbehaviour of GPIO when -C2: the GPIO buffer was being processed at double sampling rate and so for the second part of the buffer, it was just processing zeros. Closes #1532.
author Giulio Moro <giuliomoro@yahoo.it>
date Wed, 20 Jan 2016 15:35:48 +0000
parents 40badaff5729
children
line wrap: on
line source
/*
 *
 * Plectrum model for touching and plucking strings
 *
 * [inspired by E. Berdahl's pluck~ abstraction for the FireFader]
 *
 */

#ifndef PLECTRUM_H_
#define PLECTRUM_H_

class Plectrum
{

public:

	Plectrum();
	void setup(float spring, float damp, float hyst);
	float update(float position, float stringPosition);

private:

	double _dt;
	float _spring;
	float _damp;
	double _position;
	double _velocity;
	float _hyst;
	float _lastDistance;
	int _contact;

};

#endif