657e32290e
Use XMLNode::get/set_property API in ProcessorBox class
2017-04-19 09:36:56 +10:00
a8858ad311
Fix toggle-processors: operate on plugins only
2017-04-14 00:53:45 +02:00
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
b3722f7063
consistent use of context-menu popups
2017-03-16 02:36:48 +01:00
96b3f8ec92
Don't automatically open generic UIs for plugins w/o controls
2017-03-01 17:17:27 +01:00
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
c6a7c9417e
Plug some mixer memory leaks
2017-01-20 13:53:45 +01:00
e07f465516
fix default output map display for no plugin processors
...
(eg. mono->stereo deliveries)
2016-11-25 13:03:25 +01:00
e6ff4d8455
Add tooltip info for inline-display
2016-10-18 23:40:14 +02:00
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
a4ad0a90d1
GUI to allow aux-send feedback loops
2016-10-14 16:07:30 +02:00
b339cde446
remove debug output from last commit
2016-08-21 21:44:33 -04:00
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
ba815a903b
add a ToDo note for after string-freeze
2016-07-24 13:33:09 +02:00
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
a450024c56
add some strategic lua gc steps.
2016-07-18 23:52:40 +02:00
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
cf52d6e4b4
enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
2016-07-14 14:45:23 -04:00
c49ac91b01
add mouse interaction to inline display
2016-07-12 14:38:28 +02:00
412fcafda0
Plugin GUI activate/enable update (prefer enable)
2016-07-05 23:30:21 +02:00
08d7485e85
fix inline display when cairo_surface_has_snapshots
2016-07-02 23:36:34 +02:00
843b6b90b0
fix switching from generic to custom plugin UI
2016-06-05 23:55:08 +02:00
301000c94e
make new action to bind BackSpace to in processors box
2016-06-02 14:46:35 -04:00
cfee8ac852
fix UI wire display to not coalesce views for non-linear i/o.
2016-05-24 18:18:26 +02:00
725665ac46
lua inline display error reporting
2016-05-20 23:15:58 +02:00
f108664785
remove wrongly copy/pasted code
2016-05-10 20:54:11 +02:00
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
17ace643e4
OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one)
2016-05-04 23:09:45 -04:00
a725fde23d
enable luaproc presets
2016-04-29 18:34:41 +02:00
1888104f8d
remove "Lua DSP Proc" context meuu
2016-04-29 02:57:51 +02:00
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
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
c9dedc567d
fix midi-bypass drawing.
2016-04-19 17:31:00 +02:00
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
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
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
d3acba6be4
fix initial panner control for new Sends
2016-04-18 00:52:24 +02:00
64fdadecb6
fix port icon visibility for coalesced wire view
2016-04-17 21:50:29 +02:00
ccbf56827d
pretty send and sidechain names
2016-04-17 21:50:26 +02:00
8fc19d6c67
use temporary sends for sidechain inputs
2016-04-17 14:10:13 +02:00
ddc4824d92
fix logic error for output routing wire display
2016-04-16 22:15:34 +02:00
9ad98885cb
another take on mixer strip wire drawing
...
mini modulars are fun.
2016-04-16 21:28:37 +02:00
ec09c1ad63
shorten and clarify context-menu entry.
2016-04-15 23:09:14 +02:00
7cbf7f370b
special case side-chain when copying plugin-state (fix crash, dup IO)
2016-04-13 18:53:54 +02:00
da6aae826d
somewhat improved "thru" and sidechain routing display
2016-04-12 18:38:28 +02:00
1bf84f3ca3
fix editor/mixer initial display (show_all)
2016-04-09 00:33:56 +02:00
8c81808db7
GUI part of count/n_total API rename
2016-04-08 18:16:23 +02:00
3868c5b4a4
GUI support for plugin port bypass connections
2016-04-07 18:36:04 +02:00
ffbcd9d9ec
lexical NO-OP
2016-04-04 15:14:41 +02:00
90c8fdb12f
mixer-strip wires: take midi-bypass/trhu into account
2016-04-04 14:58:46 +02:00
e087237f3c
s/Management/Connections/
2016-04-04 13:56:34 +02:00
1feb50b2b2
Display output mapping (last processor before pan) in mixerstrip
2016-04-04 01:27:33 +02:00
4cedc07b3e
add GUI to configure/connect sidechain
2016-04-03 05:21:40 +02:00
f827168b67
update mixer-strip display - indicate sidechain
2016-04-03 05:16:59 +02:00
d1580ba924
update mixer-strip routing display
2016-04-02 14:51:32 +02:00
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
fa79e9a616
interactive GUI to manage plugins pins
2016-04-01 22:57:56 +02:00
ee4e3e7737
update mixer-strip routing display
2016-03-31 20:44:39 +02:00
8acf782bd2
reduce header dependencies (part 2/2)
2016-03-28 19:14:56 +02:00
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
62d2d22b44
get started with Pin Manager - currently display-only.
2016-03-27 21:35:42 +02:00
a8943538ea
Hide lua script selector before showing lua parameter dialog.
2016-03-23 17:00:10 +01:00
ea354226c1
catch lua exceptions.
2016-03-21 21:39:11 +01:00
877325ea6e
special case LuaProc Inline Display UI: direct cairo context
2016-03-18 21:33:45 +01:00
c07bca3a62
fix capitalization of sections of key editor
2016-03-15 21:25:07 -04:00
fed51adfa0
relax inline display height constraint
2016-03-16 01:24:32 +01:00
09e193c097
give ProcessorBox its own bindings
2016-03-15 12:41:22 -04:00
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
204e50bf89
migrate plugin-ui settings to ui-config
2016-03-15 15:15:23 +01:00
c8d25f37bc
remove superfluous ceil()
2016-03-15 11:55:44 +01:00
76df2d6e36
fix a Wsign-compare
2016-03-15 00:27:13 +01:00
cb4f15ff43
implementation for "prefer inline over GUI"
2016-03-15 00:27:03 +01:00
7539bab670
inline-display, scrollbars and fixed aspect ratio = fun
2016-03-14 22:32:21 +01:00
594d0d8672
GUI update for non-cairo Plugin Inline Display
2016-03-14 16:45:27 +01:00
9af5d17708
add GUI support for Plugin Mixer Inline Display
2016-03-14 11:48:22 +01:00
db333a1eed
allow to copy processor state (drag processor on another of same type)
2016-03-11 22:00:12 +01:00
28017b4751
Add GUI to instantiate Lua DSP Processors
2016-02-23 15:41:41 +01:00
56770ff0af
change GTKOSX macro constant to use __APPLE__ instead
2016-02-22 15:31:25 -05:00
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
bc487bb4b0
replicate the remove-all-trailing whitespace commit(s) in master
2016-02-22 15:31:24 -05:00
09f9020897
action maps now have names
2016-02-22 15:31:24 -05:00
f6721344bd
merge once again with master
2016-02-22 15:31:24 -05:00
949163f806
more changes to Bindings, Keyboard APIs
2016-02-22 15:31:24 -05:00
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
00933950b7
small rationalization of naming and code for managing plugin GUI visibility
2016-02-22 15:31:23 -05:00
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
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
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
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
38f199e355
Processors: separate drag-sources and drop-targets
2016-01-01 13:28:47 +01:00
bcaae13e3e
set DnD targets per processor
...
This prevents DnD of non-processors to the sidebar
2015-12-30 12:25:09 +01:00
9283e97435
refine add preset/favorite dialog
...
dedicated "Add to Favorites only" mode.
2015-12-28 17:23:45 +01:00
4758de37cd
allow creating plugin-presets by dragging a plugin to the sidebar
2015-12-28 04:11:45 +01:00
e762fe36be
refactor Processor-Box plugin drag/drop: allow presets
2015-12-25 17:13:00 +01:00
80028d7c82
don't automatically open plugin-GUI when using drag/drop
2015-12-24 01:45:16 +01:00
a7b236561c
ProcessorBox: allow to receive PluginInfoPtr drops
2015-12-22 04:24:20 +01:00
d5c275e78e
update ProcessorBox API for new DnDVbox constructor.
2015-12-22 04:15:04 +01:00
0d9f15dd80
GUI part of monitor-section constraints.
2015-12-21 14:38:28 +01:00
4dca26a6e7
use new open-gui-after-adding-plugin config variable
2015-12-08 13:44:20 +01:00
602839ffea
use platform-specific modifier name for tooltip
2015-11-20 15:24:47 -06:00
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
696b89b71a
rework 8b80fe0
, use std::string, not char*
2015-10-15 11:24:15 +02:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
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
d25e1cb635
add a hidden option to show hidden processors
...
simplify debugging solo, monitor-processors, etc
2015-10-04 19:40:46 +02:00
cba31db6fe
processor-box: explicitly check for "Amp" (Fader)
2015-09-21 13:14:29 +02:00
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
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
45d487f16e
Move ARDOUR_UI::ui_scale into UIConfiguration class
2015-09-16 16:55:17 -04:00
53d51ac406
fix processor paste location - fixes #6536
2015-08-25 01:09:41 +02:00
11f51497f3
provisional processor control-box tweaks - possible fix for #6519
...
ControlBoxes are created/destroyed regularly (plugin re-order,
track selection -> Editor Mixer,...).
Properly disconnect the timer signal in the dtor and skip updateing the
tooltip unnecessarily (duplicate calls, Changed & Timer).
This should really be undone, the timer needs to be removed and Changed() used throughout.
2015-08-19 14:27:14 +02:00
9f3bf09a7c
rework processor box: handle n/a plugins
2015-08-16 00:03:39 +02:00
eddf50185b
prepare UI for missing plugins
2015-08-15 23:29:53 +02:00
29b06768d5
handle some wire edge-cases & explanation
2015-08-09 08:37:28 +02:00
2e8e23fac3
update routing wires display
2015-08-04 18:42:27 +02:00
a021da9a9d
oops.
2015-07-29 03:34:27 +02:00
36f6aa9356
work-around OSX loadlocale thread safety.
...
This is not a real fix; just a stop-gap for the worst offender.
iostream on OSX is not thread safe.
Sadly no crash report so far managed to catch the 2nd thread in action.
looks like the GUI thread is preempted, 2nd thread succeeds, and the
crash occurs later).
see also https://discussions.apple.com/thread/3479591
crash in
s << c->internal_to_user (c->get_value ());
ardour-4.1.335(5000,0x7fff777f5300) malloc: *** error for object 0x7fe2f3e06170: pointer being freed was not allocated
1 libsystem_c.dylib abort + 129
2 libsystem_malloc.dylib free + 428
3 libsystem_c.dylib __numeric_load_locale + 544
4 libsystem_c.dylib loadlocale + 216
5 libstdc++.6.dylib std::__convert_from_v(int* const&, char*, int, char const*, ...) + 193
6 libstdc++.6.dylib std::ostreambuf_iterator<char, std::char_traits<char> > std::num_put<char, std::ostreambuf_iterator<char, std::char_traits<char> > >::_M_insert_float<double>(std::ostreambuf_iterator<char, std::char_traits<char> >, std::ios_base&, char, char, double) const + 193
7 libstdc++.6.dylib std::ostream& std::ostream::_M_insert<double>(double) + 221
8 ardour-4.1.335 ProcessorEntry::Control::set_tooltip() + 854 (processor_box.cc:578)
9 ardour-4.1.335 ProcessorEntry::Control::control_changed() + 446 (processor_box.cc:637)
10 ibpbd.dylib PBD::StandardTimer::on_elapsed()
2015-07-28 20:54:43 +02:00
4c608b6e04
assign new IDs to plugin copies on paste.
...
when copying a plugin the state is transferred by serializing
XML and setting state from XML. This state includes the unique ID.
This ID needs to be identical at first in order to load
the state from <session-dir>/plugins/<ID>/*
2015-07-10 22:09:18 +02:00
03248249c8
remove LED from custom meter point processors
...
... since they can't be disabled. fixes 6333
2015-05-18 16:30:02 +02:00
8b5474b9e1
For MSVC builds, implement 'rint()' and 'rintf()' to supplement the ones that were already implemented
2015-04-24 19:11:10 +01:00
b38ab89d92
clean up GUI scaling
2015-04-22 21:40:43 +02:00
add248f0cb
scale inline slider girth.
2015-04-22 21:40:42 +02:00
8731f9ed8f
scaleable routing icons & wires
2015-04-22 21:40:42 +02:00
aab777b490
add braces
2015-04-13 22:25:55 -04:00
9f25af7eec
processor control: update control-element tooltip
2015-03-29 17:11:08 +02:00
b34f26a7d0
retain Send control visibility state, fixes #6210
2015-03-25 11:10:58 +01:00
b1f9b644fc
desensitize redirect-menu Send and Control items when they are not applicable
2015-02-11 11:13:24 -06:00
b5c9a92a58
Move Timers/Timeouts from ARDOUR_UI into functions in timers.h and use PBD::Timers
2015-01-01 19:04:14 +07:00
52d97c8cfb
update interface for processor-box faders step/page
...
see also 4d4c20b8c
2014-12-01 00:33:11 +01:00
58663db374
change ownership of processor window-proxy
...
fixes crashes:
* If the Editor-Mixer shows a channel with a plugin that
has been edited in the Mixer, double-clicking the plugin
will try to bring up a 2nd instance of the plugin-UI.
* When closing Ardour both the Mixer and the Editor-Mixer try to delete the underlying plugin, resulting in a double free.
2014-11-29 10:06:25 +01:00
ea5876b836
Remove dead code.
2014-11-25 02:11:44 -05:00
049c11de58
Slider Controller API Change
...
Prepare to allow BarController (with Spinbutton) to translate
internal/interface values for the SpinBox.
(The change is irrelevant for the fader/slider itself which
always use the [user-]interface value)
2014-11-01 18:22:29 +01:00
52f44dc4da
convert interface <> internal values for all automation
...
fixes Send-Fader, Gain-Automation and various Plugin-Slider ranges
2014-11-01 07:27:35 +01:00
aac3ca5521
initialize some uninitialized vars - closes #5974
2014-10-08 19:16:21 +02:00
ceff2e3a62
plugin widgets were written to use Internal values, so use that for now
2014-09-18 17:25:11 -05:00
a07dc44b4d
remove pixel based Button LED diameter setting
...
Diameter is calculated depending on font-scaling.
Besides, all explicit calls simply set the default
value, anyway. If some API is needed in the future,
it should set the diameter in [em].
2014-09-06 02:08:59 +02:00
540a12119b
prepare Slider API cleanup
2014-09-02 02:53:05 +02:00
39e2223fee
yet another ArdourButton action tweak
2014-08-28 15:29:18 -05:00
7306568634
More fixes to ArdourButton actions.
...
Optionally allow events to fallthrough to parents, in particular for the DnDVBox case.
Also allow the number_label to operate as a track selector.
2014-08-28 14:25:19 -05:00
df2a8fccc7
disallow selection of the fader and meter processor entries
2014-07-28 10:08:26 -05:00
96171ebe83
several fixes to make processor selection and deletion feel right, for both mixer and editor-mixer strips
2014-07-24 22:49:47 -05:00
6bdc976462
Remove "implicit" selection for plugin deletion.
...
Allow deletions in the mixer strip to fall through to editor if nothing was selected.
2014-07-24 22:49:47 -05:00
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02:00
f6aaa1660b
en/disable internal send+returns with tracks en/disable.
2014-06-23 00:48:47 +02:00
bef4483611
Use round() instead of rintf() when building with MSVC
2014-01-30 18:37:36 +00:00
e0b2764b91
Oops - the previous namespace qualifier was also needed in gtk2_ardour/processor_box.cc
2014-01-30 18:28:12 +00:00
2ba58dfe65
Merge branch 'master' into cairocanvas
2014-01-29 16:08:52 -05:00
249ee47296
fix routing display for mono synths and midi-tracks w/o synth
2014-01-26 01:21:28 +01:00
cf806123ca
merge (with conflict fixes) with master (even against rgareus' recommendation)
2014-01-14 10:56:17 -05:00