add display name to processors (so that it can differ from the "real name"); pay...
[ardour.git] / libs / ardour / quantize.cc
index ccbda9711a5f5f02b73bf854fd065c1936e6857f..e5f4abeccf9825c4e391010c5dd156d5fd614546 100644 (file)
 
 */
 
-#include <pbd/basename.h>
+#include "pbd/basename.h"
 
-#include <ardour/types.h>
-#include <ardour/quantize.h>
-#include <ardour/session.h>
-#include <ardour/smf_source.h>
-#include <ardour/midi_region.h>
-#include <ardour/tempo.h>
+#include "ardour/types.h"
+#include "ardour/quantize.h"
+#include "ardour/session.h"
+#include "ardour/smf_source.h"
+#include "ardour/midi_region.h"
+#include "ardour/tempo.h"
 
 #include "i18n.h"
 
@@ -62,21 +62,15 @@ Quantize::run (boost::shared_ptr<Region> r)
 
        boost::shared_ptr<MidiModel> model = src->model();
        
-       // FIXME: Model really needs to be switched to beat time (double) ASAP
-       
-       const Tempo& t = session.tempo_map().tempo_at(r->start());
-       const Meter& m = session.tempo_map().meter_at(r->start());
-
-       double q_frames = _q * (m.frames_per_bar(t, session.frame_rate()) / (double)m.beats_per_bar());
-
-       for (MidiModel::Notes::iterator i = model->notes().begin(); i != model->notes().end(); ++i) {
-               const double new_time = lrint((*i)->time() / q_frames) * q_frames;
-               double new_dur = lrint((*i)->duration() / q_frames) * q_frames;
+       for (Evoral::Sequence<MidiModel::TimeType>::Notes::iterator i = model->notes().begin();
+                       i != model->notes().end(); ++i) {
+               const double new_time = lrint((*i)->time() / _q) * _q;
+               double new_dur = lrint((*i)->length() / _q) * _q;
                if (new_dur == 0.0)
-                       new_dur = q_frames;
+                       new_dur = _q;
                
                (*i)->set_time(new_time);
-               (*i)->set_duration(new_dur);
+               (*i)->set_length(new_dur);
        }
 
        model->set_edited(true);