Commit Graph

340 Commits

Author SHA1 Message Date
Robin Gareus c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Robin Gareus dc338b7e93
Downgrade error messages that users cannot do anything about
Besides, it can happen under normal circumstances that the
Editor window, or any other window with clocks (prefs) is
visible while no session is loaded.
2023-06-05 15:58:50 +02:00
Robin Gareus 9232f41176
Remove debug output 2023-03-24 23:20:50 +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
Paul Davis 2c7bfa9ead require use of BBT_Argument as both parameter and return type from most methods (GUI edition) 2023-02-15 16:02:56 -07:00
Paul Davis 3dd9b2c201 rationalize single call to TempoMap::use() in AudioClock::set_bbt() 2023-02-14 10:14:39 -07:00
Robin Gareus c44b40afd7
Indicate UTF8 literals - fixes glyph rendering with MSVC (2/2) 2023-01-16 21:41:22 +01:00
Paul Davis 62bfd34ba8 fix mistake in f4827b470b 2022-12-12 08:17:53 -07:00
Paul Davis f4827b470b fix unnecessary error messages from time info box 2022-12-11 20:41:20 -07:00
Paul Davis b9f9531fa1 duration clocks: fix display when mode is changed 2022-12-07 12:11:31 -07:00
Paul Davis ad9757e73c fix nudge/duration clocks when scrolling in BBT mode 2022-12-07 11:13:49 -07:00
Paul Davis 9f85a0aaba fix behavior of duration clocks when scrolling in all modes except BBT 2022-12-07 11:13:49 -07:00
Paul Davis f37687a985 various fixes for AudioClock duration/!duration confusion 2022-12-06 11:11:08 -07:00
Mads Kiilerich 88d4145b02 AudioClock: drop other unused stuff 2022-11-20 02:31:24 +01:00
Mads Kiilerich 6ae1f44c17 AudioClock: drop unused _edit_by_click_field 2022-11-20 02:31:24 +01:00
Mads Kiilerich e16dd3866c AudioClock: drop unused set_mode noemit parameter 2022-11-20 02:31:24 +01:00
Mads Kiilerich 728e463d01 AudioClock: make last_when public and use it instead of current_time
Having current_time as a public alias of the private last_when did not
add any clarity to the abstraction of last_time. A small step, but still
room for improvement.
2022-11-17 18:04:08 +01:00
Mads Kiilerich 498dac3bc8 AudioClock: fix function name in error message 2022-11-17 18:04:08 +01:00
Mads Kiilerich 96d98ba320 AudioClock: drop unnecessary qualification of set_duration
This setter is not virtual.
2022-11-17 18:04:08 +01:00
Mads Kiilerich e77965f4e6 AudioClock: drop unused force parameter for private setters 2022-11-17 18:04:08 +01:00
Mads Kiilerich acf803d310 AudioClock: drop unused ModeChanged and is_transient
Clock settings are now retrieved using the clocks vector.
2022-11-17 18:04:08 +01:00
Mads Kiilerich 1ca64eb8c1 AudioClock: avoid sscanf to fixed length buffer
Ignored strings were scanned to a buffer that potentially could
overflow. There might be hidden invariants that make actual overflow
impossible, but that seems like a fragile defense.

Instead, just *really* ignore them.
2022-11-17 18:04:08 +01:00
Robin Gareus 9093059ba0
Use ArdourSans for symbols cross platform 2022-11-15 21:50:13 +01:00
Mads Kiilerich f129cf4485
AudioClock: use str parameter instead of accessing widget directly 2022-11-04 19:22:05 +01:00
Mads Kiilerich 8fe7970c7c
AudioClock: drop unused em_width 2022-11-04 19:20:41 +01:00
Robin Gareus 0bf8e7d8cf
Make clock mode settings session independent
Much like the edit-tool and grid-types, clock-modes are UI state.

Saving the UI state separately allows them to be used
consistently for new sessions. Previously clock-modes were set
initially (at application start) and when loading sessions.

