Revert "fix indentation from previous commit and previous edits"

This reverts commit 449c9b675d.
This commit is contained in:
Paul Davis 2015-02-18 11:20:20 -05:00
parent 400148b369
commit 2067163f7a
3 changed files with 204 additions and 199 deletions

View file

@ -123,13 +123,13 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest
changes to this object changes to this object
*/ */
PBD::Signal0<void> Changed; PBD::Signal0<void> Changed;
void set_block_change_notifications (bool yn) {_block_change_notifications = yn;} void set_block_change_notifications (bool yn) {_block_change_notifications = yn;}
PBD::Signal0<void> NameChanged; PBD::Signal0<void> NameChanged;
PBD::Signal0<void> EndChanged; PBD::Signal0<void> EndChanged;
PBD::Signal0<void> StartChanged; PBD::Signal0<void> StartChanged;
PBD::Signal0<void> FlagsChanged; PBD::Signal0<void> FlagsChanged;
PBD::Signal0<void> LockChanged; PBD::Signal0<void> LockChanged;
PBD::Signal0<void> PositionLockStyleChanged; PBD::Signal0<void> PositionLockStyleChanged;
@ -158,7 +158,7 @@ class LIBARDOUR_API Location : public SessionHandleRef, public PBD::StatefulDest
PositionLockStyle _position_lock_style; PositionLockStyle _position_lock_style;
boost::shared_ptr<SceneChange> _scene_change; boost::shared_ptr<SceneChange> _scene_change;
bool _block_change_notifications; // required for group operations bool _block_change_notifications; // required for group operations
void set_mark (bool yn); void set_mark (bool yn);
bool set_flag_internal (bool yn, Flags flag); bool set_flag_internal (bool yn, Flags flag);

View file

