Commit Graph

963 Commits

Author SHA1 Message Date
b5487415ec editing: a partiaally implemented version of TempoTwistDrag, to be completed. 2022-05-02 16:47:23 -06:00
0a99d67dac meter marker drag: better initialization of map member 2022-05-02 11:50:34 -06:00
90a38a2b31 fix tempo marker drag crash caused by use of uninitialized map member 2022-05-02 11:49:43 -06:00
789abc561d MIDI editing: fix selection during note resize drags
The ::start_drag() implementation now defers add/extend selection logic to
MidiRegionView::note_selected(), and drops the original limitation that we did
not do extend-selection on button press, only button release.
2022-04-17 22:18:31 -06:00
7293904e53 use new TempoCommand when putting tempo map ops into undo/redo history 2022-04-08 11:58:04 -06:00
883a44e6a4 temporal: TempoMap::use() returns a const ptr to enforce semantics (GUI version)
This commit leaves two issues outstanding:

1. unclear/ugly semantics for drag operations that reset the GUI thread's tempo map to the writable copy
2. undo/redo for the tempo map

These will be addressed in future commits
2022-04-08 11:58:04 -06:00
1a8b80e56e drop experimental use of RegionView::DisplaySuspender during trim drags 2022-04-05 20:52:10 -06:00
582661dbd0 as an experiment, prevent redisplay of (MIDI) regions during trimming
This doesn't actually work right now because of a conflicting design in MidiRegionView, but
could be promising. Or it might be reverted
2022-04-05 20:52:10 -06:00
ae8c043fe1 regionviews: use integer counter instead of boolean to control redisplay of contents 2022-04-05 20:52:09 -06:00
b3ccccb48f add #warning to code that should be fixed ASAP but not pre-Mixbus8 release 2022-03-21 13:00:01 -06:00
fead587a5a
Remove debug output 2022-03-21 18:47:53 +01:00
f6646eaa2d
Fix undo/redo when moving regions to a different track
This was broken during development of ripple-all.
First explicit rdiff_and_add_command() was used, but
when that was reverted later, the original stateful_diff
was not restored.

989408626d
1ccf272d58
2022-03-21 18:47:53 +01:00
139d54ac9b
Fix automation range drag guard points
This addresses an issue with missing guard points at the
beginning of a range drag when the range is not snapped to
a musical grid.

Note that the code below "same thing for the end" does not use
.beats() either.
2022-03-18 02:31:31 +01:00
e3b66825eb superclock_ticks_per_second: GUI edition changes 2022-03-17 14:15:59 -06:00
9f29986a16
Fix Wreorder 2022-03-17 17:12:08 +01:00
01ef5a5b24 ripple (gui part): should_ripple_all() encapsulates modes Ripple+RippleAll 2022-03-14 19:26:41 -05:00
luz paz
364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
4c433106a4 add interview mode to preferences and fix up implementation 2022-01-24 11:29:36 -07:00
8a310a748a add new config variable for interview-editing
If enabled, this prevents range-selection from propagating across
all tracks when RippleAll is set
2022-01-24 11:29:36 -07:00
c916d3d952 Substantial overhaul of tempo display code
Major changes: do not delete and recreate markers and curves for every tempo map
change, attach tempo curves directly to their (preceding) tempo marker, notable
cleanup of TempoCurve class to remove unnecessary members.

More tweaks expected since algorithm for matching markers and tempo map
points is not correct yet.
2022-01-18 19:47:20 -07:00
a6727cace5 use new editor/tempo map editing API for tempo marker drag 2022-01-15 22:53:58 -07:00
2342caae46
Push a few more nutempo DnD warning macros 2022-01-10 21:48:11 +01:00
fa7e7a462c
Work-around/Fix DnD from sidebar to editor-canvas
Editor::drop_regions() creates a new RegionInsertDrag()
with the region to drop to the timeline.

RegionInsertDrag is-a RegionMotionDrag is-a RegionDrag is-a Drag.
However the region does not yet exist on the timeline and
RegionView is NULL.

