Commit Graph

82 Commits

Author SHA1 Message Date
nick_m
5031bdcf10 midi note drags are music-based.
- wysiwyg (during drag) when dragging more than one note across
	  a tempo change.

	- introduces a muscal equivalent of snap_delta (only used for
	  note drags atm)

	- split earliest note in selection into a separate function

	- MRV::copy_selection() returns the equivalent _primary note
  	  to avoid offset hell.

	- RV::snap_frame_to_frame returns a MusicFrame

	- prevent note drag moving before region start.
2017-02-05 05:02:01 +11:00
140258d8ab remove reference "const int32_t&" -> const int32_t"
this simplifies lua-bindings and also let's the compiler worry about
constant primitive types.
2016-07-10 15:30:41 +02:00
nick_m
94e0a15325 Exact beat - provide audio->music mapping for region split.
- for those not in the know, this series provides a way to
	  remove the temporal distortion introduced when using an
	  audio frame-based gui for music-locked objects.

	  In short, the gui uses an audio frame representation to move
	  objects. It displays the object using frame_at_beat(), quantizing
	  the time value to audio frames. This is fine until the user selects
	  that frame but expects it to be interpreted as a beat.
	  Thus beat_at_frame() would not produce the user-expected beat
	  (temporal quantization error of up to 0.5 audio samples).
	  This is one method of mapping audio time to music time accurately.
2016-07-10 02:18:36 +10:00
nick_m
2d5238d875 Make some musical operations on music-locked regions operate in beats.
- use exact beats to determine frame position.
	- see comments in tempo.cc for more.
	- this hasn't been done for split yet, but dragging and
	  trimming are supported.
