Commit graph

344 commits

Author SHA1 Message Date
Paul Davis
df52c39ce0 freehand line drawing: automation & velocity share the same basic code 2023-07-14 13:03:26 -06:00
Paul Davis
60628a62be somewhat active lollipop event handling 2023-06-26 14:18:17 -06:00
Robin Gareus
1ee2675716
Implement Selection Marker class and events 2023-05-17 01:50:51 +02:00
Paul Davis
21074b189a remove unnecessary virtual (no default value involved) 2023-03-24 14:19:15 -06:00
Paul Davis
d25a615e20 API development for time domain flipping (GUI edition) 2023-03-24 14:19:15 -06:00
Paul Davis
c304edd253 switch from glib atomic to std::atomic (gui edition) 2023-03-24 14:19:15 -06:00
Paul Davis
b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus
eb42318d3e
Consolidate ruler prelight events
This fixes various copy/edit bugs (e.g. transport ruler uses
"range marker bar" colors, but only after a enter/leave event).
2022-12-10 15:14:29 +01:00
Robin Gareus
b972301a3b
Add action to noninteractively add BBT marker at playhead 2022-12-02 21:31:56 +01:00
David Robillard
bdacfb8724 Fix invalid use of Doxygen "@param" command
This is never for inline references to parameters, only for starting parameter
documentation blocks.  The "@p" command is for this, although unfortunately
Doxygen doesn't actually do anything with it and it's just an alias for code
text.
2022-10-30 20:44:28 -04:00
Paul Davis
21a05f539b tweak PublicEditor API to include virtuals for tempo map edits 2022-10-27 13:42:58 -06:00
Robin Gareus
0852f898a3
Prepare to move SimpleExport to backend 2022-10-21 19:35:17 +02:00
Robin Gareus
1faefb5afd
Implement simple/quick export dialog 2022-10-20 21:38:45 +02:00
Robin Gareus
07dea50456
Fix DnD import to grouped tracks
Import via Drag/Drop previously worked by selecting a track,
and then importing to the selected track.

This approach fails when the selected track is in a track-group,
and selecting the track also selects other tracks of different type.

Now the track to drop onto is passed directly passed through to
::finish_bringing_in_material as existing_track.
2022-09-30 21:30:48 +02:00
Robin Gareus
888d91d599 Add action to locate to loop start/end 2022-09-07 19:15:36 +02:00
Paul Davis
d2fc142e21 infrastructure and implementation to allow "q" to drive quantize-selected-notes in midi edit mode 2022-08-31 13:53:55 -06:00
Ben Loftis
3387d127e7 Lua: add arguments to trigger_script_by_name 2022-06-01 08:53:50 -05:00
Paul Davis
a3c5db5d51 ensure that non-drag track height changes cause a call to Editor::redisplay_track_views() 2022-04-05 20:52:10 -06:00
Robin Gareus
90770a2788
Consolidate get_grid_beat/music_divisions
This fixes "snap to bar" which previously snapped to beats
2022-03-04 17:51:21 +01:00
Ben Loftis
bb67041938 public_editor: expose toggle_cue_behavior for access from ArdourUI 2022-02-12 21:46:30 -06:00
Robin Gareus
50bccb44d5
Add static meta-data for x-ardour/region.pbdid DnD
During drag-motion callbacks the data to be dragged is n/a.
However we like to discriminate if drop is possible.

When dragging regions, the data-type of the region to be dragged
is unknown, so different `x-ardour/region` targets are not an
option, either.

