Commit graph

309 commits

Author SHA1 Message Date
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
567c0a8f53 Switch to PBD control-math and prefer Controllable API
Note: Control-surfaces should always use interface_to_internal()
and internal_to_interface().
2017-06-21 18:12:04 +02:00
Robin Gareus
7c94499aec Remove Cruft -- AutomationStyle never did anything.
Trim automation is planned via SlavableAC as normal AutomationMode.
Some of this code have a revival (a special "Trim+Preview" state
before merging Automation but that has to be more general than Pan & Gain.
2017-06-21 13:16:27 +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
585fa4302f Disallow Selection, context-menu & drag-start on peak-display Button 2017-03-23 01:53:31 +01:00
Robin Gareus
b3722f7063 consistent use of context-menu popups 2017-03-16 02:36:48 +01:00
Robin Gareus
69bcc38e99 Fader Group override (allow to enable on disabled groups/predicates) 2017-03-11 19:00:06 +01:00
Robin Gareus
5b4f5c477d Snap-back fader on release (follow-up to e8cebac6a3)
When dragging a fader out-of-bounds (VCA slave constraint), move it back
on release.
2017-02-24 23:55:55 +01:00
Robin Gareus
4afa3aa65e Group-override for faders
Tentative solution. Eventually the gain_adjustment should be moved
into the PixFader or SliderController and a dedicated API
should replace  gain_adjustment.signal_value_changed()
2017-02-24 23:41:22 +01:00
Robin Gareus
d0286d3df1 NO-OP resolve an ambiguity, just because.
Due to  LevelMeterVBox : public LevelMeterBase, public Gtk::VBox;

LevelMeterBase::get_type() overloads Gtk::Widget::get_type(),
Glib::Object::get_type(), Atk::Implementor::get_type() etc..

Besides Ardour-style prefers not to use  get_...()
2017-02-24 23:41:21 +01:00
Robin Gareus
5c9a5e3362 styleguide #6 2017-01-24 13:47:01 +01:00
Daniel Sheeler
33c74357f0 Meter point toggle button now uses a popup menu instead of toggling 2017-01-24 13:38:23 +01:00
Robin Gareus
98c0adda49 Fix crash when resetting all peak-meters with VCAs. 2016-12-21 15:15:06 +01:00
Paul Davis
56af59953f move "logmeter.h" from gtk2_ardour into libs/ardour 2016-09-27 14:59:32 -05:00
Tim Mayberry
b424270208 Fix string to float conversion when typing gain values in Gain Meter
Remove the LocaleGuard so that the value of LC_NUMERIC is that of the users
locale and sscanf will parse the string correctly. For instance, with a locale
like nl_NL or fr_FR where the decimal point is different than the "C" locale,
only the number up to the decimal point will be parsed by sscanf and input
values will be rounded down.
2016-08-24 20:42:56 +10:00
Julien "_FrnchFrgg_" RIVAUD
ede27f53c6 Remove unused space in gain_meter's automation menu 2016-08-19 02:53:39 +02:00
Julien "_FrnchFrgg_" RIVAUD
d883d4623a Make MixerStrip's automation menu behave like a dropdown 2016-08-17 14:30:28 +02:00
Paul Davis
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Paul Davis
7565e21341 partially revert incorrect changes to gain meter text entries/displays 2016-07-02 13:53:18 -04:00
Paul Davis
47144ee7f4 minor no-op hacks (unneeded or suboptimal code) 2016-07-01 17:47:05 -04:00
Robin Gareus
ae80aba3a9 quick prototype to allow changing *all* gain automation 2016-06-28 00:09:00 +02:00
Paul Davis
653ae4acd6 universal change in the design of the way Route/Track controls are designed and used. The controls now own their own state, rather than proxy for state in their owners.
Massive changes all over the code to accomodate this. Many things are not finished. Consider this a backup safety commit
2016-05-31 15:30:40 -04:00
Paul Davis
1249e61d73 trivially change API of GainMeter but more importantly don't show meter if no Route is set 2016-05-31 15:30:40 -04:00
Paul Davis
a38aabfce3 revert GainMeter back to simpler code now that VCA model appears correct 2016-05-31 15:30:39 -04:00
Paul Davis
c5c6be4170 adjust logic for slaved faders, not necessarily correctly.
More info in the code comments.
2016-05-31 15:30:39 -04:00
Paul Davis
0275582b89 rename GainMeter::gain_adjusted() to GainMeter::fader_moved() to be more clear 2016-05-31 15:30:39 -04:00
Paul Davis
8e643563e5 make GUI fader positions reflect VCA master values 2016-05-31 15:30:39 -04:00
Paul Davis
51c833dff5 change packing of GainMeter so that the fader+meter will expand to fill available space 2016-05-31 15:30:38 -04:00
Paul Davis
b3d5d4f138 correctly set up members of GainMeterBase in ::set_controls() 2016-05-31 15:30:38 -04:00
Robin Gareus
6d343ba3c6 fix LocaleGuard contstructor (3dc77280) 2016-05-07 12:19:41 +02:00
Robin Gareus
3dc7728038 we always only use the "C" locale when saving. 2016-05-05 21:49:56 +02:00
Paul Davis
dd32c05cda GainMeter(Base) now has an explicit gain control given to it 2016-01-25 11:47:44 -05:00
Paul Davis
eee07ac351 NOOP: whitespace fixup 2016-01-22 11:58:16 -05:00
Paul Davis
0c9249604f when leaving an active automation state, update fader displays to show correct current value 2016-01-22 11:58:16 -05:00
Paul Davis
64c9198d60 add group disposition argument to Route::set_gain() and use it in various UIs
Executive decisions were necessary in a couple of places about the correct group disposition
behaviour, notably faderport and OSC surfaces
2016-01-18 12:11:09 -05:00
Paul Davis
1948b50a68 working version of new gain control design 2016-01-18 12:11:08 -05: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
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
Tim Mayberry
45d487f16e Move ARDOUR_UI::ui_scale into UIConfiguration class 2015-09-16 16:55:17 -04:00
Tim Mayberry
fc1e7dbb55 Move DPIReset and ColorsChanged signals into UIConfiguration 2015-09-16 16:55:17 -04:00
Robin Gareus
ba0f7482c3 prefer explicit cast over terseness. 2015-04-28 14:34:18 +02:00
Robin Gareus
b38ab89d92 clean up GUI scaling 2015-04-22 21:40:43 +02:00
Ben Loftis
46f97e8d92 Initial Gain Coefficient tweaks
1)  Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO
2)  Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB)
3)  GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale
4)  GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
2015-04-22 00:22:43 +02:00
Robin Gareus
494009a6e2 towards scaleable meter and mixer UI
somewhat hacky solution, but there's no good central point to
control this and get integer rounding/summing, is there?
2015-04-20 20:45:36 +02:00
Tim Mayberry
b5c9a92a58 Move Timers/Timeouts from ARDOUR_UI into functions in timers.h and use PBD::Timers 2015-01-01 19:04:14 +07:00
Paul Davis
64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
David Robillard
24727e65be Make gain controls step by roughly 1.0/0.1 dB.
Shoot for roughly 30 steps for all controls.

Always keep sensible step information in ParameterDescriptor and just convert
for the UI.

This is a little weird, but it's less weird than it was before, and works.
2014-12-04 00:30:47 -05:00
Robin Gareus
6b3a8915f3 add abort() to non-reached code
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00