Commit Graph

39 Commits

Author SHA1 Message Date
Paul Davis 1d31ace29d adjust GainMeter* API and design to handle stripables, not just routes for selection/group behavior 2023-07-31 21:12:00 -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
Ben Loftis e74a412bcb rename some operations slaves -> assigned channels 2022-11-01 13:52:54 -05:00
Paul Davis 9ea1e5bdee move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (GUI) 2022-08-10 21:11:52 -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
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 101829b280
Revert "Fix crash when removing Routes and VCA"
There is probably a good reason why _vca.reset() is called
immediately, and 6dc66ea78f is a better solution to the issue

This reverts commit 83719fba1a.
2022-01-29 05:19:03 +01:00
Robin Gareus 83719fba1a
Fix crash when removing Routes and VCA
VCATimeAxisView::self_delete () resets _vca and queues delete_when_idle.
From now on STAV::strippable () will return 0.

Editor::idle_remove_tracks() returns, and before the VCATimeAxisView
is destroyed. Editor::redisplay_track_views() may be called.

The VCATimeAxisView still exists at this point and is in
Editor::track_views, but has no valid stripable.

This causes a crash in TrackViewStripableSorter which depends
on STAV::stripable();
2022-01-29 05:06:57 +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
Paul Davis 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
Robin Gareus 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
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
Robin Gareus 3bc9281c31
Fix some Gtk::Menu related memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

This adds explicit delete calls for menus where there is a
member variable reference to the Menu.
2019-03-07 23:50:32 +01:00
Robin Gareus 94d3da7e09
GUI updates to handle monitor-section changes
This fixes various MS related action sensitivity issues, as well
as action-states.

Also manually adding a monitor-section to a session now always
immediately shows it, regardless of prior ToggleMonitorSection
visibility.
2019-03-01 16:51:08 +01:00
Paul Davis 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
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 f1ae16fe8f VCA TimeAxis Context Menu
NB. This calls for a vca_ui (alike route_ui) to consolidate common
methods like choose_color, assign/drop slaves etc)
2017-08-06 22:48:38 +02:00
Robin Gareus 0ae9cda51d Allow to select VCAs 2017-08-06 22:17:42 +02:00
Robin Gareus a3dd948c02 Allow to rename VCAs in the editor 2017-07-28 02:12:19 +02:00
Robin Gareus ce48dfdeba Hide VTAV header controls for small height 2017-07-21 21:48:20 +02:00
Robin Gareus 5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Robin Gareus d405b2dd6c Mixbus GUI updates (VCA layout, no panners) 2017-06-23 23:43:01 +02:00
Robin Gareus af6941ac34 Prepare VCA Automation Lanes -- refactor TAV
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV)
* move common strip-methods into STAV
* Add Automation Lanes to VCA TAV
* Allow ATAV without Automatable for VCA Controls
2017-06-15 16:06:32 +02:00
Tim Mayberry f597bb5ed7 Use PBD::to_string() from pbd/string_convert.h in VCATimeAxisView 2017-04-19 09:37:01 +10:00
Paul Davis c786328966 use VCA full name in strips and track headers 2017-01-28 16:06:44 +01:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis 0784660d91 set a theme color for VCA axes in the editor 2016-07-13 13:09:57 -04:00
Paul Davis 351b43d51b avoid crash after removing a VCA 2016-06-14 16:10:32 -04:00
Paul Davis 8ceab4e193 make sure editor can follow visibility changes for VCAs 2016-06-10 15:00:43 -04:00
Paul Davis 26d94f6014 add ::set_height() for VCATimeAxisView 2016-06-08 11:03:13 -04:00
Paul Davis d14c3adfe7 repeat previous commit's approach, but for VCATimeAxisView 2016-06-06 19:35:48 -04:00
Paul Davis c31435b474 RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix initialization.
Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
2016-06-05 16:33:01 -04:00
Paul Davis 384d05dd35 change AxisView color API to be virtual and implement per-type variants 2016-06-05 16:33:01 -04:00
Paul Davis 94827afffa fix both canvas scrolling and interleaving of VCA + Routes in editor 2016-06-03 16:12:32 -04:00
Paul Davis 260058a4a9 move from PresentationInfo::global_order() to PresentationInfo::order, and fix up part of reordering behaviour
Dragging tracks/busses in the editor *below* VCAs still does not work
2016-06-03 15:15:39 -04:00
Paul Davis eee83c25a9 make all TimeAxisView derived types return PresentationInfo for sorting 2016-06-02 14:46:35 -04:00
Paul Davis 0d999ea4ec remove un-used name_hbox widget from TimeAxisView 2016-06-01 21:57:43 -04:00
Paul Davis 30d0b2a354 minor state tweaks for VCA time axis solo+mute buttons 2016-05-31 15:30:44 -04:00
Paul Davis 482873760c initial implementation of VCA time axis views 2016-05-31 15:30:44 -04:00