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
Paul Davis
a2fefe68db
use modified API name in GUI
2017-09-18 11:40:53 -04:00
Paul Davis
e6064b286e
basic GUI framework for setting Disk I/O options
2017-09-18 11:40:53 -04:00
Robin Gareus
ae0dcdc0c5
Fix various tooltip markup (ampersand) entity-escape:
...
* track/port names
* plugin-names
* MIDI patch-names
2017-09-14 19:23:37 +02:00
Robin Gareus
0034f246cb
Fix some GUI side XML node mem-leaks
2017-08-20 22:26:54 +02:00
Robin Gareus
2cc32456ab
Lua may call C++ functions with throw. Catch them
2017-08-19 01:06:44 +02:00
Johannes Mueller
4a60c277db
Some abstractions to make the display look good in the plugin gui
2017-07-31 21:31:22 +02:00
Johannes Mueller
37b03e353a
Put plugin inline display into a freely available class ...
...
... and let ProcessorBox::PluginInlineDisplay inherit from it.
2017-07-31 21:31:22 +02:00
Robin Gareus
fde0e293a3
Remove unused "mark" parameter from stop_touch() API
2017-07-24 01:59:18 +02:00
Robin Gareus
25df9f1ba5
Start/end touch for generic-UI knob and proc-box inline ctrls
2017-07-24 01:59:03 +02:00
Robin Gareus
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
Robin Gareus
1f5ebc5485
Remove ArdourPrompter wrapper
2017-07-17 21:06:04 +02:00
Robin Gareus
f9e5e4360e
Move more Gtkmm2ext widgets into libwidget
2017-07-17 21:06:04 +02:00
Robin Gareus
5c92613698
Separate Ardour UI widgets into dedicated library
2017-07-17 21:06:04 +02:00
Robin Gareus
5aecfc5acb
Remove Timers to watch Controllable values
...
Depend on Changed() signals alone, which are usually much less frequent
than rapid-timer events.
As side-effect we now need to make the widgets insensitive when
playing automation. Previously the user could not change the value because
the Timer periodically reset it.
2017-07-16 16:58:00 +02:00
Robin Gareus
7bb48aaa3f
Remove cruft, steps cannot be 0.
2017-07-06 16:39:28 +02:00
Robin Gareus
608f99ad1c
Fix a plugin-insert position off-by-one and remove cruft.
...
Route::before_processor_for_index() uses display_to_user() which
includes the Amp.
Insert position is still be wrong with the debug mode
ProcessorBox::show_all_processors == true, but that's not a regression.
2017-07-04 18:08:36 +02:00
Robin Gareus
2fdeb54b78
Always add plugins in the order given by the Manager UI.
2017-07-04 18:08:36 +02:00
Robin Gareus
e2d19d1668
Retain plugins order for copy/cut/paste + DnD #7416
2017-07-04 18:08:36 +02:00
Robin Gareus
496f83bf83
Allow ctrl-surfaces to show/hide plugin UIs.
2017-07-02 01:59:24 +02:00
Robin Gareus
3c6ab7aca3
Remove old API to keep track of plugin GUI widgets
...
This was superseded by WindowProxy and the ARDOUR::Processor
[set_]window_proxy() API
2017-07-01 23:41:25 +02:00
Thomas Brand
63ea7b6516
NO-OP whitespace (updated GH PR #357 )
2017-07-01 19:28:26 +02:00
Robin Gareus
c3c4efaa09
Use mnemonic-save API for menu-element texts
2017-06-29 00:22:42 +02:00
Robin Gareus
55df5b39bc
Prepare removal of redundant get_user/set_user API.
2017-06-21 18:13:41 +02:00
Robin Gareus
789fcff1fe
Fix crash when showing plugin-UI in safe-mode
2017-06-08 21:21:41 +02:00
Paul Davis
dc0139d4af
use CoreSelection for track selection
2017-05-05 18:56:25 +01:00
Tim Mayberry
5b97b1a191
Use XMLNode::get/set_property API in ProcessorBox and ProcessorWindowProxy classes
2017-04-19 09:36:56 +10:00
Tim Mayberry
657e32290e
Use XMLNode::get/set_property API in ProcessorBox class
2017-04-19 09:36:56 +10:00
Robin Gareus
a8858ad311
Fix toggle-processors: operate on plugins only
2017-04-14 00:53:45 +02:00
Robin Gareus
962e7a214a
Revert "consistent use of context-menu popups"
...
This reverts commit b3722f7063
.
In some cases ardour shows context-menu on right-mouse-button
release. In this case selecting a menu-entry should happen
with the left-mouse button (or any button?!)
Using ev->button is only correct if the menu is temporary and only
visible while the button is held, button release then activates the
menu-item.
This needs further work, in some cases allowing any button (0) to work
makes sense and overall consistency needs to be improved.
Different places use different strategies for context-menus which
don't always match the button used in the event-handler.
This is a hotfix (to make TAV context menus work again with left-click)
2017-03-24 14:48:46 +01:00
Robin Gareus
b3722f7063
consistent use of context-menu popups
2017-03-16 02:36:48 +01:00
Robin Gareus
96b3f8ec92
Don't automatically open generic UIs for plugins w/o controls
2017-03-01 17:17:27 +01:00
Robin Gareus
7330357e1c
Reset window-size when switching between custom and generic plugin UI.
...
Both views have uncorrelated geometry, apply one size to the other
makes no sense and usually results in odd window sizes, particularly
for custom plugin UIs with aspect-ratio constraints.
2017-02-14 01:05:43 +01:00
Robin Gareus
c6a7c9417e
Plug some mixer memory leaks
2017-01-20 13:53:45 +01:00
Robin Gareus
e07f465516
fix default output map display for no plugin processors
...
(eg. mono->stereo deliveries)
2016-11-25 13:03:25 +01:00
Robin Gareus
e6ff4d8455
Add tooltip info for inline-display
2016-10-18 23:40:14 +02:00
Robin Gareus
389cacab11
Processor box interaction:
...
Allow to toggle inline display with tertiary + double-click.
also fix tooltip and fix inconsistent modifiers on inline display.
2016-10-18 22:26:23 +02:00
Robin Gareus
a4ad0a90d1
GUI to allow aux-send feedback loops
2016-10-14 16:07:30 +02:00
Paul Davis
b339cde446
remove debug output from last commit
2016-08-21 21:44:33 -04:00
Paul Davis
ed5091d7ae
editing plugin with generic GUI has a tooltip saying it uses the primary modifier. Make it so
2016-08-21 21:42:16 -04:00
Robin Gareus
ba815a903b
add a ToDo note for after string-freeze
2016-07-24 13:33:09 +02:00
Robin Gareus
901f8caf22
add a plugin-death connection
...
at application exit, there may otherwise be a race condition,
queue draw could be scheduled for a widget that's no longer present.
2016-07-18 23:52:40 +02:00
Robin Gareus
a450024c56
add some strategic lua gc steps.
2016-07-18 23:52:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
786cb746d0
Better choice for ports on external send creation
...
Ardour tried to make an educated guess at the initial number of outputs
for a new send. It used the channel configuration of the master bus, if
it existed, else the channel configuration of the route itself.
That guess is good in most cases, but in the case of a track/bus without
audio channels, creating a send with audio doesn't make sense. In that
case, also use the route outputs as a base for the send configuration.
2016-07-16 02:29:58 +02:00
Paul Davis
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
Robin Gareus
c49ac91b01
add mouse interaction to inline display
2016-07-12 14:38:28 +02:00
Robin Gareus
412fcafda0
Plugin GUI activate/enable update (prefer enable)
2016-07-05 23:30:21 +02:00
Robin Gareus
08d7485e85
fix inline display when cairo_surface_has_snapshots
2016-07-02 23:36:34 +02:00
Robin Gareus
843b6b90b0
fix switching from generic to custom plugin UI
2016-06-05 23:55:08 +02:00
Paul Davis
301000c94e
make new action to bind BackSpace to in processors box
2016-06-02 14:46:35 -04:00
Robin Gareus
cfee8ac852
fix UI wire display to not coalesce views for non-linear i/o.
2016-05-24 18:18:26 +02:00
Robin Gareus
725665ac46
lua inline display error reporting
2016-05-20 23:15:58 +02:00
Robin Gareus
f108664785
remove wrongly copy/pasted code
2016-05-10 20:54:11 +02:00
Robin Gareus
b15ed28f79
separate Preset + Favorite DnD Targets
...
Sidebar is a source of "Favorites" and a destination for Presets.
2016-05-06 14:55:36 +02:00
Paul Davis
17ace643e4
OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)
2016-05-04 23:09:45 -04:00
Robin Gareus
a725fde23d
enable luaproc presets
2016-04-29 18:34:41 +02:00
Robin Gareus
1888104f8d
remove "Lua DSP Proc" context meuu
2016-04-29 02:57:51 +02:00
Robin Gareus
62937ea1a6
special case send panning for MB
...
since the route does not use Ardour pannersi"link panners" here only
affects send <> send linking.
2016-04-20 21:28:03 +02:00
Robin Gareus
0b4b0b19bc
don't show plugin GUI when renaming tracks/busses
...
ProcessorBox::route_property_changed() iterates over existing windows
and hit a "show_all".
2016-04-19 18:24:35 +02:00
Robin Gareus
c9dedc567d
fix midi-bypass drawing.
2016-04-19 17:31:00 +02:00
Robin Gareus
af733a9a65
small is beautiful
...
...but I need new glasses
to tweak thru-via drawing for <=100% GUI scaling
2016-04-19 13:31:41 +02:00
Robin Gareus
98ab33e85e
more wire drawing..
...
* use via-style circles for thru
* widen the spacing
* show gnd -> thru connections
2016-04-19 13:21:09 +02:00
Robin Gareus
dd750722c5
more sidechain send GUI details:
...
* don't list exising normal sends (separate mono connections)
* tooltip inidicate autoremoval
2016-04-18 01:01:49 +02:00
Robin Gareus
d3acba6be4
fix initial panner control for new Sends
2016-04-18 00:52:24 +02:00
Robin Gareus
64fdadecb6
fix port icon visibility for coalesced wire view
2016-04-17 21:50:29 +02:00
Robin Gareus
ccbf56827d
pretty send and sidechain names
2016-04-17 21:50:26 +02:00
Robin Gareus
8fc19d6c67
use temporary sends for sidechain inputs
2016-04-17 14:10:13 +02:00
Robin Gareus
ddc4824d92
fix logic error for output routing wire display
2016-04-16 22:15:34 +02:00
Robin Gareus
9ad98885cb
another take on mixer strip wire drawing
...
mini modulars are fun.
2016-04-16 21:28:37 +02:00
Robin Gareus
ec09c1ad63
shorten and clarify context-menu entry.
2016-04-15 23:09:14 +02:00
Robin Gareus
7cbf7f370b
special case side-chain when copying plugin-state (fix crash, dup IO)
2016-04-13 18:53:54 +02:00
Robin Gareus
da6aae826d
somewhat improved "thru" and sidechain routing display
2016-04-12 18:38:28 +02:00
Robin Gareus
1bf84f3ca3
fix editor/mixer initial display (show_all)
2016-04-09 00:33:56 +02:00
Robin Gareus
8c81808db7
GUI part of count/n_total API rename
2016-04-08 18:16:23 +02:00
Robin Gareus
3868c5b4a4
GUI support for plugin port bypass connections
2016-04-07 18:36:04 +02:00
Robin Gareus
ffbcd9d9ec
lexical NO-OP
2016-04-04 15:14:41 +02:00
Robin Gareus
90c8fdb12f
mixer-strip wires: take midi-bypass/trhu into account
2016-04-04 14:58:46 +02:00
Robin Gareus
e087237f3c
s/Management/Connections/
2016-04-04 13:56:34 +02:00
Robin Gareus
1feb50b2b2
Display output mapping (last processor before pan) in mixerstrip
2016-04-04 01:27:33 +02:00
Robin Gareus
4cedc07b3e
add GUI to configure/connect sidechain
2016-04-03 05:21:40 +02:00
Robin Gareus
f827168b67
update mixer-strip display - indicate sidechain
2016-04-03 05:16:59 +02:00
Robin Gareus
d1580ba924
update mixer-strip routing display
2016-04-02 14:51:32 +02:00
Robin Gareus
c44fb3e662
fix some thinkos with audio/midi port counting.
...
(there's more to come w/multiple midi ports grouped left)
2016-04-02 03:20:43 +02:00
Robin Gareus
fa79e9a616
interactive GUI to manage plugins pins
2016-04-01 22:57:56 +02:00
Robin Gareus
ee4e3e7737
update mixer-strip routing display
2016-03-31 20:44:39 +02:00
Robin Gareus
8acf782bd2
reduce header dependencies (part 2/2)
2016-03-28 19:14:56 +02:00
Robin Gareus
840c0599bf
fix empty plugin window when switching generic to custom and back.
...
possibly since 0106047fd2
- show_all() was removed from show_own_window()
2016-03-27 21:40:57 +02:00
Robin Gareus
62d2d22b44
get started with Pin Manager - currently display-only.
2016-03-27 21:35:42 +02:00
Robin Gareus
a8943538ea
Hide lua script selector before showing lua parameter dialog.
2016-03-23 17:00:10 +01:00
Robin Gareus
ea354226c1
catch lua exceptions.
2016-03-21 21:39:11 +01:00
Robin Gareus
877325ea6e
special case LuaProc Inline Display UI: direct cairo context
2016-03-18 21:33:45 +01:00
Paul Davis
c07bca3a62
fix capitalization of sections of key editor
2016-03-15 21:25:07 -04:00
Robin Gareus
fed51adfa0
relax inline display height constraint
2016-03-16 01:24:32 +01:00
Paul Davis
09e193c097
give ProcessorBox its own bindings
2016-03-15 12:41:22 -04:00
Paul Davis
7460bbefb6
after showing a ProcessorBox context menu, resensitize all actions that it may have made insensitive
...
This allows them to be invoked via other means (e.g. bindings)
2016-03-15 12:41:21 -04:00
Robin Gareus
204e50bf89
migrate plugin-ui settings to ui-config
2016-03-15 15:15:23 +01:00
Robin Gareus
c8d25f37bc
remove superfluous ceil()
2016-03-15 11:55:44 +01:00
Robin Gareus
76df2d6e36
fix a Wsign-compare
2016-03-15 00:27:13 +01:00
Robin Gareus
cb4f15ff43
implementation for "prefer inline over GUI"
2016-03-15 00:27:03 +01:00
Robin Gareus
7539bab670
inline-display, scrollbars and fixed aspect ratio = fun
2016-03-14 22:32:21 +01:00
Robin Gareus
594d0d8672
GUI update for non-cairo Plugin Inline Display
2016-03-14 16:45:27 +01:00
Robin Gareus
9af5d17708
add GUI support for Plugin Mixer Inline Display
2016-03-14 11:48:22 +01:00
Robin Gareus
db333a1eed
allow to copy processor state (drag processor on another of same type)
2016-03-11 22:00:12 +01:00
Robin Gareus
28017b4751
Add GUI to instantiate Lua DSP Processors
2016-02-23 15:41:41 +01:00
Paul Davis
56770ff0af
change GTKOSX macro constant to use __APPLE__ instead
2016-02-22 15:31:25 -05:00
Paul Davis
6991a07902
remove all trace of SAE from source code.
...
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22 15:31:24 -05:00
Paul Davis
bc487bb4b0
replicate the remove-all-trailing whitespace commit(s) in master
2016-02-22 15:31:24 -05:00
Paul Davis
09f9020897
action maps now have names
2016-02-22 15:31:24 -05:00
Paul Davis
f6721344bd
merge once again with master
2016-02-22 15:31:24 -05:00
Paul Davis
949163f806
more changes to Bindings, Keyboard APIs
2016-02-22 15:31:24 -05:00
Paul Davis
67e19c177f
radically change Keyboard/Binding API design to disconnect Gtk::Action lookup from binding definition
...
We need this because we need binding information/objects before all
Actions have been defined.
2016-02-22 15:31:24 -05:00
Paul Davis
00933950b7
small rationalization of naming and code for managing plugin GUI visibility
2016-02-22 15:31:23 -05:00
Paul Davis
a13a8da8ac
switch all action registration/binding code over to new API.
...
This removes the ability to change bindings via menus.
Still to come: saving modified bindings, and reworking the key editor
2016-02-22 15:31:23 -05:00
Paul Davis
9010262bed
first compilable version of tabbable design.
...
I would have loved to split this apart, but there are just so many interrelated changes,
it makes little sense and would be a huge effort that would break future git bisect
use because so many intermediate commits would not compile
2016-02-22 15:31:21 -05:00
Paul Davis
d1033819bd
change ownership of the AutomationControl used by Amp.
...
It used to be owned by Amp. Now it is owned by Amp's owner
2016-01-18 12:11:08 -05:00
Paul Davis
9e3299f97d
change Controllable::set_value() API to include grouped control consideration.
...
This also removes Route::group_gain_control() and associated machinery.
Not yet tested with Mackie or other surfaces. More work to done to
start using the group capabilities, and also potentially to add
or derive more controls as RouteAutomationControls
2016-01-02 04:58:30 -05:00
Robin Gareus
38f199e355
Processors: separate drag-sources and drop-targets
2016-01-01 13:28:47 +01:00
Robin Gareus
bcaae13e3e
set DnD targets per processor
...
This prevents DnD of non-processors to the sidebar
2015-12-30 12:25:09 +01:00
Robin Gareus
9283e97435
refine add preset/favorite dialog
...
dedicated "Add to Favorites only" mode.
2015-12-28 17:23:45 +01:00
Robin Gareus
4758de37cd
allow creating plugin-presets by dragging a plugin to the sidebar
2015-12-28 04:11:45 +01:00
Robin Gareus
e762fe36be
refactor Processor-Box plugin drag/drop: allow presets
2015-12-25 17:13:00 +01:00
Robin Gareus
80028d7c82
don't automatically open plugin-GUI when using drag/drop
2015-12-24 01:45:16 +01:00
Robin Gareus
a7b236561c
ProcessorBox: allow to receive PluginInfoPtr drops
2015-12-22 04:24:20 +01:00
Robin Gareus
d5c275e78e
update ProcessorBox API for new DnDVbox constructor.
2015-12-22 04:15:04 +01:00
Robin Gareus
0d9f15dd80
GUI part of monitor-section constraints.
2015-12-21 14:38:28 +01:00
Robin Gareus
4dca26a6e7
use new open-gui-after-adding-plugin config variable
2015-12-08 13:44:20 +01:00
Ben Loftis
602839ffea
use platform-specific modifier name for tooltip
2015-11-20 15:24:47 -06:00
Robin Gareus
7923a0e679
immediately show plugin GUI if only one plugin is instantiated
2015-11-20 11:14:36 +01:00
André Nusser
83b5bdbe95
Ctrl+shift functionality (toggle all) for plugin leds.
...
The Fader led has special behavior and is only toggled when clicked
explicitly.
2015-10-19 14:36:06 -04:00
Robin Gareus
696b89b71a
rework 8b80fe0
, use std::string, not char*
2015-10-15 11:24:15 +02:00
Robin Gareus
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
Paul Davis
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
Robin Gareus
d25e1cb635
add a hidden option to show hidden processors
...
simplify debugging solo, monitor-processors, etc
2015-10-04 19:40:46 +02:00
Robin Gareus
cba31db6fe
processor-box: explicitly check for "Amp" (Fader)
2015-09-21 13:14:29 +02:00
Tim Mayberry
1d42ed077e
Use ARDOUR_UI_UTILS::set_tooltip rather than via ARDOUR_UI::set_tip
...
This removes the direct dependence on ARDOUR_UI/Gtk_UI for setting
tooltips. Removes inclusion of ardour_ui.h from 16 files.
2015-09-16 16:55:17 -04:00
Tim Mayberry
6b019a4953
Move UIConfiguration Singleton into UIConfiguration header
...
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00