Commit graph

120 commits

Author SHA1 Message Date
Ben Loftis
abdae636eb
Group tabs should match the size of a generic ArdourButton 2025-06-12 18:05:14 +02:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de
Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Ben Loftis
8dc50ac33c
When dragging a new tab, peek at the color it will be assigned 2025-01-11 01:09:44 +01:00
Ben Loftis
be74cf1c9c
Use round-robin palette color for new groups 2025-01-11 00:44:35 +01:00
Ben Loftis
8899ad836e
Group tab bg should be theme-able 2025-01-11 00:43:25 +01:00
Robin Gareus
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
Robin Gareus
b55e94ced4
Fix crash when deleting route while creating a routegroup for it
This reverts 00e35c48b6. Modal dialog does not
allow to change the color of the RouteGroup. Interaction
with the colorpicker was not possible.

See also 0db79b8023
2024-08-13 21:08:04 +02:00
Robin Gareus
8718a1ba99
Remove redundant queue_draw calls 2024-06-22 18:10:21 +02:00
Robin Gareus
e6bdf31483
Prelight group-tab bars (backport from LiveTrax) 2024-06-22 18:10:00 +02:00
Robin Gareus
bdd6eec95c
Constrain height of group-tab to the editor's height
Previously the group-tab extended all the way down to the
last track. Potentially with a widget height of > 2^15 px.

This caused issues with gtk widgets (notably on Windows)
```
unhandled exception (type std::exception) in signal handler:
what: invalid value (typically too big) for the size of the input (surface, pattern, etc.)
```

This also prepares for Mixer Tab-Group to use the same
separation between visible and total extent.
2024-06-22 17:44:20 +02:00
Robin Gareus
2b2d923dc6
Remove extra group context menu separator 2024-05-30 18:13:48 +02:00
Robin Gareus
3364fdd9f3
Update context menu for subgroup bus creation
Rather than hiding options that are not available,
all options are shown and the sensitivity is
set accordingly.
2023-04-21 00:41:30 +02:00
Robin Gareus
295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02: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
9ea1e5bdee move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (GUI) 2022-08-10 21:11:52 -06:00
Robin Gareus
88ed770bce
Implement group-tab sensitivity 2021-03-28 17:43:17 +02:00
Robin Gareus
4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Robin Gareus
54d8bcca57
Skip Subgroup menu-options when not available (no MIDI subgroups) 2019-04-11 02:08:36 +02:00
Len Ovens
0140b24248 Change get_routes to get_routelist where appropriate. 2018-11-07 17:00:16 -08:00
Robin Gareus
e7f6eff84b Fix crash when re-assigning groups to a disjunct set.
Drag a group-tab's right-edge horizontally to the right to remove all
current routes from the groups before adding new routes to the group.

The group becomes temporarily empty, and
Session::route_removed_from_route_group() removes the group (before new
routes can be added).
2018-03-20 18:08:12 +01:00
Robin Gareus
7b597055ee GUI: create_vca() API change 2018-03-15 20:25:27 +01:00
Robin Gareus
d7aa102ce5 Name New VCAs from Selection 2017-08-07 16:46:35 +02:00
Robin Gareus
d55cb9ba94 Update GUI to follow Slavable API change 2017-06-22 22:04:10 +02:00
Robin Gareus
1d28665f86 Use Stripable::Sorter in GUI consistently. 2017-06-17 04:36:39 +02:00
Robin Gareus
3aa3413944 Fix use-after free (signal after deleting group) 2017-05-14 12:00:19 +02:00
Robin Gareus
95f225df8f Scaleable group-tabs: use Pango to layout text, scale with UI #7331 2017-05-04 19:15:18 +02:00
Robin Gareus
0b189a5766 GUI update: migrate group-color into the session (not GUI state) 2017-05-03 17:53:00 +02:00
Paul Davis
aeae859c46 make it possible to drop a group from a VCA 2017-03-26 15:01:00 +02:00
Robin Gareus
d06de26a4f Towards a consistent render() API.
This fixes an -Woverloaded-virtual ambiguity introduced in b5e613d45

  void render (cairo_t*, cairo_rectagle*)
  void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*)

ArdourCanvas prefers cairomm and CairoWidget itself uses Cairo::Context,
this improves overall API consistency.
2017-03-20 17:12:08 +01:00
Robin Gareus
fc91cfc66b Fix Group assign to new VCA
For reasons unknown[1], The vca-counter may not be in sync with
actual number of VCAs present.

[1] possibly some shared-ptr references at the time of session-save, or
old session compatibility.
2017-03-18 23:06:42 +01:00
Robin Gareus
4d95a4e205 Manage some Menus (memory leaks) 2017-03-16 02:36:48 +01:00
Robin Gareus
c56635e71c Group-Tabs keyboard shortcuts
* The return of the ctrl+right-click (edit)
* and consistent shift+right click (remove)
2017-02-21 00:11:38 +01:00
Paul Davis
8876955762 use "VCA" rather than "Control Master" in the GUI 2017-02-20 15:40:24 +01:00
Paul Davis
edd1061c3d save/restore VCA master state inside slaves, so that a reloaded session ends up back in the same state 2017-02-06 16:49:08 +01:00
Paul Davis
415c841645 more consisten code to set menu item name from VCA name 2017-01-28 13:04:32 +01:00
Ed Ward
c0c13d7c45 Patch to bug 0007204 : Some options in the Group List context menu are not working 2017-01-28 13:04:32 +01:00
Paul Davis
e5aa0d774e use RAII for class-wide PresentationInfo::Change signal, along with properties to describe what changed 2017-01-27 22:17:53 +01:00
Robin Gareus
96cb9ba626 Fix un/setting group colors 2016-12-01 15:51:00 +01:00
Paul Davis
6a4fb58384 fix thinko that causes near duplicate menu items in group context menu when not in group tabs 2016-08-08 23:36:33 +02:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis
2afaa51717 remove pointless version of Stripable::set_presentation_order() 2016-07-12 09:20:50 -04:00
Paul Davis
0852d05643 remove RouteGroupDialog::do_run() and replace its use with code that doesn't rely on a recursive run loop 2016-06-12 14:54:01 -04:00
Paul Davis
2c44225df2 make RouteGroupDialog non-modal.
Not really how/why it was modal, but it did run a recursive main event loop, and these are
always a bad idea for lots of reasons. So I removed that feature, which makes it non-modal.
Not 100% tested yet.
2016-06-11 15:49:38 -04:00
Paul Davis
2d4358ddb5 Various changes to PresentationInfo and a small consolidation of sorters.
The semantics for sorting PresentationInfo are up to the caller, not the
PresentationInfo object, so operator<() was removed and callers specifically
invoke ::order() for sorting.
2016-06-10 13:57:18 -04:00
Paul Davis
3e12d4b4a6 use PresentationInfo color to set route colors. GUI appears to respond as expected 2016-06-05 17:16:20 -04:00
Paul Davis
b685b6e175 use modified PresentationInfo/Stripable API 2016-06-05 16:33:01 -04:00
Paul Davis
260058a4a9 move from PresentationInfo::global_order() to PresentationInfo::order, and fix up part of reordering behaviour
Dragging tracks/busses in the editor *below* VCAs still does not work
2016-06-03 15:15:39 -04:00
Paul Davis
4aea553467 not quite as many magic numbers when deciding if a group color is too close to black 2016-05-31 15:30:44 -04:00
Paul Davis
f8f7894ad9 make create group with master actually create (and name) master 2016-05-31 15:30:44 -04:00