Commit graph

464 commits

Author SHA1 Message Date
Robin Gareus
3f16f60221
VST3: Ardour-GUI basics 2020-09-16 22:49:19 +02:00
Robin Gareus
1b261fab48
Remove unused LV2 ifdef 2/3
LV2 has been mandatory since 6.0 (04ccd328dc)
2020-09-15 17:35:04 +02:00
Robin Gareus
0518e1e88f
Make plugin list lengths configuable 2020-06-26 13:02:59 +02:00
Robin Gareus
4f4ee4c652
Sort plugin chart alphabetically 2020-06-26 13:01:50 +02:00
Robin Gareus
77362a2429
Consolidate common plugin search & sort methods
Also add a namespace, to prevent any symbol conflicts for
the structs.
2020-06-25 21:04:02 +02:00
Robin Gareus
e06497beba
Fix API usage (time_t -> int64_t) 2020-06-25 20:14:57 +02:00
Robin Gareus
c6ee111c3d
Don't save custom favorite order when filter is active 2020-06-25 13:57:51 +02:00
Robin Gareus
44436f1c9f
Tweak mixer-sidebar layout (plugin search) 2020-06-25 06:41:27 +02:00
Robin Gareus
0eb038575f
Overhaul Mixer Favorite Plugin sidebar
* use dedicated sort-order (fix issue with order being forgotten
  when results are filtered)
* add support for recent and most-used plugins
* add a text-entry search filter for favorites
* remove tag-filter drop-down
* ignore v5 instant.xml plugin sort order
2020-06-25 05:52:38 +02:00
Robin Gareus
be701f0248
NO-OP: clarify variable name 2020-06-25 02:26:01 +02:00
Len Ovens
8e1e271eba Add a meter to Foldback bus
Spaces got replaced by tabs as well.
2020-05-07 17:13:40 -07:00
Paul Davis
b258ad792e force provision of "menu-name" for all WindowProxy objects, and thus Tabbables
Actions for hide/show/attach/detach tabbables use hard-coded names which are not
translated. Using Tabbable/WindowProxy::name() to lookup the action will fail,
since the name can be translated. This changes just removes the option to not
provide a menu-name when creating these objects, and uses the name menu-name
when looking up an action by name
2020-05-01 14:33:47 -06:00
Robin Gareus
250da353d4
Disable spill when target-bus is removed #8014
Individual mixer-strip already revert to default display when
the send vanishes. This also resets the mixer view.
2020-04-15 20:21:27 +02:00
Edgar Aichinger
eb5a41e3a3
Fix typos in the GUI in preparation for translations 2020-04-13 16:10:07 +02:00
Robin Gareus
71ab4614f8
Fix fan-out port connection race-condition
This directly creates tracks without auto-connect.
2020-04-03 15:37:49 +02:00
Robin Gareus
14f15ca1e9
Move RouteUI::fan_out to Mixer_UI
The previous version had various issues, in particular
when creating Tracks with an instrument, the RouteUI was not
available when the signal was emitted (likely caused by recent
ee-work of Audio+MIDI and Tape track removal).

However as side-effect fanned-out tracks/busses may now
be ordered before the new instrument route.

This also fixes an edge case of multiple fan-out in case
there is more than one RouteUI instance (mixer, editor-mixer,
meter-bridge).
2020-04-02 20:27:51 +02:00
Ben Loftis
c765079b2f Show Sends button should instigate a Spill, akin to a VCA spill 2020-03-23 15:24:08 -05:00
Ben Loftis
2945e6ee23 Foldback: Sync nav buttons when a new foldback bus is added 2020-02-22 16:56:44 -06:00
Paul Davis
78d5e6af28 add mixer actions for toggle disk & input monitoring; bind to d and i in mixer bindings 2019-11-20 09:37:33 -07:00
Len Ovens
7dd7488872 Session should not be accessed when not there. 2019-11-06 08:30:11 -08:00
Len Ovens
4884fc734b desensitize foldback show unless there is a foldback bus
The view menu should not show the foldback item
if there is no foldback bus available.
2019-09-13 08:18:35 -07:00
Len Ovens
da88e9d34c Foldback gui: Added hide and show
- New menu item in view menu
- Foldback strip has hide button
- Adding a new foldback bus sets show
- setting is saved and restored
2019-09-11 16:36:05 -07:00
Len Ovens
b159f930dc Move foldback strip to left of Master 2019-09-03 21:44:14 -07:00
Robin Gareus
e7637d7786
Fix mute toggle actions when mute is automated
Track menu, as well as mixer-shortcut to set/unset mute
of selected tracks needs to send a start_touch() event, otherwise
the change is not effective.
2019-09-03 22:01:35 +02:00
Robin Gareus
244df67800
Fix mixer-side-bar show/hide actions
Changes need to be propagated to the Stripable's PresentationInfo.
So far this was not done for batch-changes using the mixer's left
side-bar "Show all", "Hide all" actions. They remained local
to the mixer and were not persistent.
2019-08-30 22:57:57 +02:00
Len Ovens
3588712174 properly remove foldback strip so it can be created again 2019-08-28 13:23:10 -07:00
Len Ovens
adf48ac63f Ensure monitor section is always leftmost in mixer window 2019-08-28 11:21:06 -07:00
Len Ovens
4f22bcea24 Add strip GUI first try for foldback bus 2019-08-26 17:48:22 -07: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
c4cb9ef4d7
Tweak Mixer screenshot method, include VCA, master-bus 2019-07-18 00:05:32 +02:00
Robin Gareus
9cd1fd9e4a
Prepare screenshot of all mixer-strips
This will allow to create a PNG of all mixer-strips, even those currently
off-screen due to scrolling. It currently shows the main scroll-pane
page only (master-bus, VCAs are not included).

