split up session code that uses parts of the JACK API (timebase + session event handl...
[ardour.git] / libs / ardour / ardour / importable_source.h
index a33cf567e7b79331885effe2aecb5958ace333b2..fc695d88c11a0e0a7face985ecb3989a2dc8dd90 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    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
@@ -20,8 +20,8 @@
 #ifndef __ardour_importable_source_h__
 #define __ardour_importable_source_h__
 
-#include <pbd/failed_constructor.h>
-#include <ardour/types.h>
+#include "pbd/failed_constructor.h"
+#include "ardour/types.h"
 
 namespace ARDOUR {
 
@@ -30,12 +30,15 @@ public:
        ImportableSource () {}
        virtual ~ImportableSource() {}
 
-       virtual nframes_t read (Sample* buffer, nframes_t nframes) = 0;
-       virtual float ratio() const { return 1.0f; }
-       virtual uint32_t channels() const = 0;
-       virtual nframes_t length() const = 0;
-       virtual nframes_t samplerate() const = 0;
-       virtual void      seek (nframes_t pos) = 0;
+       virtual framecnt_t read (Sample* buffer, framecnt_t nframes) = 0;
+       virtual float      ratio() const { return 1.0f; }
+       virtual uint32_t   channels() const = 0;
+       virtual framecnt_t length() const = 0;
+       virtual framecnt_t samplerate() const = 0;
+       virtual void       seek (framepos_t pos) = 0;
+       virtual framepos_t natural_position() const = 0;
+
+       virtual bool clamped_at_unity () const = 0;
 };
 
 }