From f03252cf884d5286e73fdf588a3992efc053f3dc Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 23 May 2016 00:05:02 +0200 Subject: possible fix or workaround[?] for pt track-name encoding --- gtk2_ardour/editor_pt_import.cc | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/editor_pt_import.cc b/gtk2_ardour/editor_pt_import.cc index 3639fcf877..23a6fd2f06 100644 --- a/gtk2_ardour/editor_pt_import.cc +++ b/gtk2_ardour/editor_pt_import.cc @@ -249,7 +249,22 @@ Editor::do_ptimport (std::string ptpath, return; } existing_track = at.back(); - existing_track->set_name (a->name); + std::string trackname; + try { + trackname = Glib::convert_with_fallback (a->name, "UTF-8", "UTF-8", "_"); + } catch (Glib::ConvertError& err) { + trackname = string_compose ("Invalid %1", a->index); + } + // TODO legalize track name (no slashes, no colons) +#if 0 // TODO -- "find_route_name" is currently private + /* generate a unique name by adding a number if needed */ + uint32_t id = 0; + if (!_session->find_route_name (trackname.c_str (), id, trackname, false)) { + fatal << _("PTImport: UINT_MAX routes? impossible!") << endmsg; + abort(); /*NOTREACHED*/ + } +#endif + existing_track->set_name (trackname); boost::shared_ptr playlist = existing_track->playlist(); boost::shared_ptr copy (RegionFactory::create (r, true)); playlist->clear_changes (); -- cgit v1.2.3