Commit Graph

289 Commits

Author SHA1 Message Date
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
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