Commit Graph

70 Commits

Author SHA1 Message Date
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 37aaa2d11b
NO-OP: whitespace, alignment 2019-04-08 22:39:22 +02:00
Paul Davis 7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04: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
nick_m b4ddbce1ff Fix incorrect positioning of tempo line subdivisions if first meter is non-zero
Commit cebefe6 assumed that frame 0 was the music origin.
Silly me.
2017-06-09 11:05:56 +10:00
nick_m b086d33937 TempoLines deletes its bfc on destruction 2017-06-09 01:56:28 +10:00
nick_m cebefe69d9 Tempo lines display subdivisions correctly over a tempo change
TempoMap::get_grid() supplies a list of beat positions, leaving the lines
to work out any subdivision positions.
This is fine, unless a tempo section falls in between beats.
Use a BeatsFramesConverter along with a quarter note position
(in the BBTPointsList) to make this easier.
2017-06-09 01:44:48 +10:00
nick_m 33e95a1577 rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
	  pulses_per_minute() and frames_per_quarter_note()

	- this should be a no-op except for the use of tempo by
	  the vst callback which definitely uses quarter notes per minute.

	- the XML node for TempoSection named 'beats-per-minute'
	  has been renamed.
2016-11-11 03:37:08 +11:00
nick_m 115bc84c27 Tempo lines drawing performance tweak. 2016-10-19 05:56:26 +11:00
nick_m f8d5a6b3b6 Tempo line tweaks.
- ensure lines don't get too dense in the all bars case.

	- never draw tick divisions in the all bar case.
2016-10-19 05:10:15 +11:00
nick_m 715b178130 Improve bbt ruler drawing performance for large time ranges.
- when the timeline displays many bars, zoom/autoscroll
	  speed is improved by calculating the bbt ruler scale first
	  then requesting a suitably scaled grid.
2016-10-19 03:56:43 +11:00
nick_m 820e9a43f5 Tempo ramps - fix various sub-beat tempo line bugs.
- actual meter is taken into account now.
2016-05-27 23:38:16 +10:00
nick_m 71a90399fe Tempo ramps - fix BBTPoint wtf.
- tempo tick lines should draw properly now.
2016-05-27 23:38:15 +10:00
nick_m daa07ce6e0 Tempo ramps - tempos now musically snap to their future. 2016-05-27 23:38:12 +10:00
nick_m 58f01bb3f7 Tempo rambo - more bbt scale fiddling. 2016-05-27 23:38:12 +10:00
nick_m 15f8f371c3 Tempo rampo - tempo tick lines no longer assume constant tempo. 2016-05-27 23:38:12 +10:00
nick_m 7d06651a5c Tempo ramps - fix compilation 2016-05-27 23:38:12 +10:00
nick_m 7fc3b0c34c Initial stab at tempo ramps.
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.

Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.

Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10: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
Tim Mayberry 6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
David Robillard 0a5d5f91c9 Raise threshold for showing ticks for a bit.
This fixes two zoom levels (the closest that shows bars, and the next closest)
that had the same tick resolution despite enough space.
2015-01-10 19:38:37 -05:00
David Robillard ccde95757d More contrast between different division lines. 2015-01-08 21:10:54 -05:00
David Robillard 12bf085a34 Stop showing bar lines sooner.
Not sure if this is a DPI dependent thing, but when zooming out some of the
steps had way too dense bar lines for me.
2015-01-08 21:10:13 -05:00
David Robillard 2d3e6956e6 Slightly more distinct beat/subdivision lines. 2015-01-08 14:53:41 -05:00
David Robillard 84412e1367 Draw beat sudivisions according to snap setting. 2015-01-07 19:05:41 -05:00
David Robillard 91c650bc29 High resolution tempo lines. 2015-01-07 08:37:20 -05:00
Paul Davis bd6682f2cd next modifier 2014-12-15 10:22:22 -05:00
Paul Davis 56ca52651e fix up requested color names everywhere.
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
Paul Davis 48a7a11974 initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
Paul Davis ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
Paul Davis 6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
Paul Davis 0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
nick_m 6b2c581c22 Summary changes :
* Use correct image format for background image
	* Construct thr ImageSurface as per cairo docs
	* Place start/end markers in background image
Tempo bars :
      * adjust beats display threshold to (hopefully) coincide with BBT ruler better.
2014-06-19 01:52:21 +10:00
Paul Davis c8ab1aaf7d use Canvas::LineSet for tempolines rather than N different Canvas::Line items plus a cache 2014-06-09 15:39:57 -04:00
Paul Davis 97109672c7 initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.
This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step
2014-06-03 16:09:06 -04:00
Paul Davis 20d7c58b83 make measure line positioning use Editor::sample_to_pixel() and avoid extra 0.5 pixel shift 2014-02-12 15:14:19 -05:00
Paul Davis 2108525187 fix up size and drawing of measure lines, even when vertically scrolled 2013-06-24 23:03:11 -04:00
Paul Davis a1f858d3b2 an awful lot of tweaks to drawing details 2013-06-24 16:28:53 -04:00
Paul Davis 6f664c1f67 many pervasive changes primarily related to waveform drawing, particular content-dragging, colors, and more 2013-04-24 15:42:14 -04:00
Paul Davis 0a2a876248 remove probably premature-or-no-longer-necessary optimization of measure line drawing 2013-04-21 15:35:20 -04:00
Paul Davis b02a7445bf Revert "add Group::clear(), do not clear _canvas member of Item when unparented (only the parent is changed)"
This reverts commit a4df65a56f83823aba27432685977f420458a213.
2013-04-21 15:35:20 -04:00
Paul Davis fca81c9a6a add Group::clear(), do not clear _canvas member of Item when unparented (only the parent is changed) 2013-04-21 15:35:20 -04:00
Paul Davis d1a05240ef fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it 2013-04-17 10:53:17 -04:00
Paul Davis 96eee9e7a1 change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems 2013-04-16 23:46:22 -04:00
Paul Davis eed0201c07 fix bug with tempo lines not extending far enough in the y-axis - since this is the cairo canvas now, just extend them to COORD_MAX .. yay! 2013-04-16 22:22:45 -04:00
Paul Davis af4539f857 a few changes to fix region dragging, all related to coordinate system handling, which is now much simpler with the new canvas; more debugging output when asked for 2013-04-15 10:38:12 -04:00
Paul Davis b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
Paul Davis 30968b8542 merge with master, including manual merge conflict resolution 2013-04-06 16:12:15 -04:00
Paul Davis 19bd641915 commit immediately post linking 2013-04-04 18:45:27 -04:00
Paul Davis aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00