Commit Graph

165 Commits

Author SHA1 Message Date
Paul Davis 5b038e488c no more "glue to ..." concept in GUI 2023-10-04 17:07:34 -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 1b7b3543e8
Remove thin abstraction, directly call get_pixel_size 2022-09-20 03:33:08 +02:00
Mads Kiilerich 17fafc376b
gtkmm: use ALIGN_END instead of deprecated Gtk::AlignmentEnum::ALIGN_RIGHT 2022-04-08 21:11:06 +02:00
Mads Kiilerich 2aa72891f3
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_LEFT 2022-04-08 21:11:06 +02:00
Robin Gareus 504a04878f
Fix typos, consistent text markup
Thanks to Edgar Aichinger
2022-04-05 18:45:40 +02: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
Robin Gareus 5427cec821
Separate RegionList into a case-class for reusing in on the TriggerPage 2022-01-19 17:13:50 +01:00
Robin Gareus 806f62ffe6
Allow import via DnD to Source list (not region list) 2022-01-11 00:56:32 +01:00
Robin Gareus 056189c76c
Clean up DnD, use MIME-types
This is in preparation for allowing to drag trigger-regions
or trigger-slots. Those will not use a static singleton
PublicEditor API.

Additionally this constrains Ardour-internal drags to Ardour
(via Gtk::TARGET_SAME_APP).
2022-01-10 21:29:29 +01:00
Robin Gareus 4720a45868
Make convert_drop_to_paths() reusable 2021-12-13 22:50:13 +01:00
Paul Davis 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
Paul Davis 36609c4067 remove public ::bbt_at (INTEGER) methods, because of superclock_t/samplepos_t confusion (GUI edition) 2021-08-13 12:51:35 -06:00
Paul Davis 18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 2021-08-13 12:51:30 -06:00
Paul Davis 3c00fab75e remove/hide Session::tempo_map() and use TempoMap::use() instead (thread local shared ptr) (GUI edition) 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 7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Paul Davis f4490f54c5 change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -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 730a0954d7
Playlist UI Tweaks: assign a pgroup_id on Import (gtk part) 2021-07-03 19:06:04 +02:00
Ben Loftis 51d57a3fb6 Source and Region list: fix disappearing list items (break out of the loop instead of returning, so the list always gets thawed) 2021-05-28 18:51:35 -05:00
Robin Gareus b0d4f77d92
Optimize RegionList redisplay for batch changes 2021-05-07 23:29:25 +02:00
Robin Gareus 283cade057
Update GUI Region[s]PropertyChanged signal handlers (2/3) 2021-05-07 23:29:25 +02:00
Paul Davis 1f18b4905d remove assert() that is triggered via multiple selection in region list (now possible for some time) 2021-05-04 11:55:48 -06:00
Robin Gareus 09d9938ecd
Remove duplicate symbol ColumnInfo from global namespace #8637 2021-03-28 04:31:11 +02:00
Ben Loftis aca062505b Region List: do not show empty MIDI regions 2020-07-26 09:53:48 -05:00
Ben Loftis dc2fe9edbe Region List: add a dedicated column for channelcount 2020-07-26 09:53:47 -05:00
Ben Loftis 89a7c41175 Likely fix for occasional crash in editor_regions::region_changed() 2020-07-12 12:05:23 -05:00
Robin Gareus f15297e24c
Amend 8a5cbb8: fix variable-names and comments 2020-01-07 01:14:42 +01:00
Nikolaus Gullotta 8a5cbb8510
Reenable the correct sort column and type when redisplaying regions 2020-01-06 16:08:55 -06:00
Ben Loftis e3fc2614f7 Fix Region-list column layout. 2019-09-29 09:14:09 -05:00
Robin Gareus e08ab1e30a
NO-OP: clang format, comments & whitespace 2019-08-13 01:05:51 +02:00
Robin Gareus 8a9b38e540
Remove remnants of hack from 9f3f3738e7
This fixes multiple selection. The original code using
"selection_countdown" is no longer in place. There's no "counter" to arm.

