mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-11 00:56:33 +01:00
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:
parent
c33d0ad760
commit
50ee09e80f
3 changed files with 39 additions and 7 deletions
|
|
@ -85,6 +85,7 @@ class AutomationList : public StateManager
|
||||||
iterator add (double when, double value, iterator, bool ignore_mode = false);
|
iterator add (double when, double value, iterator, bool ignore_mode = false);
|
||||||
void add (double when, double value, bool for_loading = 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_range (double start, double end);
|
||||||
void erase (iterator);
|
void erase (iterator);
|
||||||
void erase (iterator, iterator);
|
void erase (iterator, iterator);
|
||||||
|
|
|
||||||
|
|
@ -439,6 +439,42 @@ AutomationList::erase (AutomationList::iterator start, AutomationList::iterator
|
||||||
maybe_signal_changed ();
|
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
|
void
|
||||||
AutomationList::erase_range (double start, double endt)
|
AutomationList::erase_range (double start, double endt)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1887,11 +1887,6 @@ Session::add_route (Route* route)
|
||||||
_control_out = route;
|
_control_out = route;
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioTrack* at = dynamic_cast<AudioTrack*>(route);
|
|
||||||
if (at && at->mode() == Destructive) {
|
|
||||||
destructive_index++;
|
|
||||||
}
|
|
||||||
|
|
||||||
set_dirty();
|
set_dirty();
|
||||||
save_state (_current_snapshot_name);
|
save_state (_current_snapshot_name);
|
||||||
|
|
||||||
|
|
@ -2801,8 +2796,8 @@ Session::audio_path_from_name (string name, uint32_t nchan, uint32_t chan, bool
|
||||||
/* find a "version" of the file name that doesn't exist in
|
/* find a "version" of the file name that doesn't exist in
|
||||||
any of the possible directories.
|
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;
|
vector<space_and_path>::iterator i;
|
||||||
uint32_t existing = 0;
|
uint32_t existing = 0;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue