Commit graph

111 commits

Author SHA1 Message Date
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
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
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
Robin Gareus
dca7cbc963
Allow to configure decimals of MinSec clock format 2021-02-22 01:00:02 +01:00
Robin Gareus
33088c728a
Clean up AudioClock font API
see also previous commit 2abf9c66a4
2021-01-30 02:23:59 +01: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
Paul Davis
47970b0cd1 user-friendly hack/heuristic: if they edit a BBT non-duration clock to say zero beats, act as if they had used 1 2018-02-20 17:19:43 -05:00
Robin Gareus
15150c57c1 Implement clock delta modes
* use new config variable
* update GUI to select delta-modes
* delegate delta-calculation to MainClock
* save offset to calculate absolute-time
2017-11-23 00:13:32 +01:00
Robin Gareus
867460cd30 Add seconds as clock-unit 2017-11-22 20:36:28 +01:00
Paul Davis
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Robin Gareus
2c7cb9065f Limit clock displays to 30days (720hours) by default.
This prevents various edge-cases of selection-clocks (eg. unbound range
selection after start-range; and makes it near impossible to roll-over
2^63 using GUI operations)
2017-05-08 12:37:17 +02:00
Tim Mayberry
dcc21b19a9 Add AudioClock::on() method as convenience method for serialization 2017-04-19 09:36:55 +10: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
nick_m
7b9784fff4 mark session dirty when dragging tempo markers. 2017-01-27 03:05:32 +11:00
Robin Gareus
fab1ef05bc remove cruft 2016-12-17 02:43:42 +01:00
Robin Gareus
1a25b906b3 Commence transport tool bar re-layout 2016-12-17 02:43:42 +01:00
nick_m
3a0a628a75 Rework duration clock and TempoMap::insert_time to include meter at offset.
- should fix 7072

	- also fixes scroll behavior over multiple tempi.
2016-10-16 02:33:49 +11:00
nick_m
3f2a8fe81d Tempo ramps - display bbt in audio clock correctly when dragging tempos/meters. 2016-05-27 23:38:12 +10:00
Robin Gareus
f02db9b04e NO-OP whitespace 2016-04-24 14:43:18 +02:00
Robin Gareus
e025c45cda fix crash when loading a session with non-default clock modes.
set_mode() emits ModeChanged which results in save_extra_xml().
If this happens during session-load, the XML iterator is invalidated.
2016-04-24 14:43:18 +02:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Colin Fletcher
3cb2f25d89 Add 'accept on focus out' parameter (default false) to AudioClock
If this parameter is passed as 'true', then edits to the clock will be
accepted when the user clicks away from the clock, rather than
unconditionally discarded as hitherto.
2015-06-17 17:15:21 +01:00
Ben Loftis
91fac4c96d merge fix for tempo branch 2015-04-21 08:35:20 -05:00
Robin Gareus
2d8aa1d2ff simplify coaxing clock value out of ardour 2015-04-14 12:09:45 +02:00
Colin Fletcher
99e15d9402 Make left-click on tempo/meter in main clock edit current tempo/meter 2015-03-09 19:17:52 +00:00
Colin Fletcher
ecd265222a Add/edit tempo/meter change at right position with 'delta to edit cursor'
Find the absolute position of the main clock when 'display delta to edit
cursor' is set when adding/editing tempo/meter changes from the context
menu.
2015-02-12 18:06:16 +00:00
Paul Davis
d8405e2ebe add the ability to use cairo scaling to warp the rendering of the main clock text 2014-12-31 07:20:48 -05:00
Paul Davis
64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
Paul Davis
eab61cbafe break out AudioClock::print_minsec() so that AudioClock and VerboseCursor can use the same formatting code. 2014-07-09 19:13:18 -04:00
Robin Gareus
ab44e41dfd change the meters into CairoWidget, add expose_area to CairoWidget::render() 2014-03-20 23:50:40 +01:00
Paul Davis
8f9a854b28 used fixed width for the big clock and remove all code in AudioClock associated with variable width, since it just really doesn't work very well, and probably cannot be made to work very well
git-svn-id: svn://localhost/ardour2/branches/3.0@13744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-29 15:59:38 +00:00
Paul Davis
fe1796fd6f allow big block to be shrunk in size as well as expanded (suprisingly complex!)
git-svn-id: svn://localhost/ardour2/branches/3.0@13740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-27 18:49:12 +00:00
Robin Gareus
a5f5572159 update BPM and Meter when changed, also change back labels for it.
git-svn-id: svn://localhost/ardour2/branches/3.0@13486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 23:29:57 +00:00
Paul Davis
b8b8384a26 add support for using - as prefix keys to enter a negative value in an audio clock. so far only used for session timecode offset option clock
git-svn-id: svn://localhost/ardour2/branches/3.0@13443 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 22:20:40 +00:00
Robin Gareus
3f2e8fe305 show slave info in Min:Sec mode - fill empty space
git-svn-id: svn://localhost/ardour2/branches/3.0@13438 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 17:36:31 +00:00
Robin Gareus
46ba939ca0 re-nice audio clock horiz alignment.
git-svn-id: svn://localhost/ardour2/branches/3.0@13428 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 09:41:06 +00:00
Robin Gareus
23f00184c8 first round of audio-clock font rendering update
git-svn-id: svn://localhost/ardour2/branches/3.0@13425 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-11 02:45:01 +00:00
Paul Davis
eaaca760c9 tweaks to be ready for more information timecode display in Timecode clock mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13264 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-10-12 22:04:21 +00:00
Carl Hetherington
6624f9be37 Move delta-to-edit-point options to the main clock context menus (#4472).
git-svn-id: svn://localhost/ardour2/branches/3.0@12517 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 23:14:03 +00:00
Paul Davis
20aeb5af0a move CairoWidget into gtkmm2ext, add CairoPacker, made the time info box use CairoPacker, make the info status "bar" use CairoPacker
git-svn-id: svn://localhost/ardour2/branches/3.0@10933 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-07 13:57:45 +00:00
Paul Davis
3a4848d055 tentative code shuffle to allow for 2 different styles of clock editing
git-svn-id: svn://localhost/ardour2/branches/3.0@10742 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 19:24:37 +00:00
Paul Davis
274a97a402 add validation checks on TC.hours, BBT.ticks and validate minsec data entry
git-svn-id: svn://localhost/ardour2/branches/3.0@10740 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 17:51:15 +00:00
Paul Davis
24a919ce6d use correct em width to position audio clock cursor
git-svn-id: svn://localhost/ardour2/branches/3.0@10737 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-21 17:39:55 +00:00