- result += format(" %d", number);
- return result;
-}
-
-void Zone::add_track(Track &track)
-{
- if(!is_valid(track))
- throw logic_error("unconnected");
-
- tracks.insert(&track);
-}
-
-bool Zone::add_tracks(const TrackSet &trks)
-{
- TrackSet pending = trks;
- bool first = true;
- while(1)
- {
- bool ok = false;
- for(TrackSet::const_iterator i=pending.begin(); i!=pending.end(); ++i)
- if(is_valid(**i))
- {
- tracks.insert(*i);
- pending.erase(i);
- ok = true;
- break;
- }
-
- if(!ok)
- {
- if(first)
- throw logic_error("unconnected");
- return pending.empty();
- }
-
- first = false;
- }
+ full_name += format(" %d", number);
+ TrackChain::set_name(full_name);