summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_tempodisplay.cc
AgeCommit message (Collapse)Author
2016-05-27Tempo ramps - api rename, fix various meter and tempo dialog bugs.nick_m
2016-05-27Tempo ramps - remove the concept of bars from tempo sections.nick_m
- this helps where tempo and meter have a somewhat circular dependency. MetricSection now has a musical position expressed in beats (a double). MeterSection still has a bbt, but it really isn't needed as we have enough information to discover the number of bars at a given beat without it. TempoSection now has a hack to enable loading of legacy sessions, which will ultimately be a lot cleaner than the current code. Removing bars from tempo sections also allows us to place them at arbitrary frames (implemented here).
2016-05-27Tempo ramps - massively speed up dragging of tempo marks.nick_m
2016-05-27Tempo ramps - allow live updating of tempo markers.nick_m
- all a bit slow, but should be ok once we can lock markers to frames.
2016-05-27Initial stab at tempo ramps.nick_m
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.
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-09-16Move UIConfiguration Singleton into UIConfiguration headerTim Mayberry
This removes the direct dependence on ardour_ui.h from 39 files
2015-07-23rename Marker classRobin Gareus
Classes are in the global namespace. OSX has a flat namespace and OSX32bit/Carbon has a Marker too.
2015-03-14Don't set the following dialogs to be transients for the editor:nick_m
Control point dialog Edit note dialog Both types of tempo dialog Both types of meter dialog.
2015-01-07Draw beat sudivisions according to snap setting.David Robillard
2015-01-07High resolution tempo lines.David Robillard
2014-12-22move all (G)UI related configuration parameters into UIConfiguration, not ↵Paul Davis
RCConfiguration
2014-12-14fix up requested color names everywhere.Paul Davis
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14initial pass to replace all UIConfiguration::get_XXXXXX() calls with ↵Paul Davis
UIConfiguration::color(name). IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-11-14add abort() to non-reached codeRobin Gareus
This cleans up a lot of false-positives in static analysis and also helps compilers to optimize code paths in general. (tagging the fatal stingstream operator as ‘noreturn’ is far less trivial)
2014-10-21remove "canvasvar_" from all functions related to obtaining values from ↵Paul Davis
ARDOUR_UI::config()
2014-06-25move utility functions into a dedicated namespaceRobin Gareus
2014-06-09use Canvas::LineSet for tempolines rather than N different Canvas::Line ↵Paul Davis
items plus a cache
2014-02-12make measure line positioning use Editor::sample_to_pixel() and avoid extra ↵Paul Davis
0.5 pixel shift
2014-01-27rationalize, consolidate and make work dbl-click editing for regions and ↵Paul Davis
markers, as part of the Drag model rather than discretely
2013-06-24fix up size and drawing of measure lines, even when vertically scrolledPaul Davis
2013-05-02merge resolution with masterPaul Davis
2013-05-02remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything ↵Paul Davis
deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works
2013-04-24many pervasive changes primarily related to waveform drawing, particular ↵Paul Davis
content-dragging, colors, and more
2013-04-20remove Editor::redraw_measures to improve efficiency of tempo measure line ↵Paul Davis
redraws
2013-04-17fix clamping of line and rect coordinates to avoid issues with cairo when ↵Paul Davis
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-16change UIConfig to use accessor/setter methods like RCConfig so that ↵Paul Davis
ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
2013-04-15a few changes to fix region dragging, all related to coordinate system ↵Paul Davis
handling, which is now much simpler with the new canvas; more debugging output when asked for
2013-04-12leftmost_position => leftmost_sample, current_page_frames => ↵Paul Davis
current_page_samples
2013-04-04commit immediately post linkingPaul Davis
2013-04-04initial commit of hand merging, plus getting "ancient" waf script to work ↵Paul Davis
correctly
2012-11-28fix initial display of BBT ruler, i believePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@13560 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-27adjust the way we use a pair of iterators into the tempo map so that the ↵Paul Davis
iterators are always local to the scope where they are used, which fixes at least one tempo-map related crash; also fix correct setting of join-object-range parameter, where the property wasn't actually used git-svn-id: svn://localhost/ardour2/branches/3.0@13559 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08simplify and legalize call to TempoMap::get_grid() when getting grid pointsPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@11195 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06partially revert some of the recent work on tempo to reflect new ↵Paul Davis
understanding of the problem. behaviour is now believed to be totally correct but awaiting a bit more testing git-svn-id: svn://localhost/ardour2/branches/3.0@11171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-03return two iterators into the Bars|Beats list of the tempo map rather than ↵Paul Davis
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-02new approach to tempo/meter: compute and store the entire map (every ↵Paul Davis
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
2011-12-28a huge set of changes to tempo+meter handling. testing feedback requested. ↵Paul Davis
the_CLA, you know who i mean :) git-svn-id: svn://localhost/ardour2/branches/3.0@11103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21provide config parameter to allow non-quarter note pulses; off by default; ↵Paul Davis
no GUI to reset it at this point git-svn-id: svn://localhost/ardour2/branches/3.0@11046 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-20rework tempo dialog to (a) allow selection of pulse note type (b) avoid ↵Paul Davis
awful kludge to get note type from the combobox; show pulse note type in tempo markers git-svn-id: svn://localhost/ardour2/branches/3.0@11027 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13more fun and games with meter and the tempo map: rename ↵Paul Davis
Meter::beats_per_bar() to Meter::divisions_per_bar() so that its clear(er) on what it is actually returning; use Meter::divisions_per_bar() in more (all?) places that need it; fix up dragging meter marks by removing the relevant meter section from the map while we drag; operator<< for some tempo-related objects git-svn-id: svn://localhost/ardour2/branches/3.0@10995 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-19Remove duplicate call of compute_current_bbt_points which looks like a ↵Carl Hetherington
mis-merge. Update tempo-based rulers on tempo map edit (#3979). git-svn-id: svn://localhost/ardour2/branches/3.0@9373 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-29remove line parent member from Marker, part 3Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8361 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14Rename libmusictime libtimecode (consistent with already used namespace ↵David Robillard
"Timecode"). Move BBT_Time to libtimecode. git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03Remove all use of nframes_t.Carl Hetherington
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13make ardour3 build and link on OS X (tiger, at least)Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-11Further fixes for #3529. Show marker lines the same colour as their marker; ↵Carl Hetherington
adjust height of lines. git-svn-id: svn://localhost/ardour2/branches/3.0@8009 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17megaopus patch #2 for today: remove nframes64_t and sframes_t from sourcePaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-02fix a variety of unused argument errors noted by gcc 4.3.2 on x86Paul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-22forward port of 7539 from 2.xPaul Davis
git-svn-id: svn://localhost/ardour2/branches/3.0@7667 d708f5d6-7413-0410-9779-e7cbd77b26cf