set + store signal chain latency for all processors; DiskWriter sets its capture_offs...
[ardour.git] / libs / ardour / element_importer.cc
index c02b841ea7081d292fc422eb3da1224e3f53e23c..811880e44c8cd1f7479f7dbf95b1bd3ab8af01fa 100644 (file)
 #include <sstream>
 #include <iomanip>
 
-#include "pbd/convert.h"
+#include "pbd/string_convert.h"
 #include "ardour/session.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace PBD;
 using namespace ARDOUR;
 
-sigc::signal <std::pair<bool, string>, string, string> ElementImporter::Rename;
-sigc::signal <bool, string> ElementImporter::Prompt;
+Signal2<std::pair<bool, string>,string, string> ElementImporter::Rename;
+Signal1 <bool,string> ElementImporter::Prompt;
 
 ElementImporter::ElementImporter (XMLTree const & source, ARDOUR::Session & session) :
   source (source),
@@ -41,13 +41,7 @@ ElementImporter::ElementImporter (XMLTree const & source, ARDOUR::Session & sess
   _queued (false),
   _broken (false)
 {
-       // Get samplerate
-       XMLProperty *prop;
-       prop = source.root()->property ("sample-rate");
-       if (prop) {
-               std::istringstream iss (prop->value());
-               iss >> sample_rate;
-       }
+       source.root()->get_property ("sample-rate", sample_rate);
 }
 
 ElementImporter::~ElementImporter ()
@@ -95,19 +89,19 @@ ElementImporter::timecode_to_string(Timecode::Time & time) const
        return oss.str();
 }
 
-nframes_t
-ElementImporter::rate_convert_samples (nframes_t samples) const
+framecnt_t
+ElementImporter::rate_convert_samples (framecnt_t samples) const
 {
        if (sample_rate == session.frame_rate()) {
                return samples;
        }
 
        // +0.5 for proper rounding
-       return static_cast<nframes_t> (samples * (static_cast<double> (session.nominal_frame_rate()) / sample_rate) + 0.5);
+       return static_cast<framecnt_t> (samples * (static_cast<double> (session.nominal_frame_rate()) / sample_rate) + 0.5);
 }
 
 string
 ElementImporter::rate_convert_samples (string const & samples) const
 {
-       return to_string (rate_convert_samples (atoi (samples)), std::dec);
+       return to_string (rate_convert_samples (string_to<uint32_t>(samples)));
 }