/*
Copyright (C) 2007-2009 Paul Davis
- Author: Dave Robillard
+ Author: David Robillard
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifndef __ardour_quantize_h__
#define __ardour_quantize_h__
+#include "ardour/libardour_visibility.h"
#include "ardour/types.h"
#include "ardour/midi_operator.h"
namespace ARDOUR {
-class Session;
-
-class Quantize : public MidiOperator {
+class LIBARDOUR_API Quantize : public MidiOperator {
public:
- Quantize (ARDOUR::Session&, QuantizeType type,
- bool snap_start, bool snap_end,
+ Quantize (bool snap_start, bool snap_end,
double start_grid, double end_grid,
float strength, float swing, float threshold);
~Quantize ();
- Command* operator() (boost::shared_ptr<ARDOUR::MidiModel>, std::vector<Evoral::Sequence<Evoral::MusicalTime>::Notes>&);
+ Command* operator() (boost::shared_ptr<ARDOUR::MidiModel>,
+ Evoral::Beats position,
+ std::vector<Evoral::Sequence<Evoral::Beats>::Notes>&);
std::string name() const { return std::string ("quantize"); }
private:
- ARDOUR::Session& session;
bool _snap_start;
bool _snap_end;
double _start_grid;