regenerate and manually fix all PO files so that ./waf i18n doesn't generate unnecess...
[ardour.git] / libs / ardour / io.cc
index 3bbe34f825b97a31861ae90c5e0e05a9f8e54553..2931e8d23ad3a93ad76555b01c086f4bd3eb0a0f 100644 (file)
@@ -99,6 +99,9 @@ IO::~IO ()
 void
 IO::disconnect_check (boost::shared_ptr<Port> a, boost::shared_ptr<Port> b)
 {
+       if (_session.state_of_the_state () & Session::Deletion) {
+               return;
+       }
        /* this could be called from within our own ::disconnect() method(s)
           or from somewhere that operates directly on a port. so, we don't
           know for sure if we can take this lock or not. if we fail,
@@ -527,7 +530,7 @@ IO::state (bool /*full_state*/)
        char buf[64];
        string str;
        int n;
-       LocaleGuard lg (X_("C"));
+       LocaleGuard lg;
        Glib::Threads::Mutex::Lock lm (io_lock);
 
        node->add_property("name", _name);
@@ -592,9 +595,9 @@ IO::set_state (const XMLNode& node, int version)
         */
        assert (version >= 3000);
 
-       const XMLProperty* prop;
+       XMLProperty const * prop;
        XMLNodeConstIterator iter;
-       LocaleGuard lg (X_("C"));
+       LocaleGuard lg;
 
        /* force use of non-localized representation of decimal point,
           since we use it a lot in XML files and so forth.
@@ -653,9 +656,9 @@ IO::set_state (const XMLNode& node, int version)
 int
 IO::set_state_2X (const XMLNode& node, int version, bool in)
 {
-       const XMLProperty* prop;
+       XMLProperty const * prop;
        XMLNodeConstIterator iter;
-       LocaleGuard lg (X_("C"));
+       LocaleGuard lg;
 
        /* force use of non-localized representation of decimal point,
           since we use it a lot in XML files and so forth.
@@ -925,7 +928,7 @@ IO::make_connections (const XMLNode& node, int version, bool in)
                return make_connections_2X (node, version, in);
        }
 
-       const XMLProperty* prop;
+       XMLProperty const * prop;
 
        for (XMLNodeConstIterator i = node.children().begin(); i != node.children().end(); ++i) {
 
@@ -986,7 +989,7 @@ IO::prepare_for_reset (XMLNode& node, const std::string& name)
           the name of the thing we're applying it to.
        */
 
-       XMLProperty* prop;
+       XMLProperty * prop;
        XMLNodeList children = node.children();
 
        for (XMLNodeIterator i = children.begin(); i != children.end(); ++i) {
@@ -1017,7 +1020,7 @@ IO::prepare_for_reset (XMLNode& node, const std::string& name)
 int
 IO::make_connections_2X (const XMLNode& node, int /*version*/, bool in)
 {
-       const XMLProperty* prop;
+       XMLProperty const * prop;
 
        /* XXX: bundles ("connections" as was) */
 
@@ -1576,13 +1579,13 @@ IO::bundle_channel_name (uint32_t c, uint32_t n, DataType t) const
                case 2:
                        return c == 0 ? _("L") : _("R");
                default:
-                       snprintf (buf, sizeof(buf), _("%d"), (c + 1));
+                       snprintf (buf, sizeof(buf), "%d", (c + 1));
                        return buf;
                }
 
        } else {
 
-               snprintf (buf, sizeof(buf), _("%d"), (c + 1));
+               snprintf (buf, sizeof(buf), "%d", (c + 1));
                return buf;
 
        }
@@ -1593,7 +1596,7 @@ IO::bundle_channel_name (uint32_t c, uint32_t n, DataType t) const
 string
 IO::name_from_state (const XMLNode& node)
 {
-       const XMLProperty* prop;
+       XMLProperty const * prop;
 
        if ((prop = node.property ("name")) != 0) {
                return prop->value();
@@ -1672,7 +1675,7 @@ IO::connected_to (const string& str) const
  *  Caller must hold process lock.
  */
 void
-IO::process_input (boost::shared_ptr<Processor> proc, framepos_t start_frame, framepos_t end_frame, pframes_t nframes)
+IO::process_input (boost::shared_ptr<Processor> proc, framepos_t start_frame, framepos_t end_frame, double speed, pframes_t nframes)
 {
        /* don't read the data into new buffers - just use the port buffers directly */
 
@@ -1683,7 +1686,7 @@ IO::process_input (boost::shared_ptr<Processor> proc, framepos_t start_frame, fr
 
        _buffers.get_backend_port_addresses (_ports, nframes);
        if (proc) {
-               proc->run (_buffers, start_frame, end_frame, nframes, true);
+               proc->run (_buffers, start_frame, end_frame, speed, nframes, true);
        }
 }
 
@@ -1718,12 +1721,14 @@ IO::collect_input (BufferSet& bufs, pframes_t nframes, ChanCount offset)
 void
 IO::copy_to_outputs (BufferSet& bufs, DataType type, pframes_t nframes, framecnt_t offset)
 {
-       // Copy any buffers 1:1 to outputs
-
        PortSet::iterator o = _ports.begin(type);
        BufferSet::iterator i = bufs.begin(type);
        BufferSet::iterator prev = i;
 
+       assert(i != bufs.end(type)); // or second loop will crash
+
+       // Copy any buffers 1:1 to outputs
+
        while (i != bufs.end(type) && o != _ports.end (type)) {
                Buffer& port_buffer (o->get_buffer (nframes));
                port_buffer.read_from (*i, nframes, offset);