13
0
Commit Graph

62 Commits

Author SHA1 Message Date
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
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
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
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
ccde95757d More contrast between different division lines. 2015-01-08 21:10:54 -05:00
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
2d3e6956e6 Slightly more distinct beat/subdivision lines. 2015-01-08 14:53:41 -05:00
84412e1367 Draw beat sudivisions according to snap setting. 2015-01-07 19:05:41 -05:00
91c650bc29 High resolution tempo lines. 2015-01-07 08:37:20 -05:00
bd6682f2cd next modifier 2014-12-15 10:22:22 -05:00
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
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
ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
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
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
c8ab1aaf7d use Canvas::LineSet for tempolines rather than N different Canvas::Line items plus a cache 2014-06-09 15:39:57 -04:00
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
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
2108525187 fix up size and drawing of measure lines, even when vertically scrolled 2013-06-24 23:03:11 -04:00
a1f858d3b2 an awful lot of tweaks to drawing details 2013-06-24 16:28:53 -04:00
6f664c1f67 many pervasive changes primarily related to waveform drawing, particular content-dragging, colors, and more 2013-04-24 15:42:14 -04:00
0a2a876248 remove probably premature-or-no-longer-necessary optimization of measure line drawing 2013-04-21 15:35:20 -04:00
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
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
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
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
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
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
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
30968b8542 merge with master, including manual merge conflict resolution 2013-04-06 16:12:15 -04:00
19bd641915 commit immediately post linking 2013-04-04 18:45:27 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
Julien de Kozak
27d77b8719 Fix some compilation warnings 2013-03-30 18:09:40 +01:00
d04caca7ea fix crash when zoom level leads to multiple tempo lines on the same pixel (may affect several mantis reports)
git-svn-id: svn://localhost/ardour2/branches/3.0@14015 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-27 22:42:36 +00:00
Carl Hetherington
d3775ac42b Slightly expanded version of patch from epitech_user to
fix use of invalidated iterator (#4823).


git-svn-id: svn://localhost/ardour2/branches/3.0@11889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-11 10:08:03 +00:00
Carl Hetherington
ffc50fcf9d Remove use of invalidated iterator (#4826).
git-svn-id: svn://localhost/ardour2/branches/3.0@11807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-07 01:37:27 +00:00
b1a33855ce use BBTPoint::is_bar() rather than ::beat == 1 ; implement TempoMap::framepos_plus_{beats,bbt}() with new map structure (not totally finished or accurate yet); prevent crash when dragging a marker to replace the initial tempo/meter markers
git-svn-id: svn://localhost/ardour2/branches/3.0@11154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 02:49:01 +00:00
bc003a539b save 4 bytes per Bar|Beat point in the tempo map
git-svn-id: svn://localhost/ardour2/branches/3.0@11147 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 19:03:13 +00:00
2a200bdc0e return two iterators into the Bars|Beats list of the tempo map rather than making a copy; use iterators in the GUI
git-svn-id: svn://localhost/ardour2/branches/3.0@11146 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03 18:43:58 +00:00
69c7dac1a1 new approach to tempo/meter: compute and store the entire map (every bar|beat point), thus enabling us to use the same computation to set the BBT points AND the metric markers (tempo + meter) on the audio timeline. It is known that snapping to the BBT grid doesn't work correctly right now, but this probably caused by the separate code in TempoMap::round_to_type() and i'll dig into that tomorrow. Note that the Bar|beat point list is evaluated "lazily" - we'll never store more than anyone actually needs to display or know, other than 1 minute's worth starting from frame zero
git-svn-id: svn://localhost/ardour2/branches/3.0@11129 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-02 04:04:14 +00:00