Shift/Tab name edit works regardless.
"s/m/r" solo/mute/rec shortcuts in the treeview have been discontinued
since a long time as well. Keyboard shortcuts are per window, regardless
of grab_focus()

PS. This change makes it easier for a user to start a drag/drop
operation of multiple regions. That currently assert()s, only
the first selected region is used.
2019-08-13 00:52:21 +02:00
Robin Gareus bf2ac2ee72
(RegionList) Tweak column ordering + fix translation naming 2019-08-12 18:36:23 +02:00
Robin Gareus 282437ab77
(RegionList) Don't change selection for context-menu 2019-08-12 02:07:03 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Ben Loftis fc981d4399 (Source List) Revert to displaying whole-file Regions instead of Sources.
This preserves the stereo-ness of files that were imported or recorded in stereo.

ToDo  (maybe someday): provide a disclosure triangle that exposes the individual channels in a multichannel region
2019-08-01 12:11:31 -05:00
Ben Loftis 71c2ed8160 (Source List) Source list, Region List: Resolve various action+behaviors between the 2 lists.
Duplicate the remove_unsued_region action in the Session->Cleanup menu, for discoverability.
Region list should use the same Region actions as the canvas...
OK, now resolve the change in use-cases of Region List and Source List.  tentative.
Rough-in remove_selected_sources (Delete in Sources list).
Column tweaks.
2019-08-01 12:11:31 -05:00
Ben Loftis c12a017728 (Source List) Region Tags (gtk2 part) 2019-08-01 12:11:31 -05:00
Ben Loftis 375a090295 (Source List) Make clock change func more explicit. 2019-08-01 12:11:31 -05:00
Ben Loftis b1019bbbf6 (Source List) Region List rewrite (gtk2 part)
See:  https://docs.google.com/document/d/1sI7p9RoRVZtNx2n67RvBa0_16fuZblV_lNkkKN2g93s/edit?usp=sharing
2019-08-01 12:11:31 -05:00
Robin Gareus 8ae4fe1aa9
Prefer to receive URI-lists for DnD
This fixes an issue when embedding external files with ISO or some non
ASCII encodings (KDE/dolphin file-manager does not UTF-8 encode
filenames for plain/text DnD). But does so for URIs.

See also #7253 and previous commit
2019-05-13 15:44:11 +02:00
Robin Gareus 8244026533
Consolidate ToggleAction cast, use new API
Furthermore we can assume that all Actions are registered and
Unregistered actions will ::abort() execution.
2019-02-28 23:54:42 +01:00
Robin Gareus b81fdeaa66 Work around tooltips in treeviews selection issue #7678
When tooltips are disabled, but a tooltip column is set for a treeview,
the treeview selection behaves inconsistently. It requires a 3rd click
after expanding any child-rows to select a child.
2018-11-01 23:21:23 +01:00
Paul Davis b50fafd290 change region->row map of EditorRegions to use iterator, not RowReference
RowReference was responsible for 75% of the cost of building the region list, and incurs cost
at every later insert/delete/reorder. Since both ListStore and TreeStore have persistent iterators,
use them instead
2018-10-15 16:04:53 -04:00
Paul Davis 0542a30901 use primary, not secondary, clock mode to drive other clock modes, and dynamically update region editors, location UI and editor regions when it changes 2018-10-10 11:47:29 -04:00
Ben Loftis dc61256466 new_grid: Rewrite of Snap and Grid. (squashed commit)
Separate Snap from Grid.  Lots of naming changes.
Multiple simultaneous snap options allowed. Grid is one of the possible Snap options.
Grid uses the same data as the rulers.  Replace complicated tempo_lines with simple grid_lines.
The Grid is zoom-scale-sensitive along with the rulers.  If you are zoomed out, grid becomes coarser.
2018-02-09 09:59:39 -06:00
Robin Gareus 867460cd30 Add seconds as clock-unit 2017-11-22 20:36:28 +01:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus f9e5e4360e Move more Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00