The clock modes of newly created sessions was different
depending on loading another session prior to creating the
session. This is now no longer the case.
2022-10-10 21:03:45 +02:00
Paul Davis 254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
Paul Davis 45e21de209 implement and adopt new conventions for AudioClock use
The class now has two separate methods for setting a duration or a point
value. They MUST be used appropriately, because their behavior is different.

When ::set_duration() is used in timecode mode, an extent (inclusive-end
length) is shown rather than a length.

Some objects, such as the TimeInfoBox, now deliberately shown an inclusive end
for their "end" clock, but this not universally followed, pending more feedback
from users and investigating of conventions in other DAWs.
2022-10-07 16:24:56 -06:00
Mads Kiilerich 7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
Mads Kiilerich 91b08d5f45
gtkmm: use get_realized() instead of deprecated Gtk::Widget::is_realized() 2022-04-08 20:20:32 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Mads Kiilerich a55ee74c4e i18n: Don't localize "" - that is a special gettext string
Address build warnings:
audio_clock.cc:911: warning: Empty msgid.  It is reserved by GNU gettext:
                             gettext("") returns the header entry with
                             meta information, not the empty string.
audio_clock.cc:912: warning: Empty msgid.  It is reserved by GNU gettext:
                             gettext("") returns the header entry with
                             meta information, not the empty string.
session_dialog.cc:604: warning: Empty msgid.  It is reserved by GNU gettext:
                                gettext("") returns the header entry with
                                meta information, not the empty string.
session_dialog.cc:605: warning: Empty msgid.  It is reserved by GNU gettext:
                                gettext("") returns the header entry with
                                meta information, not the empty string.

Use ("") instead of _("") to try to indicate syntactically that
localization markup intentionally has been left out.
2022-01-22 20:26:50 +01:00
Robin Gareus 3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
Paul Davis c24cabead0 GUI changes to follow TempoMap::sample_at() API changes 2021-11-17 15:57:30 -07:00
Paul Davis dd4e495d90 audioclock: use correct call for "right now" tempo display 2021-11-17 12:16:38 -07:00
Paul Davis 2735022357 audio_clock: fix uninitalized variable 2021-11-17 12:16:38 -07:00
Paul Davis 36609c4067 remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion (GUI edition) 2021-08-13 12:51:35 -06:00
Paul Davis 68959643e8 fix minor errors from rebase fixups 2021-08-13 12:51:35 -06:00
Paul Davis 162d36ffc8 remove some debug output 2021-08-13 12:51:35 -06:00
Paul Davis 6bc8a7347f improve drag behavior on AudioClock 2021-08-13 12:51:35 -06:00
Paul Davis 3a94b45b23 rework handling of scroll and drag on AudioClock by using timepos_t rather than samples 2021-08-13 12:51:35 -06:00
Paul Davis 7762dde95e remove another NUTEMPO warning by connecting AudioClock to static MapChanged signal 2021-08-13 12:51:32 -06:00
Paul Davis 9412130c01 use cleaned up Temporal ::quarters*_at* API (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis 0093ae07b0 cleanup after timecnt_t API changed (GUI edition) 2021-08-13 12:51:31 -06:00
Paul Davis 16382982c5 fixups for AudioClock arising from explicit BBT_Offset (double) 2021-08-13 12:51:30 -06:00
Paul Davis fcdf7018c5 fix incorrect logic check for null session 2021-08-13 12:51:30 -06:00
Paul Davis c2d197a103 use correct initial value of AudioClock::_limit_pos 2021-08-13 12:51:30 -06:00
Paul Davis 3c00fab75e remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) (GUI edition) 2021-08-13 12:51:30 -06:00
Paul Davis 1098b27b35 new tempo map API for almost all of the GUI now 2021-08-13 12:51:30 -06:00
Paul Davis 749a49c278 incorporating new tempo map API 2021-08-13 12:51:29 -06:00