Commit graph

89 commits

Author SHA1 Message Date
John Emmas
d2cb383965 MSVC changes to support the new code modules (Tabbable API stuff) 2021-02-24 14:32:23 +00:00
Robin Gareus
02ba5a7cd1
Remove unused Tabbable tab_title (3/3) 2021-02-23 17:30:26 +01:00
Robin Gareus
d264cbb21b
Prepare for Tabbable API change (1/3) 2021-02-23 17:22:22 +01:00
Ben Loftis
6f28d71729
ArdourButton: add flags to force boxy/flat style
Add flags ForceBoxy, ForceFlat for the rectab track header grid
2021-02-22 01:00:06 +01:00
Robin Gareus
8497298d73
Custom themable frame container
As opposed to Gtk::Frame, this allows the background color of
the content, inside the frame to be set and follows Ardour theme
options.
2021-02-22 01:00:03 +01:00
Robin Gareus
f91cb13cce
Facilitate callbacks when Tab is detached/attached 2021-02-22 01:00:01 +01:00
Robin Gareus
d05572e14a
Fix round-corner backround of insensitive ArdourWidgets
ArdourButton draws a custom insensitive background, using
the color "gtk_background". This can conflict with gtk's
insensitive background color when using round-corners.
2021-02-14 22:53:18 +01:00
Robin Gareus
162b6426d7
Fix fader font-size
This partially reverts 2abf9c66a4. The layout
of faders widgets is not persistent and re-created as needed.
2021-02-03 20:14:22 +01:00
Robin Gareus
74566fc006
Add "+" icon 2021-01-30 16:47:44 +01:00
Robin Gareus
2abf9c66a4
Fix size-request that rely on Pango::Layout
A Pango::Layout created by Gtk::Widget::get_pango_context ()
does not have any font set. The Font is inherited from the
layout's context.

The actual font is set when the layout is used in
on_expose_event() via get_window ()->create_cairo_context ().

In some cases we rely on the font-size to calculate the widget's
size before rendering. At this point in time there is no drawing
context from which to inherit the style.

Furthermore, even after a call to `ensure_style()` in the c'tor
of a Widget get_font() simply returns the default value.

All Widgets that rely an Pango::Layout font size during
size-requests have to explicitly set the font.

This fixes various overlarge buttons with the initial default layout.
2021-01-30 02:23:35 +01:00
Robin Gareus
42ac0f1d64
ArdourButton: Render text on pixel boundaries
This fixes some occasional blurry font display when text
was rendered to non-integer pixel positions.
2021-01-27 18:33:03 +01:00
Robin Gareus
70ad205bc1
Separate static widget theme into abstract class
This allow the style to be used in classed that are not
directly derived from Ardour's CairoWidget, notably
container widgets or plugin UIs.
2021-01-26 23:37:54 +01:00
Robin Gareus
e78de225d4
ArdourButton: LED-sized buttons w/o LED
This is useful for consistent layout in the recorder Window,
where Buttons are either push-buttons or LED toggle-buttons.
2021-01-25 19:18:56 +01:00
Robin Gareus
959f83244e
Fix ArdourButton text-align when button size grows
This is mainly relevant when the button is placed inside a
Gtk::SizeGroup.
2021-01-21 02:19:06 +01:00
Robin Gareus
8b5737b8d2
Increase precision of numeric dB entry
This follows 5a41ca8fdf and df1e6fda2d.
Even though this kind of precision is rarely needed, rounding
to a single digit is inconsistent with various places that display
more than one digit, or allow more accurate control.
2020-08-01 09:57:18 +02:00
Robin Gareus
5a41ca8fdf
Amend df1e6fda2d, limit digits for numeric dB entry 2020-07-22 23:18:51 +02:00
Robin Gareus
df1e6fda2d
Fix SliderController numeric entry to use dB for gain 2020-07-22 21:43:14 +02:00
Robin Gareus
5ff3453b30
Update Ardour*Spacer to use theme color 2020-07-21 04:42:07 +02:00
Robin Gareus
e8e143bb32
Add a horizontal separator widget 2020-07-21 04:41:16 +02:00
Robin Gareus
001072e7d0
Implement ArdourKnob visual sensitivity 2020-07-21 02:18:39 +02:00
Paul Davis
618c7a6bf2 tweak Prompter API to allow skipping the default "Cancel" button 2020-05-18 16:04:41 -06:00
Robin Gareus
b36e6b8341
Optimize drawing of buttons with changing text
When a button has a fixed size, there's no need to call queue_resize().
This fixes an issue with the ArdourClock info displays when slaved.
The Timecode and Delta display text changes in small intervals and
caused excessive CPU load due to GUI size-requests + redraws.
2020-05-12 13:22:11 +02:00
Paul Davis
b258ad792e force provision of "menu-name" for all WindowProxy objects, and thus Tabbables
Actions for hide/show/attach/detach tabbables use hard-coded names which are not
translated. Using Tabbable/WindowProxy::name() to lookup the action will fail,
since the name can be translated. This changes just removes the option to not
provide a menu-name when creating these objects, and uses the name menu-name
when looking up an action by name
2020-05-01 14:33:47 -06:00
Robin Gareus
c2b25b453e
Emit signal when dropdown changes via scroll-wheel
This fixes Virtual-keyboard velocity selection when scrolling
to numbers that are not explicitly in the menu-list.

