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