13
0
Commit Graph

355 Commits

Author SHA1 Message Date
0ec926668c refine track drag API to control whether cursor can change on button press 2024-06-03 17:52:42 -06:00
c7b8840f8f redesign track drag so that we can start from anywhere in the header, including the name 2024-06-03 17:22:42 -06:00
cacc3881ec fix confusion between track renaming and track dragging 2024-05-27 10:39:14 -06:00
f92d821a72 working track drag-n-drop, re-picked from a 2nd implementation on a branch 2024-05-05 15:09:34 -06:00
51d2b3329c more work catching button release after track drag 2024-05-05 15:03:12 -06:00
bd4d6b4cba
Ellipsize inactive track-header name-label #9674 2024-03-21 17:44:33 +01:00
jean-emmanuel
404a206960 time axis view: remove selected track inner shadow / border (less fuzzy render, and allows using a more contrasted color for strip selection border in mixer view without messing up the time axis view) 2024-01-20 14:44:30 +01:00
1b76e90246 when drawing range selection rect, use exclusive end semantics 2023-11-03 15:11:38 -06:00
d6144ab8cf
partially revert db97db2513 - allow to activate sub-menu with LMB 2023-06-04 16:44:18 +02:00
db97db2513
Activate track-header context menu items with RBM
Popup menu should handle the button that was used
to show the popup menu.
2023-06-03 15:13:04 +02:00
dd542b8f4d
Use ARDOUR::PlaylistSet instead of local typedefs 2023-04-06 02:13:51 +02:00
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
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
254297355e increment/decrement name changes ... out with old in with the new (gui) 2022-10-07 17:30:45 -06:00
45e21de209 implement and adopt new conventions for AudioClock use
The class now has two separate methods for setting a duration or a point
value. They MUST be used appropriately, because their behavior is different.

When ::set_duration() is used in timecode mode, an extent (inclusive-end
length) is shown rather than a length.

Some objects, such as the TimeInfoBox, now deliberately shown an inclusive end
for their "end" clock, but this not universally followed, pending more feedback
from users and investigating of conventions in other DAWs.
2022-10-07 16:24:56 -06:00
Mads Kiilerich
7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
a3c5db5d51 ensure that non-drag track height changes cause a call to Editor::redisplay_track_views() 2022-04-05 20:52:10 -06:00
97fe05e4de
Improve GUI HiDPI support
* scale default track heights
* scale region-gain, automation lane control points
* scale max. MIDI note lane height
2022-01-29 22:33:07 +01: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
aa56f4a16e GUI: moving along with timeline type conversion 2021-08-13 12:51:29 -06:00
5b2a435e02 getting editor_drag.cc to compile 2021-08-13 12:51:29 -06:00
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
fe5c56ecca remove pointless line of code
If _size_menu was non-null, we just return it. Ergo, it was already null when we reached
this line, which makes calling delete on it completely pointless
2021-05-13 10:29:19 -06:00
798b968610 do not test for gobj() being null when deciding if _size_menu exists
This test was added because of confusion about when/where dynamically constructed menus
were constructed and deleted. This should be consistent now, and this additional check
(on top of _size_menu itself being null) should be unnecessary
2021-05-13 10:29:19 -06:00
95c674e3be rationalize where a TimeAxisView::_size_menu is detached from its parent menu
This happens before the parent menu is deleted and rebuilt
2021-05-13 10:29:19 -06:00
5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
2a011e19cb
Update AxisView API: name_label is owned by the axis 2020-12-08 00:07:51 +01:00
Iurie Nistor
4e6a15938c
double click to expand / contract the track 2020-07-12 16:09:07 +02:00
68082abc22
Fix track-header visibility for inactive tracks
This supersedes 0708cdb6b4, an explicit `name_label.show()`
is not needed. The inactive label was missing an explicit call
to show.

This also fixes MIDI track MIDNAM Selector visibility
2020-07-10 18:16:18 +02:00
8f8099d8cc respond to changes in UI ellipsize track name mode 2020-07-01 12:17:43 -06:00
94c4c7b16e use ellipsizing mode in track headers 2020-07-01 12:17:43 -06:00
8fced29372
Visibility fixes for detached editor and Show-Sends buttons
Detaching the editor would cause the inactive_name labels and
to mixer-strip elements to appear (due to show_all).
2020-03-31 01:37:38 +02:00
81c3bf175a
Keep track/bus number visible when disabling track 2020-01-22 01:45:18 +01:00
d8d737adc4 Make it more obvious when a track is Inactive
Inactive tracks will now hide all controls and display only the track name
 in parenthesis.

Color-change is not sufficient by itself to distinguish an inactive track
 from an active one  (consider the case of just 2 tracks...)
2020-01-20 16:03:22 -06:00
065c09e418
Rweak selection+color semantics 2019-09-26 19:35:31 +02:00
1f05baa881
Tweak deletion, emit CatchDeletion() only once
Parent class d'tor runs after derived class d'tor. By the time
~TimeAxisView() is called, the actual object has already been
deleted and dyanamic_cast<RouteTimeAxisView*> or
dynamic_cast<AutomationTimeAxisView*> will fail.

CatchDeletion() needs to be emitted from the actual d'tor of the object.

There are currently three non-virtual TAVs:
 * RouteTimeAxisView
 * AutomationTimeAxisView
 * VCATimeAxisView

The first two already directly emit CatchDeletion(), there's no need to
call it again from ~TimeAxisView().
2019-08-24 18:42:51 +02:00
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
81dbb977c5 fixups for rebase of show-region-name option 2019-05-29 17:37:48 -06:00
8463fb728f add option to show/hide region names 2019-05-29 15:24:40 -06:00
c285229423
Follow up f5bc64d00e - add gap to range-selection rect as well 2019-04-18 16:46:44 +02:00
b799c05c1a
Found another one -- does this ever end? :)
Undo s/sample/frame/ replacement.
2019-04-12 22:23:48 +02:00
9f1293bfe5
Tab to prev/next name-entry: skip only rec-armed tracks 2018-12-04 22:07:27 +01:00
a593a81db3 Fix size-request call
use  Requisition Gtk::Widget::size_request () 	const;
and not deprecated
void Gtk::Widget::size_request 	(const Requisition&);

Found by PVS-Studio - https://www.viva64.com/en/b/0540/
2017-11-23 09:53:09 +01:00
997f70d9cb switch from std::auto_ptr<> (deprecated) to boost::scoped_ptr<> 2017-10-26 15:41:47 -04:00
ea5fa64c0b manually fix up various cases where Gtk:Frame foo_frame had been changed to foo_sample 2017-09-18 14:59:11 -04:00
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
a3dd948c02 Allow to rename VCAs in the editor 2017-07-28 02:12:19 +02:00
3d50563620 Properly propagate TAV TimeSelection 2017-07-21 15:49:28 +02:00
92a1d3619b Const'ness where const'ness is due 2017-07-19 22:15:22 +02:00
601c317d70 Clean up library inheritance (colors.h, utils.h)
make libwidget independent of libcanvas.
Confine basics to pbd and gtkmm2ext.
2017-07-17 21:06:04 +02:00