Support LV2 log trace messages
[ardour.git] / libs / ardour / ardour / element_importer.h
index 9d2d9cc0de0b47e6e466b4b5bb8f76d7e1c00139..b6d6ff71669aeaeb7edebcb3a11893d6d196ca7d 100644 (file)
 #include <string>
 #include <utility>
 
-#include <sigc++/signal.h>
-
+#include "pbd/signals.h"
+#include "ardour/libardour_visibility.h"
 #include "ardour/types.h"
-#include "ardour/session.h"
 
 class XMLTree;
 namespace ARDOUR {
 
+class Session;
+class ImportStatus;
+
 /// Virtual interface class for element importers
-class ElementImporter
+class LIBARDOUR_API ElementImporter
 {
   public:
 
@@ -51,7 +53,7 @@ class ElementImporter
        virtual std::string get_info () const = 0;
 
        /** Gets import status, if applicable. */
-       virtual Session::ImportStatus * get_import_status () { return 0; }
+       virtual ImportStatus * get_import_status () { return 0; }
 
        /** Prepares to move element
         *
@@ -71,10 +73,10 @@ class ElementImporter
        bool broken () { return _broken; }
 
        /// Signal that requests for anew name
-       static sigc::signal <std::pair<bool, std::string>, std::string, std::string> Rename;
+       static PBD::Signal2<std::pair<bool, std::string>,std::string, std::string> Rename;
 
        /// Signal for ok/cancel prompting
-       static sigc::signal <bool, std::string> Prompt;
+       static PBD::Signal1<bool,std::string> Prompt;
 
   protected:
 
@@ -108,13 +110,13 @@ class ElementImporter
        std::string  name;
 
        /// The sample rate of the session from which we are importing
-       nframes_t sample_rate;
+       framecnt_t sample_rate;
 
-       /// Converts smpte time to a string
-       std::string smpte_to_string (SMPTE::Time & time) const;
+       /// Converts timecode time to a string
+       std::string timecode_to_string (Timecode::Time & time) const;
 
        /// Converts samples so that times match the sessions sample rate
-       nframes_t rate_convert_samples (nframes_t samples) const;
+       framecnt_t rate_convert_samples (framecnt_t samples) const;
 
        /// Converts samples so that times match the sessions sample rate (for straight use in XML)
        std::string rate_convert_samples (std::string const & samples) const;