Commit Graph

339 Commits

Author SHA1 Message Date
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
9232f41176
Remove debug output 2023-03-24 23:20:50 +01:00
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
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
3dd9b2c201 rationalize single call to TempoMap::use() in AudioClock::set_bbt() 2023-02-14 10:14:39 -07:00
c44b40afd7
Indicate UTF8 literals - fixes glyph rendering with MSVC (2/2) 2023-01-16 21:41:22 +01:00
62bfd34ba8 fix mistake in f4827b470b 2022-12-12 08:17:53 -07:00
f4827b470b fix unnecessary error messages from time info box 2022-12-11 20:41:20 -07:00
b9f9531fa1 duration clocks: fix display when mode is changed 2022-12-07 12:11:31 -07:00
ad9757e73c fix nudge/duration clocks when scrolling in BBT mode 2022-12-07 11:13:49 -07:00
9f85a0aaba fix behavior of duration clocks when scrolling in all modes except BBT 2022-12-07 11:13:49 -07:00
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
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
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
254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
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
3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
c24cabead0 GUI changes to follow TempoMap::sample_at() API changes 2021-11-17 15:57:30 -07:00
dd4e495d90 audioclock: use correct call for "right now" tempo display 2021-11-17 12:16:38 -07:00
2735022357 audio_clock: fix uninitalized variable 2021-11-17 12:16:38 -07:00
36609c4067 remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion (GUI edition) 2021-08-13 12:51:35 -06:00
68959643e8 fix minor errors from rebase fixups 2021-08-13 12:51:35 -06:00
162d36ffc8 remove some debug output 2021-08-13 12:51:35 -06:00
6bc8a7347f improve drag behavior on AudioClock 2021-08-13 12:51:35 -06:00
3a94b45b23 rework handling of scroll and drag on AudioClock by using timepos_t rather than samples 2021-08-13 12:51:35 -06:00
7762dde95e remove another NUTEMPO warning by connecting AudioClock to static MapChanged signal 2021-08-13 12:51:32 -06:00
9412130c01 use cleaned up Temporal ::quarters*_at* API (GUI edition) 2021-08-13 12:51:31 -06:00
0093ae07b0 cleanup after timecnt_t API changed (GUI edition) 2021-08-13 12:51:31 -06:00
16382982c5 fixups for AudioClock arising from explicit BBT_Offset (double) 2021-08-13 12:51:30 -06:00
fcdf7018c5 fix incorrect logic check for null session 2021-08-13 12:51:30 -06:00
c2d197a103 use correct initial value of AudioClock::_limit_pos 2021-08-13 12:51:30 -06:00
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
1098b27b35 new tempo map API for almost all of the GUI now 2021-08-13 12:51:30 -06:00
749a49c278 incorporating new tempo map API 2021-08-13 12:51:29 -06:00
2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00