Commit Graph

74 Commits

Author SHA1 Message Date
Robin Gareus b68097422a
Reduce and abstract EditorRoutes to a dedicated RouteList 2022-01-27 01:28:50 +01:00
Robin Gareus dd4b4dc00b
Move PluginSetup callback to Editor
This is unrelated to the sidebar route-list and should never
have been in EditorRoutes.
2022-01-25 06:27:21 +01:00
Robin Gareus f8564ba4df
Clean up header file 2022-01-20 20:13:46 +01:00
Robin Gareus bd12509910
Add trigger-page visibility to "Tracks & Busses" TV 2022-01-01 16:52:55 +01:00
Robin Gareus bf64852fc2
Remove volatile/atomic re-display flags in GUI thread
Atomic operations are not needed here, since the GUI
is single threaded.
2021-03-22 13:45:29 +01:00
Paul Davis 9f474953fd prevent everything except the name column from changing selection in EditorRoutes 2020-01-13 23:13:14 -07:00
Paul Davis 659683c686 store some/most of the TreeViewColumn pointers for EditorRoutes in the parent object 2020-01-13 23:13:14 -07:00
Robin Gareus 12da3016e6
Remove unused EditorRoutes selection filter 2019-08-12 19:31:42 +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 7c6800fb88 Hide TrackList "Active" toggle for VCAs 2017-08-08 01:49:05 +02:00
Robin Gareus 8642e916db More RouteTAV -> StripableTAV updates (Editor List) 2017-08-06 23:49:12 +02:00
Robin Gareus eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
Robin Gareus ea1669aa00 Remove delayed selection which causes duplicate selection actifacts.
The first click to select a new stripable may actually un-select strip.
counting and ignoring this leads to strange behavior.
Also when the selection_counter hit zero, VCAs were not ignored.

whatever this workaround was good for, it's more trouble than it's worth.
As side-effect this also improves DnD + Gtk::Entry behavior with stock GTK.
2017-06-17 18:29:19 +02:00
Robin Gareus cfe63b7b15 Simplify route-display TreeView.
There's no TargetEntry receiver for the custom DnDTreeView<Route> object.
We can just use a default Gtk::TreeView.
2017-06-17 18:29:15 +02:00
Paul Davis dc0139d4af use CoreSelection for track selection 2017-05-05 18:56:25 +01:00
Robin Gareus 3aefd0e744 consolidate context-menu popup methods 2017-03-16 02:36:48 +01:00
Paul Davis cc82fc675b remove editor/mixer selection change signals; make editor and mixer use PresentationInfo::Change more correctly; make Selection a bit smarter when setting track selection 2017-01-27 22:17:53 +01:00
Paul Davis 20d85384c1 there is no remote model choice anymore - ordering is determined by the GUI 2016-06-06 12:04:49 -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 482873760c initial implementation of VCA time axis views 2016-05-31 15:30:44 -04:00
Paul Davis f022784014 convert editor routes code to use Stripable 2016-05-31 15:30:44 -04:00
Paul Davis e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
Robin Gareus ac7df69b49 rec-safe GUI 2016-05-24 21:30:33 +02:00
Robin Gareus 6815dc7ead towards an Instrument Setup/Replace workflow 2016-05-19 16:29:39 +02:00
Paul Davis 9e5b7db89f first compiling, mostly working version of group controls changes 2016-01-22 11:58:31 -05:00
Robin Gareus 0e85408c59 cleanup display suspend. 2015-04-30 19:19:31 +02:00
Robin Gareus e3375c309a suspend editor redisplay during batch changes
(major speed-up when changing all meters)
2015-04-30 18:01:30 +02:00
Robin Gareus f23f379b37 don't loose a redraw.
This more or less obsoletes the DisplaySuspender.
While RAII is nice, the DisplaySuspender cannot be
used from outside gtk2_ardour eg Mute/Solo signals
notifications from libardour (which don't originate
from the GUI).

