1 // Copyright 2005 "Gilles Degottex"
3 // This file is part of "Music"
5 // "Music" is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation; either version 2.1 of the License, or
8 // (at your option) any later version.
10 // "Music" is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 #include "MonoQuantizer.h"
24 #include <Music/Music.h>
25 using namespace Music;
26 #include "DummyMonoQuantizer.h"
28 DummyMonoQuantizer::DummyMonoQuantizer()
33 void DummyMonoQuantizer::quantize(double freq)
35 // cerr << "DummyMonoQuantizer::quantize " << freq << endl;
37 double current_time = m_time.elapsed();
39 double current_center_freq = f2cf(freq);
42 if(m_current_center_freq==0.0)
44 if(current_center_freq>0.0)
46 m_current_center_freq = current_center_freq;
48 emit(noteStarted(m_current_center_freq, 0.0));
53 if(current_center_freq==0.0)
55 m_current_center_freq = current_center_freq;
56 emit(noteFinished(m_current_center_freq, 0.0));
58 else if(m_current_center_freq != current_center_freq)
60 emit(noteFinished(m_current_center_freq, 0.0));
61 m_current_center_freq = current_center_freq;
63 emit(noteStarted(m_current_center_freq, 0.0));
68 void DummyMonoQuantizer::reset()