Commit Graph

304 Commits

Author SHA1 Message Date
Robin Gareus 6fbf2f37d9
Set meter-height depending on configured fader-length
Previously when len was zero, FastMeter enforced a length
of at least 250px.
2024-05-18 01:44:28 +02:00
Robin Gareus dad32d8b11
Clean up slider-controller includes 2024-05-14 23:41:51 +02:00
Robin Gareus c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Paul Davis 1d31ace29d adjust GainMeter* API and design to handle stripables, not just routes for selection/group behavior 2023-07-31 21:12:00 -06:00
Paul Davis 200194b134 use identical logic for gain/trim controls as others when it comes to group/select stuff 2023-07-31 18:31:03 -06:00
Paul Davis b338b946b8 remove ill-though assert() - VCAs have gain-faders too 2023-07-31 13:54:00 -06:00
Paul Davis fa38a14120 GUI changes to support new selection/group logic 2023-07-31 13:36:25 -06:00
Paul Davis 16e1188a2f move logic for use-selection-as-group into ARDOUR_UI and use it everywhere 2023-07-28 09:50:23 -06:00
Paul Davis 639c206432 fix thinko with selection-as-group for GainMeter 2023-07-27 13:31:12 -06:00
Paul Davis acac9ac006 add and use UI config variable to decide whether selection-as-group is allowed 2023-07-26 18:30:59 -06:00
Paul Davis bc407151cd fix thinko with selection-based gain control 2023-07-26 18:15:42 -06:00
Paul Davis e60c1840cb remove modifier for use-selection on gain controls
The condition is now: use selection if route is not in a group that shares gain
2023-07-26 18:09:04 -06:00
Paul Davis 6ba69cfd57 gain slider: correctly new push/pop group for use selection 2023-07-26 16:42:12 -06:00
Paul Davis d7ed491f75 gain controls: tenatively use new "use selection" feature 2023-07-26 13:39:05 -06:00
Paul Davis 3c2112abf5 widgets & GUI: Start/StopGesture signals should pass on GDK event state 2023-07-26 13:11:52 -06:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus dcf981fe07
Remove remnants from AudioMidi Tracks
This fixes meter faceplace background color when adding
a MIDI port to an audio track.
2022-12-10 02:36:46 +01:00
Robin Gareus 7216a767df
The return of the send level meter 2022-10-11 03:58:35 +02:00
Paul Davis f8a77c7dcb add API to GainMeterBase to allow use of explicit fader colors 2022-08-10 22:34:33 -06:00
Robin Gareus 6089ae9314
Use group_override_inverts preference in the GUI 2022-07-14 16:37:29 +02:00
Robin Gareus 9ae9282547
Use abstract group_override_modifier instead of hardcoded modifiers 2022-06-21 21:38:41 +02:00
Mads Kiilerich cb4e10683d
gtkmm: use size_request() function instead of deprecated Gtk::Widget::size_request(&) 2022-04-08 21:11:07 +02:00
Mads Kiilerich 7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
Paul Davis 2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Robin Gareus 5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus e1a9034a0e
Synchronize meter-reset #7465
Queue reset to be handled when the meter is updated.
Also only call set_name(), set_active_state() when the
state changes.
2020-04-10 23:50:10 +02:00
Robin Gareus 58bbf358e9
Follow backend API change 2020-03-30 18:00:21 +02:00
Robin Gareus 64ddc5dd32
Fix setting automation state for Aux-sends
When switching the Mixer to show sends, using _amp as
intermediate for automation is not correct.
The control is not owned by the amp.
The same is true for VCAs, prefer the control (see 8400ebd175)
2020-03-12 18:44:30 +01:00
Robin Gareus 5b86ece17a
Indicate the numeric peak-hold is always digital-peak 2019-11-12 00:07:51 +01:00
Robin Gareus d584e962ff
Fix copy/paste mess in ab298f035a 2019-10-31 18:47:08 +01:00
Robin Gareus 69cb02f213
Remove unused string translation 2019-10-31 16:33:56 +01:00
Robin Gareus ab298f035a
Consolidate automation and meter-point strings
This also properly selects texts in dropdown-menus on the mixer-strip,
panner and plugin-controls, gain-meters.
2019-10-31 16:12:27 +01:00
Robin Gareus d9d96b181c
Fix meter metric visibility on narrow strips - #7781
After session load, the meter numerics were always visible,
regardless of strip width.
MixerStrip::set_stuff_from_route() and MixerStrip::set_width_enum()
are called before	Mixer UI is realized and calls show_all().
2019-08-04 02:40:59 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
John Emmas 169e15483a Implement a derived function for 'GainMeter::redraw_metrics()'
I'm not sure why exactly but at this line in 'GainMeter::set_controls ()' :-

    model_connections, invalidator (*this), boost::bind (&GainMeter::redraw_metrics, this), gui_context()

MSVC will not allow us to pass a base class function to boost::bind(). I tried explicitly specifying the base class and I also tried making the function public / making it virtual etc but the only thing which works is to implement a derived function.

It's somehow related to changing the signal from 'TypeChanged' to 'MeterTypeChanged' but I don't entirely understand why... :-(
2019-07-13 13:57:57 +01:00
Robin Gareus 9f20631984
Update GUI: meter-type API and meter-type state changes
This removes all additional GUI side meter-type state.
The route's meter-processors is now responsible for providing
the type.

meter-type is now implicit for GainMeter, LevelMeter used by
meter-strips and mixer-strips.
2019-06-09 19:56:30 +02:00
Robin Gareus 31815b5f26
NO-OP: whitespace
This fixes mostly <tab> after <space> and similar <tab> not used
for indenting as well as some related code alignment issues.
2019-04-13 17:57:46 +02:00
Robin Gareus caedbbf543 Fix scroll-wheel on mixer-sliders
74c986534b changes the semantics of fader-flags:
NoVerticalScroll  was "ignore vertical scroll for horizontal faders".
Now the flag ignores all vertical scrolling.
2017-11-03 15:55:33 +01: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
Robin Gareus 9e256b044d GUI support for Latch 2017-09-18 11:40:52 -04:00
Robin Gareus fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
Robin Gareus 8400ebd175 Amend c242cbc318 (VCA automation button) 2017-07-21 13:01:43 +02:00
Robin Gareus eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
Robin Gareus f6e182b937 Move 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 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