Add support (in our MSVC projects) for using 'boost::atomic'
[ardour.git] / libs / ardour / element_importer.cc
index af8dd770dadfbf9812a836ce3869327902b9d469..ace517f0709893951752b1f16aa3c26c65f26856 100644 (file)
 
 */
 
-#include <ardour/element_importer.h>
+#include "ardour/element_importer.h"
 
 #include <sstream>
 #include <iomanip>
 
-#include <pbd/convert.h>
-#include <ardour/session.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) : 
+ElementImporter::ElementImporter (XMLTree const & source, ARDOUR::Session & session) :
   source (source),
   session(session),
   _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 ()
 {
-       cancel_move ();
 }
 
 void
@@ -79,7 +73,7 @@ ElementImporter::cancel_move ()
 }
 
 string
-ElementImporter::smpte_to_string(SMPTE::Time & time) const
+ElementImporter::timecode_to_string(Timecode::Time & time) const
 {
        std::ostringstream oss;
        oss << std::setfill('0') << std::right <<
@@ -91,23 +85,23 @@ ElementImporter::smpte_to_string(SMPTE::Time & time) const
          time.seconds << ":" <<
          std::setw(2) <<
          time.frames;
-       
+
        return oss.str();
 }
 
-nframes_t
-ElementImporter::rate_convert_samples (nframes_t samples) const
+samplecnt_t
+ElementImporter::rate_convert_samples (samplecnt_t samples) const
 {
-       if (sample_rate == session.frame_rate()) {
+       if (sample_rate == session.sample_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<samplecnt_t> (samples * (static_cast<double> (session.nominal_sample_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)));
 }