Commit Graph

334 Commits

Author SHA1 Message Date
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
Paul Davis 2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Paul Davis 1ee38e7a7f another in-progress snapshot of gtk2_ardour after getting audio_clock.cc to compile 2021-08-13 12:51:29 -06:00
Paul Davis 7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Paul Davis f4490f54c5 change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
Paul Davis ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
Robin Gareus 03f63d4463
Fix BPM button text display on Windows 2021-04-13 19:46:47 +02:00