diff options
author | David Robillard <d@drobilla.net> | 2008-02-09 18:23:57 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-02-09 18:23:57 +0000 |
commit | 81f335330c209359ef1d2b3bdedc5c19790d2eba (patch) | |
tree | 2262742e60b1360ecd66bf1f5be57e4df2b53de3 /raul/Quantizer.hpp | |
parent | 43dd122ffcdb6a0b40a56777245a870e411d439c (diff) | |
download | raul-81f335330c209359ef1d2b3bdedc5c19790d2eba.tar.gz raul-81f335330c209359ef1d2b3bdedc5c19790d2eba.tar.bz2 raul-81f335330c209359ef1d2b3bdedc5c19790d2eba.zip |
Use Raul::TimeStamp (LV2 compatible typed 32:32 fixed timestamp) everywhere.
Fix initial size of Patchage messages window.
Machina disabled for now (transitioning to generic timestamps).
git-svn-id: http://svn.drobilla.net/lad/raul@1133 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'raul/Quantizer.hpp')
-rw-r--r-- | raul/Quantizer.hpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/raul/Quantizer.hpp b/raul/Quantizer.hpp index 13a5cb1..0fe9640 100644 --- a/raul/Quantizer.hpp +++ b/raul/Quantizer.hpp @@ -19,14 +19,19 @@ #define RAUL_QUANTIZER_HPP #include <cmath> +#include <raul/TimeStamp.hpp> namespace Raul { class Quantizer { public: - inline static double quantize(double q, double value) { - return (q > 0) ? lrint(value / q) * q : value; + inline static TimeStamp quantize(TimeStamp q, TimeStamp t) { + assert(q.unit() == t.unit()); + // FIXME: Precision problem? Should probably stay in discrete domain + const double qd = q.to_double(); + const double td = t.to_double(); + return TimeStamp(t.unit(), (qd > 0) ? lrint(td / qd) * qd : td); } }; |