@ -1,19 +1,19 @@
/* /*
Copyright (C) 2000 Paul Davis Copyright (C) 2000 Paul Davis
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or the Free Software Foundation; either version 2 of the License, or
(at your option) any later version. (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
@ -58,7 +58,7 @@ Location::Location (Session& s)
, _flags (Flags (0)) , _flags (Flags (0))
, _locked (false) , _locked (false)
, _position_lock_style (AudioTime) , _position_lock_style (AudioTime)
, _block_change_notifications (false) , _block_change_notifications (false)
{ {
assert (_start >= 0); assert (_start >= 0);
assert (_end >= 0); assert (_end >= 0);
@ -73,7 +73,8 @@ Location::Location (Session& s, framepos_t sample_start, framepos_t sample_end,
, _flags (bits) , _flags (bits)
, _locked (false) , _locked (false)
, _position_lock_style (s.config.get_glue_new_markers_to_bars_and_beats() ? MusicTime : AudioTime) , _position_lock_style (s.config.get_glue_new_markers_to_bars_and_beats() ? MusicTime : AudioTime)
, _block_change_notifications (false) , _block_change_notifications (false)
{ {
recompute_bbt_from_frames (); recompute_bbt_from_frames ();
@ -91,7 +92,8 @@ Location::Location (const Location& other)
, _bbt_end (other._bbt_end) , _bbt_end (other._bbt_end)
, _flags (other._flags) , _flags (other._flags)
, _position_lock_style (other._position_lock_style) , _position_lock_style (other._position_lock_style)
, _block_change_notifications (false) , _block_change_notifications (false)
{ {
/* copy is not locked even if original was */ /* copy is not locked even if original was */
@ -169,10 +171,10 @@ Location::operator= (const Location& other)
void void
Location::set_name (const std::string& str) Location::set_name (const std::string& str)
{ {
_name = str; _name = str;
name_changed (this); /* EMIT SIGNAL */ name_changed (this); /* EMIT SIGNAL */
NameChanged (); /* EMIT SIGNAL */ NameChanged (); /* EMIT SIGNAL */
} }
/** Set start position. /** Set start position.
@ -224,11 +226,11 @@ Location::set_start (framepos_t s, bool force, bool allow_bbt_recompute)
return 0; return 0;
} else if (!force) { } else if (!force) {
/* range locations must exceed a minimum duration */ /* range locations must exceed a minimum duration */
if (_end - s < Config->get_range_location_minimum()) { if (_end - s < Config->get_range_location_minimum()) {
return -1; return -1;
} }
} }
if (s != _start) { if (s != _start) {
@ -291,11 +293,11 @@ Location::set_end (framepos_t e, bool force, bool allow_bbt_recompute)
assert (_end >= 0); assert (_end >= 0);
return 0; return 0;
} else if (!force) { } else if (!force) {
/* range locations must exceed a minimum duration */ /* range locations must exceed a minimum duration */
if (e - _start < Config->get_range_location_minimum()) { if (e - _start < Config->get_range_location_minimum()) {
return -1; return -1;
} }
} }
if (e != _end) { if (e != _end) {
@ -332,8 +334,8 @@ Location::set (framepos_t s, framepos_t e, bool allow_bbt_recompute)
return -1; return -1;
} }
bool start_change = false; bool start_change = false;
bool end_change = false; bool end_change = false;
if (is_mark()) { if (is_mark()) {
@ -345,8 +347,8 @@ Location::set (framepos_t s, framepos_t e, bool allow_bbt_recompute)
recompute_bbt_from_frames (); recompute_bbt_from_frames ();
} }
start_change = true; start_change = true;
end_change = true; end_change = true;
} }
assert (_start >= 0); assert (_start >= 0);
@ -354,67 +356,67 @@ Location::set (framepos_t s, framepos_t e, bool allow_bbt_recompute)
} else { } else {
/* range locations must exceed a minimum duration */ /* range locations must exceed a minimum duration */
if (e - s < Config->get_range_location_minimum()) { if (e - s < Config->get_range_location_minimum()) {
return -1; return -1;
} }
if (s != _start) { if (s != _start) {
framepos_t const old = _start; framepos_t const old = _start;
_start = s; _start = s;
if (allow_bbt_recompute) { if (allow_bbt_recompute) {
recompute_bbt_from_frames (); recompute_bbt_from_frames ();
} }
start_change = true; start_change = true;
if (is_session_range ()) { if (is_session_range ()) {
Session::StartTimeChanged (old); /* EMIT SIGNAL */ Session::StartTimeChanged (old); /* EMIT SIGNAL */
AudioFileSource::set_header_position_offset (s); AudioFileSource::set_header_position_offset (s);
} }
} }
if (e != _end) { if (e != _end) {
framepos_t const old = _end; framepos_t const old = _end;
_end = e; _end = e;
if (allow_bbt_recompute) { if (allow_bbt_recompute) {
recompute_bbt_from_frames (); recompute_bbt_from_frames ();
} }
end_change = true; end_change = true;
if (is_session_range()) { if (is_session_range()) {
Session::EndTimeChanged (old); /* EMIT SIGNAL */ Session::EndTimeChanged (old); /* EMIT SIGNAL */
} }
} }
assert (_end >= 0); assert (_end >= 0);
} }
if (start_change) { if (start_change) {
start_changed(this); /* EMIT SIGNAL */ start_changed(this); /* EMIT SIGNAL */
StartChanged(); /* EMIT SIGNAL */ StartChanged(); /* EMIT SIGNAL */
} }
if (end_change) { if (end_change) {
end_changed(this); /* EMIT SIGNAL */ end_changed(this); /* EMIT SIGNAL */
EndChanged(); /* EMIT SIGNAL */ EndChanged(); /* EMIT SIGNAL */
} }
if (start_change && end_change) { if (start_change && end_change) {
changed (this); changed (this);
if (!_block_change_notifications) { if (!_block_change_notifications) {
Changed (); Changed ();
} }
} }
return 0; return 0;
} }
int int
@ -433,11 +435,11 @@ Location::move_to (framepos_t pos)
_end = _start + length(); _end = _start + length();
recompute_bbt_from_frames (); recompute_bbt_from_frames ();
changed (this); /* EMIT SIGNAL */ changed (this); /* EMIT SIGNAL */
if (!_block_change_notifications) { if (!_block_change_notifications) {
Changed (); /* EMIT SIGNAL */ Changed (); /* EMIT SIGNAL */
} }
} }
assert (_start >= 0); assert (_start >= 0);
@ -450,8 +452,8 @@ void
Location::set_hidden (bool yn, void*) Location::set_hidden (bool yn, void*)
{ {
if (set_flag_internal (yn, IsHidden)) { if (set_flag_internal (yn, IsHidden)) {
flags_changed (this); /* EMIT SIGNAL */ flags_changed (this); /* EMIT SIGNAL */
FlagsChanged (); FlagsChanged ();
} }
} }
@ -467,40 +469,40 @@ Location::set_cd (bool yn, void*)
} }
if (set_flag_internal (yn, IsCDMarker)) { if (set_flag_internal (yn, IsCDMarker)) {
flags_changed (this); /* EMIT SIGNAL */ flags_changed (this); /* EMIT SIGNAL */
FlagsChanged (); FlagsChanged ();
} }
} }
void void
Location::set_is_range_marker (bool yn, void*) Location::set_is_range_marker (bool yn, void*)
{ {
if (set_flag_internal (yn, IsRangeMarker)) { if (set_flag_internal (yn, IsRangeMarker)) {
flags_changed (this); flags_changed (this);
FlagsChanged (); /* EMIT SIGNAL */ FlagsChanged (); /* EMIT SIGNAL */
} }
} }
void void
Location::set_skip (bool yn) Location::set_skip (bool yn)
{ {
if (is_range_marker() && length() > 0) { if (is_range_marker() && length() > 0) {
if (set_flag_internal (yn, IsSkip)) { if (set_flag_internal (yn, IsSkip)) {
flags_changed (this); flags_changed (this);
FlagsChanged (); FlagsChanged ();
} }
} }
} }
void void
Location::set_skipping (bool yn) Location::set_skipping (bool yn)
{ {
if (is_range_marker() && is_skip() && length() > 0) { if (is_range_marker() && is_skip() && length() > 0) {
if (set_flag_internal (yn, IsSkipping)) { if (set_flag_internal (yn, IsSkipping)) {
flags_changed (this); flags_changed (this);
FlagsChanged (); FlagsChanged ();
} }
} }
} }
void void
@ -511,8 +513,8 @@ Location::set_auto_punch (bool yn, void*)
} }
if (set_flag_internal (yn, IsAutoPunch)) { if (set_flag_internal (yn, IsAutoPunch)) {
flags_changed (this); /* EMIT SIGNAL */ flags_changed (this); /* EMIT SIGNAL */
FlagsChanged (); /* EMIT SIGNAL */ FlagsChanged (); /* EMIT SIGNAL */
} }
} }
@ -524,8 +526,8 @@ Location::set_auto_loop (bool yn, void*)
} }
if (set_flag_internal (yn, IsAutoLoop)) { if (set_flag_internal (yn, IsAutoLoop)) {
flags_changed (this); /* EMIT SIGNAL */ flags_changed (this); /* EMIT SIGNAL */
FlagsChanged (); /* EMIT SIGNAL */ FlagsChanged (); /* EMIT SIGNAL */
} }
} }
@ -634,22 +636,22 @@ Location::set_state (const XMLNode& node, int version)
return -1; return -1;
} }
/* can't use set_start() here, because _end /* can't use set_start() here, because _end
may make the value of _start illegal. may make the value of _start illegal.
*/ */
sscanf (prop->value().c_str(), "%" PRId64, &_start); sscanf (prop->value().c_str(), "%" PRId64, &_start);
if ((prop = node.property ("end")) == 0) { if ((prop = node.property ("end")) == 0) {
error << _("XML node for Location has no end information") << endmsg; error << _("XML node for Location has no end information") << endmsg;
return -1; return -1;
} }
sscanf (prop->value().c_str(), "%" PRId64, &_end); sscanf (prop->value().c_str(), "%" PRId64, &_end);
if ((prop = node.property ("flags")) == 0) { if ((prop = node.property ("flags")) == 0) {
error << _("XML node for Location has no flags information") << endmsg; error << _("XML node for Location has no flags information") << endmsg;
return -1; return -1;
} }
_flags = Flags (string_2_enum (prop->value(), _flags)); _flags = Flags (string_2_enum (prop->value(), _flags));
@ -662,26 +664,26 @@ Location::set_state (const XMLNode& node, int version)
for (cd_iter = cd_list.begin(); cd_iter != cd_list.end(); ++cd_iter) { for (cd_iter = cd_list.begin(); cd_iter != cd_list.end(); ++cd_iter) {
cd_node = *cd_iter; cd_node = *cd_iter;
if (cd_node->name() != "CD-Info") { if (cd_node->name() != "CD-Info") {
continue; continue;
} }
if ((prop = cd_node->property ("name")) != 0) { if ((prop = cd_node->property ("name")) != 0) {
cd_name = prop->value(); cd_name = prop->value();
} else { } else {
throw failed_constructor (); throw failed_constructor ();
} }
if ((prop = cd_node->property ("value")) != 0) { if ((prop = cd_node->property ("value")) != 0) {
cd_value = prop->value(); cd_value = prop->value();
} else { } else {
throw failed_constructor (); throw failed_constructor ();
} }
cd_info[cd_name] = cd_value; cd_info[cd_name] = cd_value;
} }
if ((prop = node.property ("position-lock-style")) != 0) { if ((prop = node.property ("position-lock-style")) != 0) {
@ -696,11 +698,11 @@ Location::set_state (const XMLNode& node, int version)
recompute_bbt_from_frames (); recompute_bbt_from_frames ();
changed (this); /* EMIT SIGNAL */ changed (this); /* EMIT SIGNAL */
if (!_block_change_notifications) { if (!_block_change_notifications) {
Changed (); /* EMIT SIGNAL */ Changed (); /* EMIT SIGNAL */
} }
assert (_start >= 0); assert (_start >= 0);
assert (_end >= 0); assert (_end >= 0);
@ -800,7 +802,7 @@ Locations::set_current (Location *loc, bool want_lock)
} }
if (ret == 0) { if (ret == 0) {
current_changed (current_location); /* EMIT SIGNAL */ current_changed (current_location); /* EMIT SIGNAL */
} }
return ret; return ret;
} }
@ -812,51 +814,51 @@ Locations::next_available_name(string& result,string base)
string::size_type l; string::size_type l;
int suffix; int suffix;
char buf[32]; char buf[32];
std::map<uint32_t,bool> taken; std::map<uint32_t,bool> taken;
uint32_t n; uint32_t n;
result = base; result = base;
l = base.length(); l = base.length();
if (!base.empty()) { if (!base.empty()) {
/* find all existing names that match "base", and store /* find all existing names that match "base", and store
the numeric part of them (if any) in the map "taken" the numeric part of them (if any) in the map "taken"
*/ */
for (i = locations.begin(); i != locations.end(); ++i) { for (i = locations.begin(); i != locations.end(); ++i) {
const string& temp ((*i)->name()); const string& temp ((*i)->name());
if (!temp.find (base,0)) { if (!temp.find (base,0)) {
if ((suffix = atoi (temp.substr(l,3))) != 0) { if ((suffix = atoi (temp.substr(l,3))) != 0) {
taken.insert (make_pair (suffix,true)); taken.insert (make_pair (suffix,true));
} }
} }
} }
} }
/* Now search for an un-used suffix to add to "base". This /* Now search for an un-used suffix to add to "base". This
will find "holes" in the numbering sequence when a location will find "holes" in the numbering sequence when a location
was deleted. was deleted.
This must start at 1, both for human-numbering reasons This must start at 1, both for human-numbering reasons
and also because the call to atoi() above would return and also because the call to atoi() above would return
zero if there is no recognizable numeric suffix, causing zero if there is no recognizable numeric suffix, causing
"base 0" not to be inserted into the "taken" map. "base 0" not to be inserted into the "taken" map.
*/ */
n = 1; n = 1;
while (n < UINT32_MAX) { while (n < UINT32_MAX) {
if (taken.find (n) == taken.end()) { if (taken.find (n) == taken.end()) {
snprintf (buf, sizeof(buf), "%d", n); snprintf (buf, sizeof(buf), "%d", n);
result += buf; result += buf;
return 1; return 1;
} }
++n; ++n;
} }
return 0; return 0;
} }
@ -957,7 +959,7 @@ Locations::clear_ranges ()
current_location = 0; current_location = 0;
} }
changed (); changed ();
current_changed (0); /* EMIT SIGNAL */ current_changed (0); /* EMIT SIGNAL */
} }
@ -978,7 +980,7 @@ Locations::add (Location *loc, bool make_current)
added (loc); /* EMIT SIGNAL */ added (loc); /* EMIT SIGNAL */
if (make_current) { if (make_current) {
current_changed (current_location); /* EMIT SIGNAL */ current_changed (current_location); /* EMIT SIGNAL */
} }
if (loc->is_session_range()) { if (loc->is_session_range()) {
@ -1020,7 +1022,7 @@ Locations::remove (Location *loc)
removed (loc); /* EMIT SIGNAL */ removed (loc); /* EMIT SIGNAL */
if (was_current) { if (was_current) {
current_changed (0); /* EMIT SIGNAL */ current_changed (0); /* EMIT SIGNAL */
} }
} }
} }
@ -1082,10 +1084,10 @@ Locations::set_state (const XMLNode& node, int version)
/* we can re-use an old Location object */ /* we can re-use an old Location object */
loc = *i; loc = *i;
// changed locations will be updated by Locations::changed signal // changed locations will be updated by Locations::changed signal
loc->set_block_change_notifications (true); loc->set_block_change_notifications (true);
loc->set_state (**niter, version); loc->set_state (**niter, version);
loc->set_block_change_notifications (false); loc->set_block_change_notifications (false);
} else { } else {
loc = new Location (_session, **niter); loc = new Location (_session, **niter);
} }
@ -1148,16 +1150,16 @@ typedef std::pair<framepos_t,Location*> LocationPair;
struct LocationStartEarlierComparison struct LocationStartEarlierComparison
{ {
bool operator() (LocationPair a, LocationPair b) { bool operator() (LocationPair a, LocationPair b) {
return a.first < b.first; return a.first < b.first;
} }
}; };
struct LocationStartLaterComparison struct LocationStartLaterComparison
{ {
bool operator() (LocationPair a, LocationPair b) { bool operator() (LocationPair a, LocationPair b) {
return a.first > b.first; return a.first > b.first;
} }
}; };
framepos_t framepos_t
@ -1366,7 +1368,7 @@ Locations::auto_punch_location () const
return const_cast<Location*> (*i); return const_cast<Location*> (*i);
} }
} }
return 0; return 0;
} }
uint32_t uint32_t
@ -1385,12 +1387,12 @@ Locations::num_range_markers () const
Location * Location *
Locations::get_location_by_id(PBD::ID id) Locations::get_location_by_id(PBD::ID id)
{ {
LocationList::iterator it; LocationList::iterator it;
for (it = locations.begin(); it != locations.end(); ++it) for (it = locations.begin(); it != locations.end(); ++it)
if (id == (*it)->id()) if (id == (*it)->id())
return *it; return *it;
return 0; return 0;
} }
void void

View file

@ -1476,20 +1476,23 @@ Session::locations_changed ()
void void
Session::_locations_changed (const Locations::LocationList& locations) Session::_locations_changed (const Locations::LocationList& locations)
{ {
/* There was some mass-change in the Locations object. /* There was some mass-change in the Locations object.
We might be re-adding a location here but it doesn't actually matter We might be re-adding a location here but it doesn't actually matter
for all the locations that the Session takes an interest in. for all the locations that the Session takes an interest in.
*/ */
loop_update_connections.drop_connections ();
{ mark_update_connections.drop_connections ();
PBD::Unwinder<bool> protect_ignore_skip_updates (_ignore_skips_updates, true); skip_update_connections.drop_connections ();
for (Locations::LocationList::const_iterator i = locations.begin(); i != locations.end(); ++i) {
location_added (*i);
}
}
update_skips (NULL, false); {
PBD::Unwinder<bool> protect_ignore_skip_updates (_ignore_skips_updates, true);
for (Locations::LocationList::const_iterator i = locations.begin(); i != locations.end(); ++i) {
location_added (*i);
}
}
update_skips (NULL, false);
} }
void void