Robin Gareus
caae3501ec
TransportMasterWidget may not have a session
...
Other parts in this dialog already test for session == nullptr.
This can happen in the Preferences, when switching a timecode
master w/o a session (not possible in Ardour, but some derivative
project).
2024-05-13 23:11:43 +02:00
Robin Gareus
87181710b2
Drop UI shared_ptr references to Transport Masters
...
This allows ARDOUR::cleanup to unregister ports before
destroying the Audio Engine. This fixes a crash at exist
with JACK since 0786be8
.
2023-12-05 04:37:39 +01: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
Robin Gareus
86d9bcf525
Remove direct use of audio-engine rate (2/2)
...
This is in preparation for sample-rate independence.
2023-01-22 20:07:40 +01:00
Robin Gareus
c44b40afd7
Indicate UTF8 literals - fixes glyph rendering with MSVC (2/2)
2023-01-16 21:41:22 +01:00
Paul Davis
7c5d324136
remove transport master active controls widgets
2022-09-13 16:47:21 -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
Mads Kiilerich
d52c727ec5
gtkmm: use get_mapped instead of deprecated Gtk::Widget::is_mapped()
2022-04-08 20:20:10 +02:00
Paul Davis
2a08e4bdaa
continued work on timeline types conversion. in theory, just editor_ops.cc remains
2021-08-13 12:51:29 -06:00
Robin Gareus
b2c4e71a45
Subscribe to pretty-port name changes (GUI)
2021-01-18 03:18:20 +01:00
Robin Gareus
10ea21a35f
Fix adding transport-master
...
Resolve ambiguity between Dialog::add_button() and add_button member,
also use clicked signal for ArdourButton.
signal_button_press_event() only works with
ArdourButton::set_fallthrough_to_parent
2020-11-01 23:28:30 +01:00
Robin Gareus
f2cf60900b
TMM: Fix BPM display format #8118
2020-05-16 23:15:06 +02:00
Paul Davis
a9fff59229
TMM: do not allow changing transport master while slaved (GUI edition)
2020-05-15 21:06:40 -06:00
Robin Gareus
d6b0c77bb1
TMM: display timecode using session FPS
2020-05-15 01:47:05 +02:00
Robin Gareus
6622c55912
TMM: fix last message + age display
2020-05-13 23:57:40 +02:00
Robin Gareus
5120b650c5
TMM dialog: fix rendering performance
...
This removes expensive markup parsing and directly sets
timecode and delta-time as plain text. The Labels use the
main clock's color schema, and dedicated ArdourMono font.
2020-05-12 21:10:28 +02:00
Ben Loftis
20c09ccfc3
Transport Masters dialog: don't use an uninitialized char array.
2020-05-11 18:37:12 -05:00
Ben Loftis
26dbd30ae6
Transport Masters dialog: various layout changes to improve legibility
...
Use Fonts and Color to help discriminate columns:
Values that come from the TC Master are now in black boxen (ToDo: use gtk theming)
Reduce the number of columns, to improve legibility:
Consolidate the Slave's current TC chase value and Delta (offset from Ardour current TC)
Consolidate the last message received, and how recently it was received
Remove Collect checkboxes (just disconnect the port if you don't want it to run)
2020-05-11 15:37:40 -05:00
Ben Loftis
7581ec5ac5
Transport Masters dialog: fix typo
2020-05-11 15:37:36 -05:00
Robin Gareus
44d87f2cd7
TMM GUI: display delta time from all slaves
2020-05-11 18:37:16 +02:00
Paul Davis
18228edd54
use ardour button rather than gtk::button in transport master widget
2020-04-24 15:54:29 -06:00
Paul Davis
b1d5e8611f
carefully position floating text entry when editing transport master names
2020-04-24 15:54:15 -06:00
Paul Davis
75b9689f0c
only update port lists when a TransportMastersWidget is actually mapped
...
The overhead of rebuilding for every port registration and unregistration was absurd
2020-04-24 12:00:02 -06:00
Paul Davis
afcc95167e
fix copy-paste error that prevent transport master request mask from being set correctly
2020-04-24 07:44:41 -06:00
Paul Davis
3bbad66a99
control over transport-masters-just-roll-when-sync-is-lost
2020-03-23 19:08:57 -06:00
Paul Davis
e04f0a4c2c
tweaks to display in TransportMastersWidget to reduce width jumping
2020-03-23 18:34:31 -06:00
Paul Davis
1c551e432c
fix port/connection combo/dropdown for TransportMastersWidget
2020-03-22 22:45:28 -06:00
Paul Davis
91a87fbc5b
somewhat convoluted reworking to get TransportMastersWidget's per-row port combos to update for hotplug
...
This approach should extended to other things, notably control surfaces
2020-03-13 22:16:37 -06:00
Paul Davis
45f5513b66
remove debug output
2020-03-10 11:56:10 -06:00
Paul Davis
f827294b0b
small improvements to Transport Masters dialog (in preferences and elsewhere)
2020-03-10 11:40:03 -06:00
Paul Davis
37d9ec34c8
add ::usable() method to TransportMaster objects to allow GUI to show their usability after backend/engine changes
2019-09-17 16:54:10 -06: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
3bc9281c31
Fix some Gtk::Menu related memory leaks
...
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.
This adds explicit delete calls for menus where there is a
member variable reference to the Menu.
2019-03-07 23:50:32 +01:00
Paul Davis
896091d256
do not attempt to update transport master rows if audioengine is not running
2019-02-06 13:54:05 -07:00
Paul Davis
59b709be2b
remove debug output
2019-01-25 11:09:31 -07:00
Paul Davis
89d54b8790
minor refactorization of how the transport master widget is rebuilt
2019-01-25 09:23:08 -07:00
Paul Davis
8b1c8bb511
use C++, dammit
2018-10-07 12:57:56 -04:00
Paul Davis
9134323f4a
show message if adding transport master doesn't work
2018-10-07 12:43:14 -04:00
Paul Davis
3c0f749370
make name entry activation close dialog (potentially)
2018-10-07 12:36:04 -04:00
Paul Davis
44cae0a624
delete transport masters from an idle callback
2018-10-07 12:29:52 -04:00
Paul Davis
eab98962bc
add dialog for adding new transport masters
2018-10-07 11:10:45 -04:00
Paul Davis
e4a914e26e
make remove work for transport masters (bug fix, really)
2018-10-05 14:29:15 -04:00
Paul Davis
e2be5b7b02
remove debug output
2018-10-05 14:18:43 -04:00
Paul Davis
e28f96ae73
tweak up display of "time since last msg" for transport masters
2018-10-05 14:15:02 -04:00
Paul Davis
58e9bb0a14
move away from "sync source" concepts
2018-10-05 14:15:02 -04:00
Paul Davis
1b71e4db2c
laying the groundwork for adding/removing transport masters
2018-10-05 14:15:02 -04:00
Paul Davis
4840543272
show last received and when for timecode timestamps in transport masters widget
2018-09-27 11:31:13 -04:00
Paul Davis
f8264ed1fb
add name editing for transport masters
2018-09-27 11:31:13 -04:00
Paul Davis
5685865eae
use new TransportMaster::speed_and_position() API
2018-09-27 11:31:13 -04:00
Paul Davis
4bdf0dad20
rearrange parts of transport masters dialog, and fix tooltip issue
2018-09-24 15:46:11 -04:00