cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
nick_m
99653ae2ca
Simplify Editor::mouse_add_new_meter_event() a bit.
2016-07-10 02:18:38 +10:00
nick_m
0bdbe56cf1
Stop passing references to things that may disappear when a metric section is replaced.
2016-07-10 02:18:37 +10:00
nick_m
180445c18c
Indicate meter frame even when adding a music-locked meter from the gui.
2016-07-10 02:18:37 +10:00
nick_m
8b0c5b8426
Register colour aliases for tempo curve.
2016-06-16 02:06:40 +10:00
nick_m
b3b246b724
Pick a colour for music-locked tempo markers.
2016-06-13 04:27:53 +10:00
nick_m
34c9ac9dd7
Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt()
2016-05-27 23:38:17 +10:00
nick_m
8f3bc6f809
Tempo ramps - rename tempo_at() -> tempo_at_frame().. 3 decimals for the audioclock tempo display.
2016-05-27 23:38:17 +10:00
nick_m
a9921c10eb
Gd Lk ramps - rework auto scaling. change colour.
2016-05-27 23:38:17 +10:00
nick_m
1927a707c5
Tempo ramps - fix huge marker height mark, remove unused var.
2016-05-27 23:38:17 +10:00
nick_m
6309807bc7
Tempo ramps - rename for consistency, remove some testing code, add meter based bbt->pulse conversions.
2016-05-27 23:38:17 +10:00
nick_m
8b2f73d5ac
Tempo ramps - rework tempo drags, improve comments.
2016-05-27 23:38:17 +10:00
nick_m
f182235410
Tempo ramps - consolidate TempoMap::predict_tempo()
2016-05-27 23:38:17 +10:00
nick_m
d1a075110a
Tempo ramps - more code cleanup, fix cross-marker jumping using tempo dialog bbt
2016-05-27 23:38:17 +10:00
nick_m
074db3b861
Tempo ramps - more code consolidation wrt add meter/tempo.
2016-05-27 23:38:16 +10:00
nick_m
82d876b48b
Tempo ramps - clean up add/replace tempo
2016-05-27 23:38:16 +10:00
nick_m
cfbc42cd3a
Tempo ramps - ensure displayed grid extends beyond the leftmost frame.
2016-05-27 23:38:16 +10:00
nick_m
2d3d7a5355
Tempo ramps - fix ambiguous api, fix flickering tempo curves.
2016-05-27 23:38:16 +10:00
nick_m
058b781258
Tempo ramps - tempo marker's mark indicates curve height ar point.
2016-05-27 23:38:16 +10:00
nick_m
5ccfeea5bc
Tempo ramps - more bbt dragging work.
...
- display prev tempo and tempo at mouse while dragging
- simplify ramp dilation somewhat.
2016-05-27 23:38:16 +10:00
nick_m
86b0268e8b
Tempo ramps - add visualtempo curve, dragging bbt or music rulers with constraint modifier dilates previous tempo.
2016-05-27 23:38:16 +10:00
nick_m
105999956e
Tempo ramps - remove unused var.
2016-05-27 23:38:15 +10:00
nick_m
06f294fa18
Tempo ramps - prevent adding tempos before the first tempo.
2016-05-27 23:38:15 +10:00
nick_m
932c7b07fd
Tempo ramps - adding a new tempo doesn't involve a dialog.
2016-05-27 23:38:15 +10:00
nick_m
663814bf22
Tempo ramps - tempo marks use mvc-style copy drag, don't crash if two successive ramped tempos are the same :|
2016-05-27 23:38:14 +10:00
nick_m
3d07cd79e1
Tempo ramps - api change, remove some code.
2016-05-27 23:38:13 +10:00
nick_m
69b6379b23
Tempo ramps - pressing constraint modifier keys during tempo drag changes tempo with vertical movement, incorporating beat constraint (if present).
...
- makes it easy to find suitable accelerandos for hit points in conjunction
with playhead position, beat-locked tempos and initial meter frame.
2016-05-27 23:38:12 +10:00
nick_m
33e98186e4
Tempo ramps - small bug fixes/cleanup.
2016-05-27 23:38:12 +10:00
nick_m
58d4889ad3
Tempo ramps - music-locked meters now use beats rather than pulses as their reference.
...
- fixes many problems with a non-zero audio-locked first meter.
2016-05-27 23:38:12 +10:00
nick_m
b47bb55226
Tempo ramps - improve music-locked meter drags, improve dump().
...
- dump now shows cross-calculation of tempo positions.
2016-05-27 23:38:11 +10:00
nick_m
f16089ba88
Tempo ramps - allow moving the first meter if audio locked.
...
- strangely broken wrt the grid, but kind-of works.
2016-05-27 23:38:11 +10:00
nick_m
278ad73259
Tempo ramps - check for impossible locations tempo dialog bbt entry. reorganise code.
2016-05-27 23:38:11 +10:00
nick_m
989089a4e9
Tempo ramps - add method to handle beat-based tempo reordering. clean code.
2016-05-27 23:38:11 +10:00
nick_m
77abc08d6f
Tempo ramps - fix crash-causing locking errors. clean up code a bit.
2016-05-27 23:38:10 +10:00
nick_m
474784c8ba
Tempo ramps - setting bbt of an audio-locked tempo marker in the tempo dialog works.
2016-05-27 23:38:10 +10:00
nick_m
b8b6d562a4
Tempo ramps - restore bbt settings in tempo dialog for audio-locked tempo markers
...
- see comments
2016-05-27 23:38:10 +10:00
nick_m
c7ff67004a
Tempo ramps - fix messed up meter section state, audio-locked tempos ignore the bbt setting in the tempo dialog for now.
2016-05-27 23:38:10 +10:00
nick_m
bc42dea451
Tempo ramps - first stab at metric marks locked to frames or beats.
...
- pretty much untested.
2016-05-27 23:38:10 +10:00
nick_m
87d49cd6ec
Tempo ramps - api rename, fix various meter and tempo dialog bugs.
2016-05-27 23:38:10 +10:00
nick_m
5c6e18e6a0
Tempo ramps - remove the concept of bars from tempo sections.
...
- 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-27 23:38:09 +10:00
nick_m
ba0cfe81a4
Tempo ramps - massively speed up dragging of tempo marks.
2016-05-27 23:38:09 +10:00
nick_m
340bd42c62
Tempo ramps - allow live updating of tempo markers.
...
- all a bit slow, but should be ok once we can lock
markers to frames.
2016-05-27 23:38:09 +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
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02: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
e1f168de11
rename Marker class
...
Classes are in the global namespace.
OSX has a flat namespace and OSX32bit/Carbon has a Marker too.
2015-07-23 17:58:40 +02:00
nick_m
88e5fccbf1
Don't set the following dialogs to be transients for the editor:
...
Control point dialog
Edit note dialog
Both types of tempo dialog
Both types of meter dialog.
2015-03-14 03:52:03 +11: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
64fa63212f
move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration
2014-12-22 13:39:46 -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
6b3a8915f3
add abort() to non-reached code
...
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-11-14 11:30:08 +01:00
ba4d1cd1c1
remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config()
2014-10-21 22:58:58 -04:00
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02: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
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
d23c2499bf
rationalize, consolidate and make work dbl-click editing for regions and markers, as part of the Drag model rather than discretely
2014-01-27 10:09:58 -05:00
2108525187
fix up size and drawing of measure lines, even when vertically scrolled
2013-06-24 23:03:11 -04:00
e2f0c5f91e
merge resolution with master
2013-05-02 20:21:54 -04:00
3973ce81b3
remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything 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-05-02 18:13:35 -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
f88cfdb478
remove Editor::redraw_measures to improve efficiency of tempo measure line redraws
2013-04-20 16:11:40 -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
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
8877199ae0
leftmost_position => leftmost_sample, current_page_frames => current_page_samples
2013-04-12 11:21:12 -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
8cbd5a8bec
fix initial display of BBT ruler, i believe
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13560 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28 00:18:10 +00:00
b286b45ea8
adjust the way we use a pair of iterators into the tempo map so that the 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-11-27 22:48:59 +00:00
818aa2e2f0
simplify and legalize call to TempoMap::get_grid() when getting grid points
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11195 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-08 16:53:11 +00:00
355183f1ab
partially revert some of the recent work on tempo to reflect new 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-06 16:39:40 +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
a85e0b0a2e
a huge set of changes to tempo+meter handling. testing feedback requested. the_CLA, you know who i mean :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-28 21:02:31 +00:00
24a29f61d9
provide config parameter to allow non-quarter note pulses; off by default; 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-21 02:33:38 +00:00
6227b5d473
rework tempo dialog to (a) allow selection of pulse note type (b) avoid 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-20 16:29:44 +00:00
e0cf3b6354
more fun and games with meter and the tempo map: rename 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-12-13 02:46:36 +00:00
Carl Hetherington
52eced2691
Remove duplicate call of compute_current_bbt_points which looks like a 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
2011-04-19 10:19:14 +00:00
3fab3ead7d
remove line parent member from Marker, part 3
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8361 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-29 13:48:25 +00:00
4b861e6039
Rename libmusictime libtimecode (consistent with already used namespace "Timecode").
...
Move BBT_Time to libtimecode.
git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 18:13:37 +00:00
Carl Hetherington
73192bc1a7
Remove all use of nframes_t.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8166 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-03 22:26:29 +00:00
b85b4d9e54
make ardour3 build and link on OS X (tiger, at least)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 05:14:48 +00:00
Carl Hetherington
fcfbd65268
Further fixes for #3529 . Show marker lines the same colour as their marker; adjust height of lines.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8009 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-11 13:36:38 +00:00
ede4ecbb00
megaopus patch #2 for today: remove nframes64_t and sframes_t from source
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
98d994f29c
fix a variety of unused argument errors noted by gcc 4.3.2 on x86
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-02 17:01:36 +00:00
71a4796dc3
forward port of 7539 from 2.x
...
git-svn-id: svn://localhost/ardour2/branches/3.0@7667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-22 16:28:26 +00:00
Carl Hetherington
c2da4ec8f9
Prevent multiple tempo / meter changes being inserted at the same point
...
on the timeline; adding a new change at the same time as an existing one
will replace the existing one. Should prevent #769 from happening.
Some cleanups and tweaks to tempo / meter dialogues. Desensitize Remove
menu option for those changes that can't be removed.
git-svn-id: svn://localhost/ardour2/branches/3.0@7045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-02 23:14:43 +00:00
fa701b8c06
change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
ce7a5e1c9f
the Properties & 64bit region commit
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
c83389b8ec
cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 20:21:43 +00:00
f6fdd8dcbf
switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
8687895abb
remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
64dc5427e4
make all use of bind/mem_fun be explicitly sigc::
...
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
bb9cc45cd2
Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
...
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red. I don't know the emacs equivalent...
git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
83c27fa888
Support recursive undo events.
...
Code can now call begin_reversible_command and commit_reversible_command around a region
of code which itself calls those functions (and so on), areas contained within enclosing
regions will be added as sub-commands of the current command (i.e. it's a stack).
Fixes mantix issue #0002558 .
git-svn-id: svn://localhost/ardour2/branches/3.0@5051 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-05 01:53:30 +00:00
e0aaed6d65
*** NEW CODING POLICY ***
...
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.
Do this:
#include "ardour/types.h"
NOT this:
#include <ardour/types.h>
Rationale:
This is best practice in general, to ensure we include the local version
and not the system version. That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.
More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly. That is:
!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!
Failure to comply is punishable by death by torture. :)
P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).
git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
Carl Hetherington
4e1f451520
Remove unnecessary 0 checks before delete; see http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8 Apologies for the big commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-18 19:31:00 +00:00
bc89fe0147
most of the 2.X->3.0 commit (up to rev 4299) except for gtk2_ardour/editor_canvas.cc; builds and runs and does a few specific things but expect it to be buggy for a while yet
...
git-svn-id: svn://localhost/ardour2/branches/3.0@4313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-12-12 14:43:24 +00:00