This method is not yet exposed.
2019-07-17 22:57:30 +02:00
Robin Gareus
90cf829f67
Use an explicit class-member for the mixer-strip container 2019-07-17 22:21:08 +02:00
Robin Gareus
12fd048358
On selection, move/scroll VCA into view 2019-03-14 01:29:10 +01:00
Robin Gareus
706f56cc52
Snap to VCA strips in the mixer when scrolling 2019-03-12 17:04:13 +01:00
Robin Gareus
7b96fa1c5e
Fix some Gtk::Menu 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.

The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.

This works because the GUI is single-threaded and at most one
context menu is visible at a time.
2019-03-07 23:50:50 +01:00
Robin Gareus
9c1801fedb
Show VCA pane when a new VCA is created. 2019-03-01 19:02:38 +01:00
Robin Gareus
00934aec0d
Initialize per session instant state
Per session (instant.xml) GUI options do not have a sigc::slot<> backed
configuration interface to initialize the Actions.

This fixes a first-time start issue (no instant.xml) where GUI panes
may be visible (default) while the actions are "off" (default).

This is a tentative solution, instant.xml backed ToggleAction
initialization needs to be consolidated somehow.
2019-02-28 23:54:13 +01:00
Robin Gareus
c01ab83e1f
Kill the last remaining buses
In Ardour's world, the plural of a "Bus[Bar]" is "Busses".
(some day we may or may not search/replace 'em all to "buses")
2019-01-23 16:05:21 +01:00
Robin Gareus
df35d277f5
Only show user-presets in favorite sidebar
Plugins can have hundreds of factory presets, or in case of VST
useless "default" program/presets. Those just clutter up the favorite
plugin-list.
2018-12-18 14:13:20 +01:00
Robin Gareus
b94c9ef8e0
Fix Mixbus action fc83d044f8 & 65bda27d4 rebase ordering 2018-12-13 18:36:31 +01:00
Paul Davis
961870142d remove explicit use of ::cast_dynamic() from Gtk::Action to Gtk::ToggleAction 2018-12-11 23:43:22 -05:00
Paul Davis
fbab611a73 use syntactic sugar 2018-12-11 12:25:12 -05:00
Paul Davis
8a2c824659 do not reset session for MonitorSection just because monitor out was removed 2018-12-11 12:24:49 -05:00
Paul Davis
098b0f8a8b full (?) set of changes required to make MonitorSection an "always-there" component of the MixerUI
Obviously, it is not always shown, but it always exists, which means that its actions are always accessible
2018-12-11 10:28:47 -05:00
Paul Davis
685c4f8955 change action group owner pointer to be the relevant keybindings; reorder setting keybindings value and defining actions
The reorder is required so that the value of "bindings" has been set and is meaningful
2018-12-11 05:06:26 -05:00
Paul Davis
29eac8ee4e no longer delete and recreate MonitorSection when it is removed/added to a Session 2018-12-10 18:41:59 -05:00
Paul Davis
12a88c9706 show-editor and show-mixer actions are now part of Common, not Window or Mixer action groups
This is a bit arbitary but they are supposed to be invokable from anywhere, and since they control Tabbables and note
pure windows, they are not part of WM::Manager's purview (Window/* actions). Thus ... Common
2018-12-10 18:39:14 -05:00
Paul Davis
fc83d044f8 use ActionManager namespace, rather than ActionMap objects, and remove all per-context action maps 2018-12-10 08:34:01 -05:00
Robin Gareus
474d68c051
NO-OP: whitespace and some guaranteed assertion removal 2018-12-08 20:36:03 +01:00
Ben Loftis
65bda27d42 Tweaks to Mixer and Monitor keybindings:
Add Mixer-specific view keybindings for list, vca, mon.  (thanks to: the_CLA)
Move monitor keybindings (mute, dim, mono) to be globally-accessible.

Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA)
Move monitor funcs (mute,dim,mono) to globally-accessible actions.
Make a new Monitor group insted of using Transport group.
Allow use-monitor-section to be controlled by both menu and session-options dialog.
2018-12-07 12:57:26 -06:00