This will likely need an API change. e.g.
Directly pass the TimeDomain as argument. The information can
be provided by the region, or from the TimeAxisView or RouteUI
when dropping a new source/region.
2022-01-10 21:36:17 +01:00
7c35783d63 various fixes for cue marker creation, dragging, naming 2022-01-05 13:27:47 -07:00
1d2fa465d3 remove mistaken handling of cue marker bar events 2022-01-05 13:27:47 -07:00
b1f73d25bf actual GUI interaction for cue marker ruler 2022-01-04 15:23:51 -07:00
208010ff18
Fix Wreorder 2021-12-11 15:51:46 +01:00
3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
eb0b3f253a make Drag::grab_time() etc. follow the drag's _time_domain 2021-12-04 19:52:42 -07:00
796785b42f in Drags, use Drag::pixel_to_time() rather than Editor::pixel_to_sample()
This preserves the TimeDomain of the drag
2021-12-04 19:48:31 -07:00
845b5d81a9 add Drag::pixel_to_time() which reflects the Drag's _time_domain setting 2021-12-04 19:38:26 -07:00
fc155e76b4 give every Drag an explicit time domain 2021-12-04 18:44:57 -07:00
5212fc9677 MIDI Program Changes: dragging patches was resulting in the wrong location or disappearing altogether
a Program Change's position is referenced from the midi Source which might not be the same as the region start
2021-11-23 14:14:35 -06:00
ca7e133e3d MIDI Draw: fix thinko in length=Auto 2021-11-19 10:28:37 -06:00
93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
2a6da0113f MIDI Draw: Provide a menu to explicitly select note-length
ToDo: 3,5,7's?  keyboard shortcuts?
2021-11-18 07:35:13 -06:00
c24cabead0 GUI changes to follow TempoMap::sample_at() API changes 2021-11-17 15:57:30 -07:00
7fca55eeb5 Fix placement of drawn MIDI notes.
Important logic from 6.9 was either missing or incorrectly implemented. New
version is much simpler - we just use the RoundDownMaybe mode of round_to_bbt()
to ensure that the note start is always within the current grid even if the
mouse is more than halfway "through" it.
2021-11-04 18:27:02 -06:00
248d7e5980 prevent trim-dragging that doesn't change region duration from incorrectly resetting fades 2021-10-05 10:43:24 -06:00
8bdb8f51fd remove debug output 2021-10-04 17:47:55 -06:00
7d0c67e376 Revert "A small experiment to try '#pragma GCC warning'"
This reverts commit 808bfe0916.

This pragma syntax is not compatible with gcc
2021-10-03 09:10:14 -06:00
John Emmas
808bfe0916 A small experiment to try '#pragma GCC warning'
MSVC is happy to ignore the above pragma although it aborts the build if it encounters #warning

#pragma GCC warning seems to work fine here for Clang - so start by changing just 1 x file to see if there's any detrimental effect for the other builds.
2021-10-03 13:29:07 +01:00
754230921d there is no Properties::position any more (GUI)
Position is a part of a length property (a duple specifying
"duration AT position", and there is no distinct property
for just the position itself
2021-09-25 16:49:51 -06:00
66595ae60e a more correct fix (partial reversion) for Drag::adjusted_time() 2021-09-25 16:49:51 -06:00
3a1d8c48df Fix implementation of Drag::adjusted_time() to behave like the pre-nutempo version 2021-09-24 15:46:11 -06:00
139a051b18 remove default args to Session::new_midi_track() (gui edition) 2021-08-13 12:51:36 -06:00
b6f290add2 timeline type changes for new ripple code and post-conflict-resolution fixups 2021-08-13 12:51:36 -06:00
bf50d27b68 fix timeline type use 2021-08-13 12:51:36 -06:00
f755174c5f fix timeline type use 2021-08-13 12:51:36 -06:00
757acf381e fix typo/thinko with const "division" value 2021-08-13 12:51:36 -06:00