The DisplaySuspender is still useful, because it
explicitly disables re-display and forces a single
expose at the end.
2014-09-07 20:23:50 +02:00
Robin Gareus 78f0007d54 safe EditorRoutes::redisplay() 2014-09-06 22:01:39 +02:00
Robin Gareus bcd2e8d5e6 idle update editor TreeView
dramatic speedup for solo & route toggle.
2014-09-06 13:10:47 +02:00
Robin Gareus 95a7356018 NOOP, cleanup whitespace 2014-09-06 12:52:41 +02:00
Robin Gareus 3a75fab244 speed up session load (display updates) 2014-09-06 12:52:29 +02:00
Robin Gareus c52cb37bf2 suspend route redisplay for (rec-en, solo, mute and monitor) batch changes 2014-06-29 02:52:56 +02:00
Paul Davis 5d6dc388f7 fix some confusion when redrawing editor/mixer track/strip displays after track/bus deletion
The code relied on the idea that the order-key resync that occurs after deletion would change the order keys and thus cause
a redisplay. But since both the editor and mixer can initiate an order-key resync, the other window's resync will actually
do nothing (the order keys will already be correct). This led to the incorrect placement of material in the tracks canvas,
because the first resync triggered a redisplay while the route still existed, and then the second resync didn't cause a
redisplay (repositioning) but the canvas elements representing the track went away.

Fixed by forcing a redisplay in both editor and mixer if a route deletion is believed to be triggering a row deletion
in their underlying data models.
2014-06-20 21:52:24 -04:00
Paul Davis 012504d35a selecting a track/bus in the editor list now selects it in the canvas, and also ensures that it is visible
Visibility is done with Editor::ensure_time_axis_view_is_visible(), and ctrl-click in the editor list
was also modified to use the same method.
2014-03-24 17:32:04 -04:00
nick_m 5b62e88fbf Unify editor / mixer ordering. 2013-10-21 00:19:43 +11:00
Paul Davis 89d1a2fdf5 dramatically speed up the addition of large numbers of busses + tracks. consists of a backend part (ignore JACK graph/latency callbacks while we're adding tracks) and a GUI side (avoid O(N^N) behaviour while adding each new time axis view)
git-svn-id: svn://localhost/ardour2/branches/3.0@13595 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-04 14:32:28 +00:00
Paul Davis e43d91949b more work on RID and editor/mixer order matching; when a track/bus is hidden in the GUI controlling RID, it gets a extremely large RID to prevent it showing up on a control surface (but ... for now ... is still visible in the other GUI, even if "sync order between mixer + editor" is enabled); change font in editor route list
git-svn-id: svn://localhost/ardour2/branches/3.0@13054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-19 22:35:43 +00:00
Paul Davis 958c63bd18 minor cleanups from 12952
git-svn-id: svn://localhost/ardour2/branches/3.0@12956 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-28 14:32:26 +00:00
Paul Davis 11415b49be first pass at the big rethink of managing sort order keys for editor and mixer. this appears to work, but remote control IDs are not yet correct (frequently off by one because of the presence of the master bus in the editor)
git-svn-id: svn://localhost/ardour2/branches/3.0@12953 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-27 22:57:06 +00:00
Paul Davis 97d920593f drastic rethink of the relationship between remote control ID and route order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window
git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 12:46:13 +00:00
Carl Hetherington 12e80812fd Remove solo buttons from the master route in the route list (#4486).
git-svn-id: svn://localhost/ardour2/branches/3.0@10667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-18 00:08:47 +00:00
Paul Davis 11fdd6cd18 solo buttons are now ArdourButtons
git-svn-id: svn://localhost/ardour2/branches/3.0@10401 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-02 18:48:32 +00:00
Paul Davis 592bfa3616 mute and send-alert buttons are now ArdourButtons
git-svn-id: svn://localhost/ardour2/branches/3.0@10397 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-02 16:46:49 +00:00
Carl Hetherington ce6d99ccb5 Add active toggle to editor route list (#4236).
git-svn-id: svn://localhost/ardour2/branches/3.0@10098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-19 22:34:30 +00:00
Paul Davis 67e21fd82e add MIDI input control column to editor route list; tweak SVG for MIDI not DIN
git-svn-id: svn://localhost/ardour2/branches/3.0@9779 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-01 15:48:24 +00:00
David Robillard ed626628b5 Delete trailing whitespace
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
Paul Davis 9f3f3738e7 (1) awful grungy code to make tab/shift-tab correctly end route editing in track+bus tab (2) traversify the track+bus tab so that s/m/r keys solo/mute/rec-enable the appropriate things (more work to do here to follow modifier conventions established elsewhere)
git-svn-id: svn://localhost/ardour2/branches/3.0@7855 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-29 01:22:11 +00:00
Paul Davis 0ff828822f use select next/prev stuff on editor track+bus list
git-svn-id: svn://localhost/ardour2/branches/3.0@7851 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-28 18:37:21 +00:00