(hopefully this does not introduce some recursive signals
for other ArdourDropdowns, fingers crossed).
2020-04-20 00:36:37 +02:00
Paul Davis
5f1431aeda fix ArdourFader to use contrasting_text_color() for text, based on relevant bg color 2020-04-09 17:12:40 -06:00
Robin Gareus
f24cabe9e9
Fix rotary control knob mapping
This fixes an issue with Foldback strips pan controls being inverted.
2020-04-07 00:37:30 +02:00
Robin Gareus
5c3f49ef2b
Fix icon-tool
tape-rec icon was removed in a4d7b45fe, also re-order icons to
retain grouping per line when using the icon render util
2020-03-23 01:18:55 +01:00
Paul Davis
a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
Robin Gareus
4416530929
Tweak ArdorIcon display-tool & re-order icons
* add option to render a border
* group icons (assume 7x7 grid)
2020-02-22 21:40:35 +01:00
Robin Gareus
06b2eb1c27
Explicitly use OSX
Previously this was inherited via PBD.

On MacOS/X,  this adds
  "-undefined dynamic_lookup -flat_namespace"
and various "-framework .." options to linkflags

Without this flag, .dylibs fail to link usually because
of missing `-lintl` (Undefined symbols: "_libintl_dgettext")

On other systems this is a NO-OP:
CFLAGS_OSX, CXXFLAGS_OSX and LINKFLAGS_OSX
are only set on the darwin platform.
2020-01-25 04:07:41 +01:00
David Runge
2e9ac80e99
Towards waf python 2+3 support 2020-01-25 04:07:37 +01:00
Robin Gareus
bca825e515
NO-OP: whitespace 2020-01-14 00:52:24 +01:00
Robin Gareus
08a9368adf
Allow calling Dropdown::set_active from a signal handler
This breaks a potential recursion when set_active() is called
from activate_item(). See also 88fc22610
2019-10-21 14:58:59 +02:00
Robin Gareus
88fc226107
Add API to set select item from ArdourDropdown
This fixes an issue with scroll-wheel control which uses `get_active()`.
It work around an issue with gtkmm:

 const MenuItem* get_active () const
 void set_active (guint index)

and MenuList::activate_item() not emitting activate_item().
2019-10-20 21:21:57 +02:00
Robin Gareus
2c33d31bbb
NO-OP: whitespace 2019-10-10 23:59:05 +02:00
Robin Gareus
42df310c6f
Add "List/Browse" vector icon 2019-10-10 23:58:49 +02:00
Robin Gareus
e0d5c1426c
NO-OP: fix some Wimplicit-fallthrough
gcc can recognize various regexps in comments. Since C++17 provides
[[fallthrough]], using /* fallthrough */ consistently seems
appropriate until we switch to C++17.

see also https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
2019-09-18 17:37:54 +02:00
Robin Gareus
9c752c249d
Add new icons: hide, prev/next 2019-09-12 23:36:25 +02:00
Robin Gareus
7b3ca486a4
Allow to un-set custom Ardour-button colors 2019-09-01 16:57:48 +02:00
Robin Gareus
46bbe83400
Changing active-state needs no color lookup
Colors and patterns are cached, independent of active-state.
This didn't used to be the case in the distant ArdourButton past.
2019-09-01 16:52:24 +02:00
Robin Gareus
7f2bfa362f
Cont'd icon tweaks
* unify line-width calculation
* thin line-width, approximate thickness of
  glyph stroke width at same UI scale
* don't use outlines (except main tool buttons)
  This fixes issues of generic buttons with bright-theme
* pixel align some lines
2019-08-27 18:03:57 +02:00
Robin Gareus
b01f6ead8b
Reduce girth of "plus" icon 2019-08-27 00:00:29 +02:00
Robin Gareus
b4addaaa0a
Tweak icon_strip_width icon lines to align to pixels 2019-08-26 23:34:20 +02:00
Robin Gareus
646aded4f2
Add some scaleable "Latency" icon 2019-08-26 22:44:11 +02:00
Robin Gareus
09a71b4392
Allow Icon + Text on ArdourButton
Allow placing an icon left of some text in Ardour-button.
This also tweaks some spacing and alignment of Icons when
a LED toggle indicator is used.
2019-08-26 16:04:22 +02:00
Robin Gareus
e6e407f573
Tweak icon line widths
Scale line-width of all icons, some were left at 1px regardless
of scaling factor.
2019-08-26 16:01:19 +02:00
Robin Gareus
000d331ea1
NO-OP: cleanup
* remove unused code
* replace "default" to check for switch() enum completeness
2019-08-23 15:50:26 +02:00
Robin Gareus
f1c29a9324
Re-order enum, use "NoIcon" as sentinel 2019-08-23 15:49:25 +02:00
Robin Gareus
a0d53b81b9
Update plugin-ui related icons 2019-08-22 21:03:07 +02:00
Robin Gareus
dfa93e0b17
Tweak Ardourbutton: support (VectorIcon | Indicator) 2019-08-21 01:25:34 +02:00