2016-07-10 02:18:36 +10:00
nick_m
88477ace25 Fix inverted logic of SnapOff with snap modifiers pressed.
- also clean up, rename and comment some previous hanges.
2015-05-23 03:09:48 +10:00
nick_m
65e06fa350 More cleanup
- remove "no_magnets" ugh.
2015-05-22 04:26:16 +10:00
nick_m
91a34c596d Relative snap - support magnetic mode (hackishly for now) 2015-05-17 04:26:05 +10:00
f20933b80f allow theme control of sync mark colors 2014-12-19 10:07:20 -05:00
6031308520 Use color modifiers for dynamic region styles. 2014-12-18 20:23:34 -05:00
a12a065457 Fix copy paste of MIDI and track automation. 2014-12-18 20:23:34 -05:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
41a9060df9 Move time converters only to the region views that actually need them.
A step towards sorting out time issues more solidly, the time situation of MIDI
region views and automation region views is slightly different.
2014-11-22 00:46:15 -05: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
50fea864db rationalize and coordinate handle of region (time axis view item) opacity.
There are still some bugs with this because of the waveview image cache - fixes coming soon.
2014-06-13 12:22:39 -04:00
ce08ec0de0 substantial changes in color management, involving a reduction in the use of Gdk::Color and more consistent logic for region coloring.
Group tabs now also get the text drawn in an appropriately contrast-y color
2014-06-09 23:29:00 -04:00
39eec5ac1b hopefully fix up selection of color for region name text, under all conditions 2014-06-05 12:04:42 -04:00
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
5cafb98983 Work around badly chosen argument name in giomm/dbusmessage.h
interface is defined in windows/mingw headers. hopefully this will
be fixed in giomm at some point and this crap can be removed
2013-07-11 15:29:28 -04:00
7de31d5a41 use virtual bool canvas_group_event () in TimeAxisViewItems to get suitably delegatable/inherited event handling 2013-04-25 16:06:12 -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
b05968fb4e change frames_per_pixel to samples_per_pixel 2013-04-12 11:31:50 -04:00
7caf517b27 add (bezier) curves to canvas, use for automation lines; fix issue with rectangles missing their upper line segment; more cairo canvas fixes 2013-04-11 22:54:12 -04:00
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
Ben Loftis
2292e33ee4 crossfade hack and slash. removed overlap checks, overlap mode, default length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion
git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 16:42:05 +00:00
Carl Hetherington
174c0d6831 Snap new automation points in AutomationRegionViews (#4297).
git-svn-id: svn://localhost/ardour2/branches/3.0@10059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-06 23:28:55 +00:00
f6951c92f0 attempt to fix deep confusion in GUI code about converting between musical and audio time (should have beneficial effects on #4257); change ghost note drawing when in MIDI note draw/add mode so that its start is aligned with the mouse cursor
git-svn-id: svn://localhost/ardour2/branches/3.0@9998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-16 14:24:41 +00:00
ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
ebf3762fa9 fix computation of silence text, and its display. it is still not on top of the canvas, which is a small problem
git-svn-id: svn://localhost/ardour2/branches/3.0@8227 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 18:17:36 +00:00
f176612086 move display of silence for strip-silence into regionviews, along with text to describe impact on the region. this doesn't actually make strip-silence work any better, but the display is improving
git-svn-id: svn://localhost/ardour2/branches/3.0@8224 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-08 21:02:37 +00:00
Carl Hetherington
6df5d5d87a Tweak some naming slightly.
git-svn-id: svn://localhost/ardour2/branches/3.0@8210 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 17:16:59 +00:00
Carl Hetherington
e131fd391d Put MIDI notes into their own canvas group, and reparent this group during start trims to stop the notes moving. Improves the visual display on start trim of a MIDI region.
git-svn-id: svn://localhost/ardour2/branches/3.0@8080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-24 01:04:53 +00:00
Carl Hetherington
c246926e41 Move some methods out of Editor into RegionView.
git-svn-id: svn://localhost/ardour2/branches/3.0@7981 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-09 01:58:12 +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
da8eec7a83 remove Glib::ustring from gtk2_ardour
git-svn-id: svn://localhost/ardour2/branches/3.0@7774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-14 16:51:02 +00:00
Carl Hetherington
ba225736a4 Don't give automation region views left/right trim handles. Fixes #3428.
git-svn-id: svn://localhost/ardour2/branches/3.0@7727 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-01 22:35:46 +00:00
Carl Hetherington
3b93174963 No-op: indentation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7626 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-15 10:33:23 +00:00
Carl Hetherington
439d13535e Add note edit dialog. Fixes #3346.
git-svn-id: svn://localhost/ardour2/branches/3.0@7625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-14 02:00:50 +00:00
Carl Hetherington
27dd925f42 Don't tempt the user with visual cues that they can adjust fades when they can't (in MIDI internal edit mode)
git-svn-id: svn://localhost/ardour2/branches/3.0@7433 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-16 21:12:06 +00:00
Carl Hetherington
bf7023bc7f Disable midi model updates during trim drags. Speeds the drags up at the cost of not updating notes in real-time. Fixes #3162.
git-svn-id: svn://localhost/ardour2/branches/3.0@7315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-28 18:43:40 +00:00
Carl Hetherington
22a2c82045 Make region properties dialogue work for MIDI regions too.
git-svn-id: svn://localhost/ardour2/branches/3.0@7136 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-22 00:26:26 +00:00
Carl Hetherington
9213e9c909 Allow more than one peaks_ready callback to be pending for an AudioRegionView
at any one time.  Prevents problems when there is more than 1 channel for which
peaks are not ready; before, the first peaks_ready callback would be forgotten
when the second one was requested.  Should fix #3074.


git-svn-id: svn://localhost/ardour2/branches/3.0@6951 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-22 01:40:33 +00:00
6ef5d85ae1 changes from 2.X starting in march 2009 through oct 20 2009 (5826 inclusive)
git-svn-id: svn://localhost/ardour2/branches/3.0@6761 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-16 15:33:04 +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
Carl Hetherington
3c00a7ca2a Move ARDOUR::Change into PBD so that Stateful can be aware of
what Change a State reflects.  Hence allow Stateful to do some
of the work of set/get_state in Region.


git-svn-id: svn://localhost/ardour2/branches/3.0@6671 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-10 01:38:20 +00:00
aae367b63c use new syntax for connecting to backend signals that enforces explicit connection scope, plus a few other related matters
git-svn-id: svn://localhost/ardour2/branches/3.0@6376 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-19 20:26:31 +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
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
5328a114c9 time line items now have 64 bit location + duration; start making note resize apply across regions
git-svn-id: svn://localhost/ardour2/branches/3.0@5642 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-09 02:09:04 +00:00