13
0
Commit Graph

21801 Commits

Author SHA1 Message Date
67cbdc6cf2 GenericUI: Update all input controls on preset load
The existing code relies on AutomationControls for getting parameter
changes and update the UI accordingly. One case where this doesn't yet
work is preset loading, where ARDOUR::Plugin is responsible for actually
loading the preset but doesn't notify the changes to AutomationControls.

Since the input_controls vector now contains all ControlUI's that rely on
AutomationControls to get updates, just listen to Plugin::PresetLoaded()
and trigger an update of all elements in input_controls.

This is temporary until a better solution is devised to make
AutomationControls aware of preset loading.
2016-07-29 02:06:55 +02:00
7e30161dc0 GenericUI: Show automation UI for dropdowns
Also merge the ControlUI local layout of dropdows with the local layout
of other control types (except FileButton).
2016-07-29 00:54:25 +02:00
5c5b7746a2 GenericUI: disable super rapid timer for input controls
The super rapid timer was disconnected by GenericPluginUI::stop_updating
but never connected again, so the generic UI worked often without
getting periodic update triggers anyway.

Try to disable the mechanism altogether, and see if there are updating
glitches.
2016-07-29 00:14:20 +02:00
a7b29d7966 GenericUI: replace if() by assert()
It makes no sense to check for the validity of mcontrol only for
controller creation, since the remainder of the code assumes that the
controller will have been created correctly.

Replace that by an assert.
2016-07-29 00:07:02 +02:00
3365722b8b GenericUI: remove duplicate connection to signal
Now that there isn't an early return anymore for Dropdowns, the common
path takes care of connecting the display update code to the correct
signal.
2016-07-28 23:21:10 +02:00
d26c3d380d GenericUI: replace early return by an else 2016-07-28 23:21:10 +02:00
535814cf98 GenericUI: don't add all inputs to automation vector
That list is used to set the automation state of all automatable
controls when the global automation state is changed with the buttons at
the top of the generic UI window. The controls were added to the list
regardless of the automatable status, and some controls were even added
multiple times: once in build_control_ui() and once in build().

Since changing the state of non-automatable controls is wrong, only add
the control UI in build_control_ui() which already has the knowledge of
automatable or not.
2016-07-28 23:21:09 +02:00
35a20a8bcc GenericUI: add a sanity-check for FileChoosers
Assert that all FileChooserButton created are for properties, because
the remaining code assumes that it should setup things for a property.
2016-07-28 23:20:04 +02:00
0e7b9c6a98 GenericUI: move up filepath property handling
Since it is the only case that's completely different from others in
that it only handles properties, and uses a different signal path for
updates, don't put it in the middle, but as the first case to check for.

Code move only, no behavior change (since it should be exclusive to all
other cases anyway).
2016-07-28 23:20:03 +02:00
63bbcf968a GenericUI: only connect one PropertyChanged callback
The code connected the callback to the PropertyChanged signal from the
plugin once per filepath control created. Should the plugin have several
files to open, this would be at best wasteful and at worst racy.

