Commit graph

11244 commits

Author SHA1 Message Date
Julien "_FrnchFrgg_" RIVAUD
a51cd8689f Move anchored menu placement strategy to Gtkmm2ext utils
So that it can be used by others.
2016-08-08 16:44:40 +02:00
Robin Gareus
0d2ba3fe8e fix typo 2016-08-07 20:29:21 +02:00
Julien "_FrnchFrgg_" RIVAUD
f97696d7f3 Make ArdourDisplay a subclass of ArdourDropdown 2016-08-07 19:44:54 +02:00
Julien "_FrnchFrgg_" RIVAUD
054b347181 Remove the space for checks/radios/icons in dropdowns 2016-08-07 18:50:17 +02:00
Julien "_FrnchFrgg_" RIVAUD
5dd4c33915 Make Dropdown menus at least as wide as the button 2016-08-07 18:43:39 +02:00
Julien "_FrnchFrgg_" RIVAUD
5f6cec7c2f Improve placement of Dropdown popups.
When an item in the menu corresponds to the currently displayed choice,
vertically align the item with the button on menu popup.
2016-08-07 17:20:43 +02:00
Julien "_FrnchFrgg_" RIVAUD
625240fe30 Use a C++ bool constant 2016-08-07 16:17:39 +02:00
Julien "_FrnchFrgg_" RIVAUD
e1da96c472 Improve ArdourDropdown menu position 2016-08-07 16:14:59 +02:00
Edgar Aichinger
595684ddf7 update german translation 2016-08-06 16:49:41 +02:00
Robin Gareus
836f48457d add a "Pin Management" button to the plugin UI-header 2016-08-05 02:35:51 +02:00
Nils Philippsen
65c2e089ab workaround changes in glibmm 2.49.x
Glib::RefPtr defines the operator bool() as explicit which breaks
comparisons like "some_ref_ptr == 0" or "... != 0".

https://bugzilla.gnome.org/show_bug.cgi?id=769502
2016-08-04 09:52:22 +02:00
Robin Gareus
fcf9836da0 add a wrapper to launch the vst-scanner manually 2016-08-03 19:56:22 +02:00
cooltehno
57e9b502a7 Update clear-gray-ardour.colors
A peak rectangle in the mixer strip is ruled by "gtk_bright_indicator". In the previous commit I mixed up this item with "meterbridge label" & "meterbridge peakindicator". This commit changes "gtk_bright_indicator" from white to red and returns "meterbridge label" & "meterbridge peakindicator" state to primordial. So now the peak rectangle in the mixer strip will be red when a sound peak has a place.
2016-07-31 19:22:42 +04:00
nick_m
0a3aa9c324 Use S_ macro when comparing modifier names in User Interaction Preferences.
- Fixes bug where selecting 'Shift' as a modifier was ignored.
2016-08-01 01:04:28 +10:00
cooltehno
1a481e661b Update clear-gray-ardour.colors 2016-07-31 17:11:58 +04:00
pablus
68b78ac357 Update Spanish translation 2016-07-30 12:52:58 +02:00
Julien "_FrnchFrgg_" RIVAUD
46a69ade78 Update French translation 2016-07-29 22:10:49 +02:00
Julien "_FrnchFrgg_" RIVAUD
f41e0cd4a2 Make monitor detection reuse the port name translation
So that they never get out of sync, and translators don't get confused.

Also replace some N_() where X_() was really intended.
2016-07-29 22:10:49 +02:00
YQ-YSY
d0126be806 2016-07-29 Update zh.po for Ardoru 5.0 2016-07-29 21:34:52 +08:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
d26c3d380d GenericUI: replace early return by an else 2016-07-28 23:21:10 +02:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
1d173bc84f GenericUI: replace ComboBoxText by ArdourDropdown 2016-07-28 23:18:47 +02:00
Paul Davis
cf08eaa32d pt(_BR) update for gtk2_ardour from Marcelo Teles 2016-07-26 10:32:03 -04:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
37dc4bd8a7 Factor out and simplify the search by components in options tree 2016-07-26 08:02:40 +02:00
Julien "_FrnchFrgg_" RIVAUD
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
Robin Gareus
994df3aaa3 improve shuttle control response when grabbed. 2016-07-25 19:43:57 +02:00
Robin Gareus
793ff25e08 plugin spectrum analysis: plot A/B 2016-07-25 17:45:14 +02:00
Robin Gareus
822810b88f the endless quest to plug memory leaks -- episode 379 2016-07-25 17:38:59 +02:00
Robin Gareus
ac8f4baa00 add some flush_pending timeouts 2016-07-25 14:51:23 +02:00
Robin Gareus
42b20f15a2 fix crash in preferences dialog if lv2-extended is not defined 2016-07-25 01:33:23 +02:00
Julien "_FrnchFrgg_" RIVAUD
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
Julien "_FrnchFrgg_" RIVAUD
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
Robin Gareus
ad34eb7e0b fix some spelling inconsistencies. 2016-07-24 20:30:23 +02:00
Colin Fletcher
864a1860cc gtk2_ardour: update UK English localisation 2016-07-24 16:11:46 +01:00
Robin Gareus
07959fb365 some more (untranslatable) lower case kilos. 2016-07-24 16:54:08 +02:00
Julien "_FrnchFrgg_" RIVAUD
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
Robin Gareus
ba815a903b add a ToDo note for after string-freeze 2016-07-24 13:33:09 +02:00
Robin Gareus
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
Robin Gareus
46d2b03af0 retain desired samplerate when switching backends 2016-07-24 13:00:15 +02:00
Robin Gareus
bcee4e1518 add a lua timer callback signal 2016-07-24 13:00:15 +02:00
nick_m
6e49ca61a4 Remove the temporary note group in MidiRegionView, update start trim during drag. 2016-07-22 23:21:27 +10:00