summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/diskstream.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/ardour/diskstream.cc b/libs/ardour/diskstream.cc
index 24339ec8cc..882ca10a54 100644
--- a/libs/ardour/diskstream.cc
+++ b/libs/ardour/diskstream.cc
@@ -46,6 +46,7 @@
#include "ardour/profile.h"
#include "ardour/playlist.h"
#include "ardour/session.h"
+#include "ardour/session_playlists.h"
#include "ardour/track.h"
#include "ardour/types_convert.h"
@@ -476,8 +477,12 @@ Diskstream::set_name (const string& str)
{
if (_name != str) {
assert(playlist());
- playlist()->set_name (str);
- SessionObject::set_name(str);
+ std::string name (str);
+ while (_session.playlists->by_name (name)) {
+ name = Playlist::bump_name (name, _session);
+ }
+ playlist()->set_name (name);
+ SessionObject::set_name(name);
}
return true;
}