align stem-export (raw track outputs (with and w/p processing)
[ardour.git] / libs / ardour / tempo_map_importer.cc
index 457f8c7b536216d413024c4026b1c87674641dc1..5a6a2a4018fad57b0bf202f22ccb45bae88e314c 100644 (file)
@@ -23,9 +23,8 @@
 #include <sstream>
 
 #include "ardour/session.h"
+#include "ardour/tempo.h"
 #include "pbd/failed_constructor.h"
-#include "pbd/compose.h"
-#include "pbd/error.h"
 
 #include "i18n.h"
 
@@ -39,11 +38,11 @@ TempoMapImportHandler::TempoMapImportHandler (XMLTree const & source, Session &
 {
        XMLNode const * root = source.root();
        XMLNode const * tempo_map;
-       
+
        if (!(tempo_map = root->child (X_("TempoMap")))) {
                throw failed_constructor();
        }
-       
+
        elements.push_back (ElementPtr ( new TempoMapImporter (source, session, *tempo_map)));
 }
 
@@ -54,7 +53,7 @@ TempoMapImportHandler::get_info () const
 }
 
 /*** TempoMapImporter ***/
-TempoMapImporter::TempoMapImporter (XMLTree const & source, Session & session, XMLNode const & node) : 
+TempoMapImporter::TempoMapImporter (XMLTree const & source, Session & session, XMLNode const & node) :
   ElementImporter (source, session),
   xml_tempo_map (node)
 {
@@ -68,7 +67,7 @@ TempoMapImporter::get_info () const
        unsigned int tempos = 0;
        unsigned int meters = 0;
        XMLNodeList children = xml_tempo_map.children();
-       
+
        for (XMLNodeIterator it = children.begin(); it != children.end(); it++) {
                if ((*it)->name() == "Tempo") {
                        tempos++;
@@ -76,10 +75,10 @@ TempoMapImporter::get_info () const
                        meters++;
                }
        }
-       
+
        // return info
        oss << _("Tempo marks: ") << tempos << _("\nMeter marks: ") << meters;
-       
+
        return oss.str();
 }
 
@@ -87,8 +86,8 @@ bool
 TempoMapImporter::_prepare_move ()
 {
        // Prompt user for verification
-       bool replace = Prompt (_("This will replace the current tempo map!\nAre you shure you want to do this?"));
-       return replace;
+       boost::optional<bool> replace = Prompt (_("This will replace the current tempo map!\nAre you sure you want to do this?"));
+       return replace.get_value_or (false);
 }
 
 void
@@ -99,5 +98,5 @@ TempoMapImporter::_cancel_move ()
 void
 TempoMapImporter::_move ()
 {
-       session.tempo_map().set_state (xml_tempo_map);
+       session.tempo_map().set_state (xml_tempo_map, Stateful::current_state_version);
 }