Commit graph

469 commits

Author SHA1 Message Date
Robin Gareus
94af225eaf
Fix window parent when using different workspaces
This affects only windows opened from the mixer window,
in case the mixer is detached and on a different workspace (desktop).

Window::init (and Dialog::init) set transient parent early on,
and it defaults to the main window (with toolbar). It needs to be
unset before presenting the window, in order to show the window
on the same workspace as the eventual transient parent.

This follows 6dc9134 and f3fbf58.
2020-11-18 16:26:36 +01:00
Robin Gareus
6dc91348d7
Fix transient parent for plugin windows w/detached mixer
This follows f3fbf58185 which unconditionally set the main window
as transient parent. However when detaching the mixer, plugins should
be transient for the detached parent window.
2020-11-16 15:47:05 +01:00
Robin Gareus
9ab84a95f1
Fix crash when copying replicated plugins
When copying a plugin via drag/drop or copying plugin state, use
the main instance only. Plugins will later be replicated as
needed when configuring processors.
2020-10-23 23:44:20 +02:00
Robin Gareus
ec1d9022b2
Show plugin-type in processor-window title 2020-09-15 16:04:00 +02:00
Len Ovens
5c6e8954ed Add pre/post fader to foldback send creation
add position param to send creation
	default all to prefader as first step
2020-08-08 18:41:03 -07:00
Robin Gareus
72adf2844e
Consistent naming of LAN UI elements -- #8318 2020-08-04 21:33:53 +02:00
Robin Gareus
6224bd7e7a
Add Volume Ctrl position to processor-box context menu
This makes it easier to discover the option, compared to hiding
it in the context menu of the slider itself.
2020-08-03 14:59:05 +02:00
Robin Gareus
2b7b36be3e
Special case MainOutVolume Amp processor in ProcBox
Do not allow to delete or disable the processor.
2020-07-27 21:58:57 +02:00
Robin Gareus
534838995d
Allow MIDI learn on inline toggle buttons 2020-05-22 17:35:55 +02:00
Robin Gareus
42b4ea89f4
Use send-API for pan-link, indicate status in tooltip and name 2020-04-24 00:57:15 +02:00
Robin Gareus
606d6de4b1
Consistent Lua script error and print() output 2/2 2020-04-18 18:16:12 +02:00
Robin Gareus
5c5f0c8282
Allow to hide inline-controls using shift+right click 2020-04-18 01:04:45 +02:00
Len Ovens
c34abd094e changed text for adding a foldback send from monitor
Menu item was added before name was finalized
	but needs to match names used everywhere else
2020-04-14 10:36:18 -07:00
Robin Gareus
a0f2ae4833
Do not allow aux sends from the master-bus
This always leads to feedback situations. It may be acceptable
via the "allow feedback" option and accepting 1 cycle delay.
yet Aux-sends from the master bus are just bad practice,
and no found on any mixing desk.
2020-03-25 21:38:44 +01:00
Robin Gareus
53c666f1b8
Add restrictions for aux send cut/copy/paste & DnD
This prevents adding duplicate sends via copy/paste, or
creating invalid aux-send in the destination bus.
2020-03-25 21:38:44 +01:00
Robin Gareus
4a24cc5083
Fix Aux-Send names on copy/paste
Sends do not have any ports, so a unique name is not required.
Since 82541b33a4 custom aux names are kept when setting state.

Previously this "worked" because set_state() change the name
of the new aux-send to the name of the target-bus.
2020-03-25 21:38:44 +01:00
Robin Gareus
42cc09af13
Remove Mixbus Aux-Link special case 2/2 2020-03-23 17:45:55 +01:00
Robin Gareus
7f11270c96
Fix UI insert/send renaming
This fixes an issue when trying to rename a send or insert
to the current name (no-rename).

