X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libs%2Fardour%2Fardour%2Fquantize.h;h=e1ca2b2395d2b7c5ed6035e5158bb32e3abf289d;hb=cd2047cbffc5e0270acab555364bb9d958fe7927;hp=143652dc63c9bf60c8a20ba0d42f2f4d294a16af;hpb=b0efb9f4347539279f6b4309d75fab8cb97140f4;p=ardour.git diff --git a/libs/ardour/ardour/quantize.h b/libs/ardour/ardour/quantize.h index 143652dc63..e1ca2b2395 100644 --- a/libs/ardour/ardour/quantize.h +++ b/libs/ardour/ardour/quantize.h @@ -1,6 +1,6 @@ /* - Copyright (C) 2007 Paul Davis - Author: Dave Robillard + Copyright (C) 2007-2009 Paul Davis + 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 @@ -21,19 +21,35 @@ #ifndef __ardour_quantize_h__ #define __ardour_quantize_h__ -#include +#include "ardour/types.h" +#include "ardour/midi_operator.h" namespace ARDOUR { -class Quantize : public Filter { +class Session; + +class Quantize : public MidiOperator { public: - Quantize (ARDOUR::Session&, double q); + Quantize (ARDOUR::Session&, QuantizeType type, + bool snap_start, bool snap_end, + double start_grid, double end_grid, + float strength, float swing, float threshold); ~Quantize (); - int run (boost::shared_ptr); + Command* operator() (boost::shared_ptr, + double position, + std::vector::Notes>&); + std::string name() const { return std::string ("quantize"); } private: - double _q; + ARDOUR::Session& session; + bool _snap_start; + bool _snap_end; + double _start_grid; + double _end_grid; + float _strength; + float _swing; + float _threshold; }; } /* namespace */