Until a better option is presented, a static global is used
to set the data-type for region.pbdid drags.
2022-01-19 17:13:51 +01:00
Robin Gareus
0204ea1f24
Unify Region Drag/Drop
Identify Regions using PDB::ID. This allows dragging regions
from almost anywhere to anywhere, without special cases.
2022-01-19 17:13:51 +01:00
Paul Davis
7c35783d63 various fixes for cue marker creation, dragging, naming 2022-01-05 13:27:47 -07:00
Paul Davis
b1f73d25bf actual GUI interaction for cue marker ruler 2022-01-04 15:23:51 -07:00
Robin Gareus
8d137b1514
Add API to support Editor sidebar DnD outside of the editor 2021-12-14 21:33:24 +01:00
Ben Loftis
62662f888c PropertyBoxen: Publish some region operations to PublicEditor so we can access them more easily 2021-12-08 12:45:11 -06:00
Ben Loftis
93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
Ben Loftis
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
Paul Davis
18e851cd73 catch too-early use of PublicEditor::instance() 2021-11-17 12:16:39 -07:00
Paul Davis
b2655d13f1 make Editor::snap_to_bbt() public 2021-08-13 12:51:35 -06:00
Paul Davis
4f1ad4ed0d start adding new BBT marker support 2021-08-13 12:51:34 -06:00
Paul Davis
5074553f15 add Editor::default_time_domain()
Not 100% certain about the logic here, but at least the method exists now
2021-08-13 12:51:33 -06:00
Paul Davis
125c20e148 manual fixups for recent rebase conflicts left in the wrong state (GUI edition) 2021-08-13 12:51:33 -06:00
Paul Davis
7ef11dc698 continued work on using new tempo map API (before switch to RCU) 2021-08-13 12:51:30 -06:00
Paul Davis
749a49c278 incorporating new tempo map API 2021-08-13 12:51:29 -06:00
Paul Davis
5836a4f2b6 timeline types conversion for editor_ops.cc 2021-08-13 12:51:29 -06:00
Paul Davis
5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
Paul Davis
9d69fa3820 another day or two's work on timeline type conversion 2021-08-13 12:51:29 -06:00
Paul Davis
1b06fcb335 another snapshot of ongoing work on timeline types. still not compilable 2021-08-13 12:51:29 -06:00
Paul Davis
1ee38e7a7f another in-progress snapshot of gtk2_ardour after getting audio_clock.cc to compile 2021-08-13 12:51:29 -06:00
Paul Davis
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Paul Davis
636f1331e8 stop using ripple callback API, add Editor::should_ripple() and Editor::do_ripple() to manage rippling 2021-08-13 12:51:27 -06:00
Paul Davis
0e2bd5383c GUI changes to follow new Playlist::ripple() API
Current ripple callback does nothing at all
2021-08-13 12:51:27 -06:00
Robin Gareus
2b066293fb
Set playlist ID when importing to new tracks
This amends 730a0954 and b27bb586.
This also restores the original API for do_import()
and do_embed() as used by Lua scripts.

Note that this uses distinct IDs when importing both audio
and MIDI in the same DnD request.
2021-07-08 05:28:10 +02:00
Ben Loftis
d4392b4a1b
Playlist UI Tweaks: provide radio-buttons to switch ALL, Rec-armed, and grouped playlists (wip) 2021-07-03 19:06:04 +02:00
Ben Loftis
730a0954d7
Playlist UI Tweaks: assign a pgroup_id on Import (gtk part) 2021-07-03 19:06:04 +02:00
Ben Loftis
1c9bb9ab41 Playlist UI tweaks: refactor PlaylistSelector (life-cycle, code-cleanup)
* You can now show a selector for each track, rather than one global dialog
* Removed the 'cancel' button: it was too easy to unintentionally revert your selection
* Correctly sort and name new playlists when they are added or renamed from the P menu
* Fix problem where list contents disappeared when changing desktops (on_unmap_event)
2021-06-08 08:33:48 -05:00
Ben Loftis
a8395718bc Playlist UI tweaks: rationalize playlist functions in Editor::
* new global playlist functions for {all | rec-armed | selected} tracks.
* new API passes (bool copy) arg instead of separate functions for copy_X.
* consistently use mapover_X functions to consolidate code
* update Lua bindings to match
2021-06-08 08:33:48 -05:00
Paul Davis
3e47057609 import process now allows optional import of MIDI markers/cues 2021-05-07 14:58:16 -06:00
Robin Gareus
39334279b5
LAN for ranges 2021-04-13 00:10:38 +02:00