Connect the callback a single time, since the same callback handles all
property updates that we're interested in. Also rename the methods,
members and typedefs so that it's clear what the code is trying to do.
2016-07-28 23:19:08 +02:00
1d173bc84f GenericUI: replace ComboBoxText by ArdourDropdown 2016-07-28 23:18:47 +02:00
7c5a8dea7c OSC: eq bands off by one fix 2016-07-28 08:51:15 -07:00
04029a656e OSC: MB spelling mistakes stopped compile fix 2016-07-28 07:44:58 -07:00
f93f388845 Fix whitespace 2016-07-28 07:51:55 -04:00
8419c7b79c initialize uninitialized variable 2016-07-28 13:28:38 +02:00
316e9409d0 fix thinko-typo in SoloControl::soloed_by_others() 2016-07-26 21:47:04 -04:00
c10e57129d OSC: Fix cut-n-paste mistake 2016-07-26 14:47:12 -07:00
69752813db OSC: Make sends work for MB. Add pan to /path/strip 2016-07-26 14:11:06 -07:00
9079a6002c Call Plugin::load_preset() from LuaProc::load_preset()
So that the plugin knows that a preset has been loaded, and can send the
signal accordingly.
2016-07-26 18:35:28 +02:00
c2f5abc91e OSC: Fix forward detection to include >0 and <1 2016-07-26 08:02:03 -07:00
b36192aba8 OSC: Remove redux control 2016-07-26 08:00:04 -07:00
cf08eaa32d pt(_BR) update for gtk2_ardour from Marcelo Teles 2016-07-26 10:32:03 -04:00
ca7d4447de Add missing locale guard for luadsp preset loading
That caused truncation of parameters to int when the decimal separator
is not a period in the user's locale.
2016-07-26 09:52:42 +02:00
c71cc6fe5b When showing a prefs pane, select the row in the tree
When programmatically showing a pane, instead of directly asking the
preferences notebook to show the pane, search for the asked path in the
panes tree, and select it. Since OptionEditor listens to selection
changes in its TreeView, the correct pane will be shown, with the added
benefit that the corresponding section in the tree will be highlighted
so that the user knows which pane is currently shown.
2016-07-26 08:02:40 +02:00
37dc4bd8a7 Factor out and simplify the search by components in options tree 2016-07-26 08:02:40 +02:00
43e20fd3e8 add Sidechain change handler for automatically added initial SC ports 2016-07-26 04:20:18 +02:00
7cc2e8c969 add initial midi sidechain if plugin has one. 2016-07-26 04:20:18 +02:00
78b7e07690 Make a right click on metronome really show click preferences
Solve http://tracker.ardour.org/view.php?id=6906
2016-07-26 03:19:22 +02:00
5f994c07a8 32bit compat (amend 90a67d04) 2016-07-26 02:26:42 +02:00
90a67d04d5 another attempt to fix playhead position with varispeed. 2016-07-25 19:46:19 +02:00
994df3aaa3 improve shuttle control response when grabbed. 2016-07-25 19:43:57 +02:00
793ff25e08 plugin spectrum analysis: plot A/B 2016-07-25 17:45:14 +02:00
822810b88f the endless quest to plug memory leaks -- episode 379 2016-07-25 17:38:59 +02:00
eec294a97e the endless quest to plug memory leaks -- episode 378 2016-07-25 17:16:32 +02:00
ac8f4baa00 add some flush_pending timeouts 2016-07-25 14:51:23 +02:00
3953879d4d add a timeout to flush_pending()
In some circumstances UI::flush_pending never returns, and all UI
interactive ends up being driven by
   while (gtk_events_pending()) { gtk_main_iteration(); }
This has various implications depending on the caller and usually results
in a crash at session-close or exit.
2016-07-25 14:13:52 +02:00
42b20f15a2 fix crash in preferences dialog if lv2-extended is not defined 2016-07-25 01:33:23 +02:00
46c311b2b0 Fix frequence display for plugin analysis mouse over
When freq was changed to be an integer, the conversion to kHz became a
truncation. Divide by the float 1000.0 to pass the correct value to the
stringstream formatting routine.
2016-07-25 00:46:49 +02:00
9215710c59 Plugin Analysis: show numeric values on mouse over
For people who need more precise frequency or response amplitude, show
the values corresponding to the point under the mouse.
2016-07-25 00:31:47 +02:00
ad34eb7e0b fix some spelling inconsistencies. 2016-07-24 20:30:23 +02:00
23a2cc4b71 prepare region RMS (loudness) normalization 2016-07-24 20:30:23 +02:00
80bd3e7279 OSC: Make pan controls work properly with MB too. 2016-07-24 09:06:59 -07:00
c21ba6f457 libs/ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
864a1860cc gtk2_ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
07959fb365 some more (untranslatable) lower case kilos. 2016-07-24 16:54:08 +02:00
85746c528f export rate formatting:
* use the locale (44.1 vs 44,1)
* do not encourage translating SI units and prefixes)
2016-07-24 16:54:08 +02:00
a76607486c kilo is a lower-case 'k' 2016-07-24 16:54:08 +02:00
4093cf6b90 Make the trim knob on busses show only if there is audio
The trim knob has been designed to operate only on audio channels. If
the bus has none, hide the knob that would otherwise have no effect at
all.

Factor the trim control show/hide code out of MixerStrip::set_route(),
and also call that code in response to I/O changes in the route.
2016-07-24 13:51:11 +02:00
ba815a903b add a ToDo note for after string-freeze 2016-07-24 13:33:09 +02:00
7897b750ea rework FFT-graph, add pointer-position annotations
* replace old Gdk graphics context with cairo drawing
* cache graph on an image-surface
* allow partial exposure
* add annotation overlay
2016-07-24 13:00:15 +02:00