Commit Graph

147 Commits

Author SHA1 Message Date
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
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
Robin Gareus 80939f2228
Option to show gain-knob on Meterbridge 2021-12-07 17:56:39 +01:00
Robin Gareus 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
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 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
Robin Gareus 53b13d718f
Initialize some uninitialized vars
This fixes meterbridge type changes, due to uninitialized
_suspend_menu_callbacks.
2019-06-10 00:34:31 +02:00
Robin Gareus 9390f17f36
NO-OP: whitespace and comments 2019-06-09 19:56:36 +02: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 2e5daf2eeb
Reduce #includes - avoid ardour_ui.h 2019-03-08 01:53:55 +01:00
Robin Gareus 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
Robin Gareus 64e1d691ec
Prefer using RAII to suspend signals 2019-03-07 23:50:43 +01:00
Robin Gareus 4f86da8544 Wimplicit-fallthrough fixes for gtk-ardour 2018-10-26 14:53:49 +02:00
Robin Gareus 5e04e288a0 NO-OP: cleaner syntax 2017-11-23 10:46:44 +01:00
Robin Gareus ae0dcdc0c5 Fix various tooltip markup (ampersand) entity-escape:
* track/port names
* plugin-names
* MIDI patch-names
2017-09-14 19:23:37 +02:00
Robin Gareus 5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Tim Mayberry 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
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
Paul Davis 56af59953f move "logmeter.h" from gtk2_ardour into libs/ardour 2016-09-27 14:59:32 -05: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 da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
Paul Davis 518f7f9892 RouteUI connects to Route's PropertyChange signal; derived types implement route_property_changed() 2016-06-05 16:33:02 -04:00
Paul Davis 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
Paul Davis 384d05dd35 change AxisView color API to be virtual and implement per-type variants 2016-06-05 16:33:01 -04:00
Paul Davis e0ff70cf86 first vaguely working version using PresentationInfo
remote control ID and "order keys" have been removed.
2016-05-31 15:30:42 -04: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
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 517211681e 0dBFS peak meter GUI 2015-04-25 06:46:56 +02:00
Robin Gareus b38ab89d92 clean up GUI scaling 2015-04-22 21:40: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
Robin Gareus 6d531b82e0 add context to single-letter translatable 2015-04-05 00:17:53 +02:00
Paul Davis 9b2a78a0b2 make MeterStrip::state_id() safe against null _route member 2015-04-01 11:58:31 -04:00
Robin Gareus 69dc9451a7 NOOP, add a missing ‘p’ 2015-03-11 20:06:41 +01:00
Robin Gareus 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
Paul Davis 64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
Robin Gareus a7ca603ab6 show meter-bridge context-menu on mouse-down 2014-10-23 14:45:54 +02:00
Robin Gareus c5e97ea21b Don't show meter-type menu for MIDI-only meters 2014-10-23 14:45:49 +02:00
Robin Gareus 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
Robin Gareus 5fda9d55a4 increase fixed button sizes on meterbridge 2014-09-05 17:27:59 +02:00
Robin Gareus 5d5d859c2a use new 'special' rec-en button 2014-09-02 20:43:27 +02:00
Robin Gareus 65287a6f09 mark "Label Buttons" as inactive 2014-08-29 21:10:20 +02:00
Robin Gareus d6454dfb36 amend 7be3c88a, update rec-en color 2014-08-29 19:55:25 +02:00
Robin Gareus 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
Robin Gareus 392f4847b0 use 2 digit width as minium for track number labels 2014-08-28 22:38:59 +02:00
Ben Loftis 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