fix naming of destructive track audio files

git-svn-id: svn://localhost/trunk/ardour2@515 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2006-05-19 19:13:26 +00:00
parent c33d0ad760
commit 50ee09e80f
3 changed files with 39 additions and 7 deletions

View file

@ -85,6 +85,7 @@ class AutomationList : public StateManager
iterator add (double when, double value, iterator, bool ignore_mode = false);
void add (double when, double value, bool for_loading = false);
void reset_range (double start, double end);
void erase_range (double start, double end);
void erase (iterator);
void erase (iterator, iterator);

View file

@ -439,6 +439,42 @@ AutomationList::erase (AutomationList::iterator start, AutomationList::iterator
maybe_signal_changed ();
}
void
AutomationList::reset_range (double start, double endt)
{
bool reset = false;
{
LockMonitor lm (lock, __LINE__, __FILE__);
TimeComparator cmp;
ControlEvent cp (start, 0.0f);
iterator s;
iterator e;
if ((s = lower_bound (events.begin(), events.end(), &cp, cmp)) != events.end()) {
cp.when = endt;
e = upper_bound (events.begin(), events.end(), &cp, cmp);
for (iterator i = s; i != e; ++i) {
(*i)->value = default_value;
}
reset = true;
if (!no_state) {
save_state (_("removed range"));
}
mark_dirty ();
}
}
if (reset) {
maybe_signal_changed ();
}
}
void
AutomationList::erase_range (double start, double endt)
{

View file

@ -1887,11 +1887,6 @@ Session::add_route (Route* route)
_control_out = route;
}
AudioTrack* at = dynamic_cast<AudioTrack*>(route);
if (at && at->mode() == Destructive) {
destructive_index++;
}
set_dirty();
save_state (_current_snapshot_name);
@ -2802,7 +2797,7 @@ Session::audio_path_from_name (string name, uint32_t nchan, uint32_t chan, bool
any of the possible directories.
*/
for (cnt = (destructive ? destructive_index + 1 : 1); cnt <= limit; ++cnt) {
for (cnt = (destructive ? ++destructive_index : 1); cnt <= limit; ++cnt) {
vector<space_and_path>::iterator i;
uint32_t existing = 0;