::rename_processor() checks if io_name_is_legal(),
Since the current name is already in use, a numeric-suffix
was added.
2020-03-02 17:58:03 +01:00
Robin Gareus
54911a0ee2
Fix duplicate control-ID when copying processors or proc state
Ideally we'd use a "retain ID when present", so that GUI object
state of automation lanes and inline controls will be retained.
2020-02-28 00:59:21 +01:00
Robin Gareus
8710a2d943
Dialog default to cancel (#7915)
There are various ways to cancel a dialog. Only checking for
RESPONSE_CANCEL is not sufficient. e.g. Esc causes a delete-event.

 * Gtk::RESPONSE_CLOSE
 * Gtk::RESPONSE_REJECT
 * Gtk::RESPONSE_DELETE_EVENT
 * Gtk::RESPONSE_CANCEL
 * Gtk::RESPONSE_NO

Among others this fixes "Clicking session > open,
then hitting ESC opens the currently selected folder and session"
2020-02-27 23:27:42 +01:00
Robin Gareus
72bf12219e
M: Make edit_aux_send insensitive
Mixbus does not have a working aux-panner and also no "Aux" button
on Busses.
2020-02-13 22:25:32 +01:00
Robin Gareus
cb825a61ba
Remember implicit InlineControl visibility 2020-01-19 00:42:00 +01:00
Robin Gareus
7fe9fb1f4e
Indicate current Disk-I/O setting 2019-12-17 01:53:33 +01:00
Robin Gareus
b2071bd8ed
Use InlineControl Port Property
This replaces the special case of showing send-level controls
inline in the mixer-strip with a generic Controllable::InlineControl
property.
2019-12-14 15:51:09 +01: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
a0b032efe2
Revert more "frame/sample" replacements
- Coverage concerns rectangles (frames, not sample)
- frame-handles are rectangles
- layout container boxes are frames
- inline display boxes are display_frame
2019-04-08 22:42:47 +02:00
Robin Gareus
1fa2d15a9d
Don't allow to cut/copy inserts via Drag/Drop
It was already verboten via ctrl-x/c/v since copying inserts using
the same I/O makes no sense, nor does moving them.
2019-03-28 01:51:50 +01: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
6be7fa2d45
Prefix an asterisk to indicate plugin replication
This saves space compared to "(NxN) ", especially with narrow
mixer-strips
2019-03-01 17:48:46 +01:00
Robin Gareus
6daba61ab2
Replicated plugin instances may or may not be mono 2019-03-01 17:43:44 +01:00
Paul Davis
1d8e533553 explicitly clear ProcessorEntries from ProcessorBox when the latter's Route is destroyed 2018-12-19 17:19:51 -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
5981b7f1b8 add nominal owners for all action groups
Note: this is not yet correct. The owner (pointer) values passed in are not yet usable
2018-12-10 18:44:05 -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
245d48dbd0
NO-OP: Clarify function name 2018-11-28 15:16:25 +01:00
Robin Gareus
76f9764a44
Use central method to check for engine for processor operations 2018-11-28 00:02:57 +01:00
Robin Gareus
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00
Len Ovens
9b2612f686 Make foldback bus match foldback sends namewise
to avoid confusion with listener sends or monitor bus
2018-11-12 22:30:32 -08:00
Len Ovens
f27ca29d6c Changed send/deliver role "Personal" to "Foldback" so bus type can match 2018-11-12 22:30:32 -08:00
Len Ovens
c04fc2efe2 Allow strips to add or remove personal sends
in processor box context menu
2018-11-01 17:43:35 -07:00
Len Ovens
06ffebca76 A listen route has no aux sends 2018-11-01 17:43:35 -07:00
Robin Gareus
a79fe23935 Allow to limit strip-inline controls (GUI optimization) 2018-10-31 23:44:04 +01:00
Robin Gareus
20fb871d5a Processor-box control context menu update 2018-10-28 21:03:43 +01:00
Robin Gareus
ebcabf59da Don't show hidden controls inline in the mixer-strip 2018-10-28 20:37:20 +01:00
Robin Gareus
fe4df1bee3 Prevent adding aux-sends to master or monitor 2018-10-03 18:16:42 +02:00
Johannes Mueller
f647ac7dae Allow plugin inline displays to shrink
Plugin inline displays were forbidden to shrink as this might cause a deadlock
when the shrinkage causes the scrollbar to disappear.

display shrink → scrollbar unneeded → scrollbar disappears →
more horizontal space -> display grows -> scrollbar appears →
less horizontal space -> display shrink and so forth

This was formerly avoided by not allowing display shrinkage.

The solution proposed here sets the maximum height of the display to the
current height, if a scrollbar is present during resizing and has not been
present during the last resizing. So if this scrollbar disappears (after
resizing it might no longer be needed), the display would have the possibility
to grow, but it does not grow vertically as the maximum height is limited to
the current height.
2018-06-20 21:06:16 +02:00
Robin Gareus
dc88471695 Don't automatically open plugin-GUI if there are no controls 2018-01-30 12:40:22 +01:00
Robin Gareus
4c7664e3f8 Fix UI for Sends & Inserts (regression was in 0c59ba649e) 2017-12-16 16:53:05 +01:00
Robin Gareus
0c59ba649e Save <UI> state for plugins only.
Only PluginInserts have UIs and PinMgs and unique IDs.
Other processors  may not be saved explicitly, [re-]created
dynamically, change ID (eg. capturing processor) and clutter up
the list.

TODO: removing a processor should also remove its UI state.
2017-10-18 04:15:15 +02: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