13
0

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

View File

@ -1476,20 +1476,23 @@ Session::locations_changed ()
void
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
for all the locations that the Session takes an interest in.
*/
{
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);
}
}
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.
*/
loop_update_connections.drop_connections ();
mark_update_connections.drop_connections ();
skip_update_connections.drop_connections ();
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