/*
- Copyright (C) 2007 Paul Davis
+ Copyright (C) 2007 Paul Davis
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_stretch_h__
#define __ardour_stretch_h__
-#include <ardour/filter.h>
-#include <soundtouch/SoundTouch.h>
+#ifdef WAF_BUILD
+#include "libardour-config.h"
+#endif
-namespace ARDOUR {
+#include "ardour/filter.h"
+#include "ardour/timefx_request.h"
+
+#ifdef USE_RUBBERBAND
+
+#include "ardour/rb_effect.h"
-class AudioRegion;
+namespace ARDOUR {
-struct TimeStretchRequest : public InterThreadInfo {
- float fraction;
- bool quick_seek;
- bool antialias;
+class LIBARDOUR_API RBStretch : public RBEffect {
+ public:
+ RBStretch (ARDOUR::Session&, TimeFXRequest&);
+ ~RBStretch() {}
};
-class Stretch : public Filter {
+} /* namespace */
+
+#else
+
+#include <soundtouch/SoundTouch.h>
+
+namespace ARDOUR {
+
+class LIBARDOUR_API STStretch : public Filter {
public:
- Stretch (ARDOUR::Session&, TimeStretchRequest&);
- ~Stretch ();
+ STStretch (ARDOUR::Session&, TimeFXRequest&);
+ ~STStretch ();
int run (boost::shared_ptr<ARDOUR::Region>);
private:
- TimeStretchRequest& tsr;
- soundtouch::SoundTouch st;
+ TimeFXRequest& tsr;
+ soundtouch::SoundTouch st;
};
} /* namespace */
+#endif
+
#endif /* __ardour_stretch_h__ */