From 24aab941eb4d77e5bdf3933b11f8ce5659872b52 Mon Sep 17 00:00:00 2001 From: Sakari Bergen Date: Fri, 30 Jan 2009 11:50:24 +0000 Subject: Track import is now working. Also, IO bundle setup/creation is safer. git-svn-id: svn://localhost/ardour2/branches/3.0@4466 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/audio_track_importer.cc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'libs/ardour/audio_track_importer.cc') diff --git a/libs/ardour/audio_track_importer.cc b/libs/ardour/audio_track_importer.cc index 0f17323dc6..32b90e00dc 100644 --- a/libs/ardour/audio_track_importer.cc +++ b/libs/ardour/audio_track_importer.cc @@ -28,6 +28,7 @@ #include #include +#include #include "i18n.h" @@ -154,10 +155,6 @@ AudioTrackImporter::parse_io () return false; } - // TODO - io->remove_property ("inputs"); - io->remove_property ("outputs"); - XMLPropertyList const & props = io->properties(); for (XMLPropertyList::const_iterator it = props.begin(); it != props.end(); ++it) { @@ -172,9 +169,18 @@ AudioTrackImporter::parse_io () (*it)->set_value (id.to_s()); id_ok = true; } else if (!prop.compare("inputs")) { - // TODO Let the IO class do it's thing for now... + // TODO Handle this properly! + /* Input and output ports are counted and added empty, so that no in/output connecting function fails. */ + uint32_t num_inputs = std::count ((*it)->value().begin(), (*it)->value().end(), '{'); + std::string value; + for (uint32_t i = 0; i < num_inputs; i++) { value += "{}"; } + (*it)->set_value (value); } else if (!prop.compare("outputs")) { - // TODO Let the IO class do it's thing for now... + // TODO See comments above + uint32_t num_outputs = std::count ((*it)->value().begin(), (*it)->value().end(), '{'); + std::string value; + for (uint32_t i = 0; i < num_outputs; i++) { value += "{}"; } + (*it)->set_value (value); } else { std::cerr << string_compose (X_("AudioTrackImporter: did not recognise XML-property \"%1\""), prop) << endmsg; } -- cgit v1.2.3