Commit Graph

27 Commits

Author SHA1 Message Date
Robin Gareus 3de600625f
Consolidate internal bus checks (1/2) 2024-01-06 20:21:51 +01:00
Paul Davis 3c44c326c2 add an assert() to check a target in CoreSelection::get_stripables_for_op() 2023-07-31 21:11:36 -06:00
Paul Davis 0e6764c4c8 improve and extend group selection logic 2023-07-31 13:53:42 -06:00
Paul Davis 03105aa760 libardour changes to support new selection/group logic 2023-07-31 13:36:14 -06:00
Paul Davis 4ba4cd69ff switch from glib atomic to std::atomic (libs edition) 2023-03-24 14:19:15 -06:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis 7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00
David Robillard 57a3db06f8 OSC: Fix potential crash on select-prev-route (#8670)
If the selection here is empty for whatever reason, it crashed with a null
pointer dereference.
2021-06-18 12:55:45 -04:00
Robin Gareus cc7b8b1bc5
gcc-11 compat, volatile atomic variables (1/2)
"While 'atomic' has a volatile qualifier, this is a historical
artifact and the pointer passed to it should not be volatile."

Furthermore "It is very important that all accesses to a
particular integer or pointer be performed using only this API"
(from https://developer.gnome.org/glib/2.68/glib-Atomic-Operations.html)

Hence initialization of atomic variables is changed to also use
this API, instead of directly initializing the value.

This also fixes a few cases where atomic variables were
accessed directly.

see also libs/pbd/pbd/g_atomic_compat.h
2021-03-22 15:30:07 +01:00
Robin Gareus 26a1d55f7a
Implement _first_selected_stripable as part of CoreSelection 2020-10-18 14:29:12 +02:00
Nikolaus Gullotta 85f27b28be
Only select all routes in a given group if the group is active 2020-01-23 12:58:59 -06:00
Robin Gareus a22f918d9d
Update libardour GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
Robin Gareus 357361c89d Fix --no-nls (4/5), i18n include order in libs/*
"i18n.h" needs to be included last (after any includes that may indirectly
pull in getext or libintl etc)
2018-09-21 19:05:39 +02:00
Paul Davis 03c5a35a8c Monitor should be *really* unselectable 2018-08-24 18:26:01 -04:00
Paul Davis 0db0d85108 no reason for 2 template types in CoreSelection::select_adjacent_stripable() 2018-08-24 18:26:01 -04:00
Paul Davis a9ae875b71 a couple more explanatory comments, and rename a variable to be more clear 2018-08-24 14:17:14 -04:00
Paul Davis 92b3d40e3d fix comment (method is now a template) 2018-08-24 14:11:00 -04:00
Paul Davis 2d0416a016 add new methods to ARDOUR::CoreSelection to centralize selecting next/prev stripables 2018-08-24 14:04:18 -04:00
Robin Gareus 515bd5ad4d Remove some debug output 2017-08-06 14:48:18 +02:00
Robin Gareus f25824ed28 "Selected" is a PresentationInfo Property.
This fixes MIDI Input follows MIDI track selection (and maybe other
issues) and hopefully breaks nothing else (most places subscribe to
both Stripable::PropertyChanged and PresentationInfo::PropertyChanged).
2017-08-05 21:12:52 +02:00
Paul Davis feab5ef91e re-order per-object and global selection change signals 2017-05-11 18:29:03 +01:00
Paul Davis 5830ddfec2 emit per-Stateful PropertyChanged signal when Stripables become selected 2017-05-11 10:04:28 +01:00
Paul Davis bcbdd858fa Selection::get_stripables() needs to recurse into an Automatable's child Automatables when looking for for an Automation Control
It also needs renaming (to come)
2017-05-10 08:52:55 +01:00
Robin Gareus 4e08f5c169 iterator std::set::erase (iterator) is C++11 2017-05-08 16:30:54 +02:00
Paul Davis 24b8004bf7 when removing Stripables from CoreSelection by ID, be sure to remove all possible entries in the Selection
A Stripable may have itself plus zero-to-N automation controls in
CoreSelection.
2017-05-08 10:41:12 +01:00
John Emmas e8e68fd8c6 MSVC won't allow us to erase an item referenced by const_iterator 2017-05-06 13:33:38 +01:00
Paul Davis 35a9facdae add missing files from selection development branch(es) 2017-05-05 19:25:35 +01:00