Commit Graph

146 Commits

Author SHA1 Message Date
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
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
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
80939f2228
Option to show gain-knob on Meterbridge 2021-12-07 17:56:39 +01:00
23c5793173
Remove duplicate calls to set_session
Windows managed as Proxy do not need direct calls to set_session().
This is already handled by WM::Manager::instance().set_session()

Also WM set_session() called it twice.
2021-09-20 04:21:21 +02:00
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
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
53b13d718f
Initialize some uninitialized vars
This fixes meterbridge type changes, due to uninitialized
_suspend_menu_callbacks.
2019-06-10 00:34:31 +02:00
9390f17f36
NO-OP: whitespace and comments 2019-06-09 19:56:36 +02:00
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
2e5daf2eeb
Reduce #includes - avoid ardour_ui.h 2019-03-08 01:53:55 +01:00
7b96fa1c5e
Fix some Gtk::Menu memory leaks
A Gtk::manage()d widget will be deleted when its parent container
is destroyed. Top-level context menus are not inside a container and
hence need to be manually deallocated.

The solution here is to use a shared Gtk::Menu pointer that is
centrally de/re-allocated.

This works because the GUI is single-threaded and at most one
context menu is visible at a time.
2019-03-07 23:50:50 +01:00
64e1d691ec
Prefer using RAII to suspend signals 2019-03-07 23:50:43 +01:00
4f86da8544 Wimplicit-fallthrough fixes for gtk-ardour 2018-10-26 14:53:49 +02:00
5e04e288a0 NO-OP: cleaner syntax 2017-11-23 10:46:44 +01:00
ae0dcdc0c5 Fix various tooltip markup (ampersand) entity-escape:
* track/port names
* plugin-names
* MIDI patch-names
2017-09-14 19:23:37 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
e157a84c2b Use PBD::to_string from pbd/string_convert.h in MeterStrip class
The numeric formatting is equivalent. The string is being used in a label so it
could be argued that we want localized numeric formatting in this case, but as
it is only relevant if we have >=1000 meter strip keep it the same for now.
2017-04-19 09:37:01 +10:00
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
56af59953f move "logmeter.h" from gtk2_ardour into libs/ardour 2016-09-27 14:59:32 -05:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
518f7f9892 RouteUI connects to Route's PropertyChange signal; derived types implement route_property_changed() 2016-06-05 16:33:02 -04:00
c31435b474 RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix initialization.
Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
2016-06-05 16:33:01 -04:00
384d05dd35 change AxisView color API to be virtual and implement per-type variants 2016-06-05 16:33:01 -04:00
e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04:00
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
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
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
45d487f16e Move ARDOUR_UI::ui_scale into UIConfiguration class 2015-09-16 16:55:17 -04:00
fc1e7dbb55 Move DPIReset and ColorsChanged signals into UIConfiguration 2015-09-16 16:55:17 -04:00
517211681e 0dBFS peak meter GUI 2015-04-25 06:46:56 +02:00
b38ab89d92 clean up GUI scaling 2015-04-22 21:40:43 +02:00
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
6d531b82e0 add context to single-letter translatable 2015-04-05 00:17:53 +02:00
9b2a78a0b2 make MeterStrip::state_id() safe against null _route member 2015-04-01 11:58:31 -04:00
69dc9451a7 NOOP, add a missing ‘p’ 2015-03-11 20:06:41 +01:00
0a4038f1df fix meter bridge window size issues
* no more OSX liveloop (window size < min size)
* properly set min window size
* re-layout metric areas when label height changes
* remove ‘smart’ auto-resize (when tracks are added/removed)
  (it wasn’t smart enough to work on all WMs)
2015-01-07 23:46:22 +01:00
64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
a7ca603ab6 show meter-bridge context-menu on mouse-down 2014-10-23 14:45:54 +02:00
c5e97ea21b Don't show meter-type menu for MIDI-only meters 2014-10-23 14:45:49 +02:00
4a00bdf04a fundamentally change ArdourButton PangoLayout handling
This fixes issues where button text was set during static
initialization where the widget style was not yet available,
and a lot of related issues where the text was set
before style.
2014-09-06 00:41:56 +02:00
5fda9d55a4 increase fixed button sizes on meterbridge 2014-09-05 17:27:59 +02:00
5d5d859c2a use new 'special' rec-en button 2014-09-02 20:43:27 +02:00
65287a6f09 mark "Label Buttons" as inactive 2014-08-29 21:10:20 +02:00
d6454dfb36 amend 7be3c88a, update rec-en color 2014-08-29 19:55:25 +02:00
7be3c88a3e experiment with unicode circle for rec-en
fixes button-area width mismatch on track-headers
except for tape-tracks (which till use old fixed size icon)
2014-08-29 01:13:49 +02:00
392f4847b0 use 2 digit width as minium for track number labels 2014-08-28 22:38:59 +02:00
74f313dd6b Rationalize ArdourButton and lots of associated theming issues.
ArdourButtons now have a "pushed" animation.
The gradient is now implemented in the button, rather than providing 2 colors in the theme, which was burdensome.
Lots of code cleanup in ArdourButton.  Removed several unnecessary flags.
Refactor more stuff into route_ui.
2014-08-22 11:51:20 -05:00
611e762e3c fix meterbridge: load button image only once. 2014-06-28 22:02:20 +02:00