Commit graph

714 commits

Author SHA1 Message Date
nick_m
a0558694df Tempo ramps - audio-locked meters have a bbt of 1|1|0
- possibly lots going wrong with this due to multiple occurences
	  of 1|1|0.
2016-05-27 23:38:11 +10:00
nick_m
6ecef52d76 Tempo ramps - meter sections drag again. 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
452e484faf Tempo ramps - rework mouse dragging of tempo marks, derive beat_at_tempo() and tempo_at_beat(). 2016-05-27 23:38:11 +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
28127b1768 Tempo ramps - Remove the tick walk, store c_func, document the approach. 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
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
dbfe991cd8 Tempo ramps - fix changing from const to ramp in the gui.
- also fixes some midi mouse over problems
	- start using replacements for frames_per_bar() frames_per_beat() etc.
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
Paul Davis
ff9bb1886a single click in timefx mode should still show dialog, allow user to set parameters 2016-02-22 15:31:26 -05:00
Paul Davis
84de4246bb correct fix previous merge conflict 2016-02-22 15:31:23 -05:00
Paul Davis
16731d07d3 remove use of current_toplevel() where unnecessary, fix broken necessary cases, generally fix up show/hide/attach/detach for Tabbables 2016-02-22 15:31:22 -05:00
Paul Davis
9010262bed first compilable version of tabbable design.
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
Adrian Knoth
6fa88273aa Spelling correction patch from Debian
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch>
2016-02-22 15:13:01 -05:00
Tim Mayberry
90e35c7143 Fix bug #6762, MIDNAM note read outs don't work when dragging MIDI note
Also fixes it so the key is selected in the piano roll header
2016-02-11 08:17:18 +10:00
Tim Mayberry
f315c0910d Fix bug 6735, Take into account snap to when stretching regions in Editor 2016-01-21 14:07:49 +10:00
nick_m
4bb5278b62 Drag - Don't snap _last_pointer_frame when leaving autoscroll. 2015-12-08 04:34:28 +11:00
nick_m
6bd842e301 Use correct position when finishing tempo and meter marker drags. 2015-12-08 04:31:59 +11:00
nick_m
c4203f848e Don't snap twice when moving regions. 2015-12-08 03:36:53 +11:00
Tim Mayberry
9694dfc8d2 Fix bug #6506, crash when moving tempo markers with automation on midi tracks 2015-11-16 09:57:04 +10:00
nick_m
024adf3a4d Fix #6673 - another prematurely closed undo transaction.
- add_midi_region used to commit, resulting in
	  _region->set_position() adding a command when there was
	  no current transaction. The sub-bug here was that repeatedly
	  calling set_position() on the new region resulted in nonsensical
	  automation movement after the drag.
2015-11-14 03:14:23 +11:00
nick_m
d5c4d068b0 Fix snap modifiers not working on notes when grid is set to off. 2015-10-31 06:02:54 +11:00
nick_m
5e7c7e52bd Use automation line's frame of reference for y position.
- removes the need for 'pixel hunting' wrt NAME_HIGHLIGHT_SIZE.
	- new control points generated by clicking on a line are placed
	  where the verbose canvas cursor says they are.
2015-10-30 21:14:16 +11:00
nick_m
6d98ccf901 Dont do duplocate calls to MidiRegionView::trim_front_ending () in TrimDrag.
- fixes #6658
	- also leaves undo history alone if point trim does nothing.
2015-10-30 04:01:44 +11:00
nick_m
73328172d6 Fix reversed ratio in last commit. 2015-10-30 00:01:33 +11:00
nick_m
36dd7f8d9d Start line drag using canvas y coords.
- fixes #5759
2015-10-29 23:37:01 +11:00
nick_m
61729f8e68 LineDrag fixes wrt initial drag position and display of y value. 2015-10-28 05:33:43 +11:00
nick_m
fc8b03eef5 Fix incorrectly placed control points (y-axis). fixes #6647.
- also use the return from AutomationLine::drag_motion () in
	  anticipation of it correctly reporting its clamping to
	  AutomationRangeDrag.
2015-10-28 02:46:03 +11:00
nick_m
e78a44d4e5 Markers use the selection change stack. 2015-10-25 05:26:44 +11:00
nick_m
90aec831cb Relative snap for markers.
- also removes many uninitialised variable warnings in
	  editor_drag.cc found by cppcheck.
2015-10-24 04:59:57 +11:00
nick_m
c9864b71a0 ResizeNoteDrag selection click behaves as NoteDrag's does. 2015-10-24 01:19:00 +11:00
nick_m
96524d863b Clear point selection when uniquely selecting a note.
- Also fix selection undo when creating notes w/control
	  in MouseContent mode.
2015-10-24 00:07:03 +11:00
nick_m
d295fe12e4 Click on a selected note unique selects it (as per regions, control points). 2015-10-20 00:53:30 +11:00
nick_m
986a3a9775 Don't snap if fine adjust modifier used.
- permits non-alt modifier for fine adjust.
2015-10-20 00:53:29 +11:00
nick_m
6fe6f95d04 Fix for fine adjust overriding snap modifiers. 2015-10-20 00:53:29 +11:00
nick_m
17294ab9ec Make control point selection more consistent.
- disallow simultaneous events via ControlList::editor_add ()
	- clicking on an automation line selects the points that define it.
	- don't 'flash' a region selection when using mousedraw mode.
	- cp click selection resembles region selection.
	- region gain points respect snap modifier (a la automation points).
2015-10-20 00:53:27 +11:00
Robin Gareus
f307080808 disable follow-edits with external sync #6577 2015-10-18 02:03:41 +02:00
Robin Gareus
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis
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
Tim Mayberry
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
Robin Gareus
c315c6f140 Allow to override A/V-lock (when moving audio) 2015-09-08 02:51:58 +02:00
Robin Gareus
88f532ed6a Allow to override A/V-lock (when moving video) 2015-09-08 01:35:35 +02:00
Robin Gareus
f1fab06862 fix midi note de-select #6534 2015-08-28 02:25:48 +02:00
nick_m
1963c3ff10 Allow creation of region gain points by clicking on a line.
- Also fixes new AutomationLine points having huge offsets
	  on creation via line click (window vs canvas event sample).
2015-08-27 02:20:43 +10:00
Robin Gareus
aa3eb11fb3 fix typo in prev commit 2015-08-20 02:27:24 +02:00
Robin Gareus
89b0817f83 fix "locked" + "locked to video" bug.
previously if some audio region was locked and locked to video,
the audio-region always stayed put and the video could only be
moved forward.

TODO: add an "unlock all" option.
2015-08-20 02:24:27 +02:00
Tim Mayberry
bb79071038 Fix undo/redo when changing fade out length
This may fix bug #6518 or there may be more issues to be found
2015-08-19 13:56:12 +10:00
Tim Mayberry
07dc805919 Fix bug #6337, clicking in canvas without session loaded causes crash 2015-08-14 16:04:24 +10:00