Commit Graph

161 Commits

Author SHA1 Message Date
Robin Gareus 4ec86a2657
Add API to query Fader orientation 2024-05-18 01:42:44 +02:00
Robin Gareus cd2db2c3aa
NO-OP: whitespace 2024-05-17 17:25:45 +02:00
Robin Gareus 5f52329bed
Update mixer and lock icon 2024-05-17 17:25:41 +02:00
Robin Gareus b3df8ea6ef
Expose UI config fonts to libwidgets
Currently this is only for the benefit of derivative projects.
2024-05-15 17:02:35 +02:00
Robin Gareus 0bac1e07f5
There is no TraxLive here (amend a0e2749) 2024-05-15 03:35:23 +02:00
Robin Gareus a0e27495c6
Abstract base class for ArdourFader
This allows derivative projects to use other fader
render implementations.
2024-05-15 02:41:37 +02:00
Mattias Ohlsson 10109c3147
Fix typos 2024-05-07 18:52:02 +02:00
Robin Gareus e90e31d682
Add a Tracks/Waveform icon 2024-04-29 21:00:27 +02:00
Paul Davis 16ed245977 allow true boxy buttons for ArdourButtons
Also add a default tweaks static member to force all buttons to a given tweak state
2024-04-25 13:03:52 -06:00
Robin Gareus 4665cdcb6b
Add icons for livetrax (lock, mixer, meter) 2024-04-25 02:21:10 +02:00
jean-emmanuel be0e6ac613 ui: fader: use sementically correct color name for fader outline 2024-01-20 15:38:35 +01:00
jean-emmanuel e4d53629ed ui: meter: use sementically correct color name for meter outline 2024-01-20 15:38:35 +01:00
jean-emmanuel f8a2c847b5 ui: correctly implement themable button outline color 2024-01-20 15:38:35 +01:00
jean-emmanuel a5efe1a1ee ui: fader: themable outline color instead of hard-coded black (use same theme color as button outline) 2024-01-20 14:44:30 +01:00
jean-emmanuel 759cee2d32 ui: fastmeter: themable outline color instead of hard coded black (use same theme color as button outline) 2024-01-20 14:44:30 +01:00
jean-emmanuel 08ad1af9dc ui: button: themable outline color instead of hard-coded black 2024-01-20 14:44:30 +01:00
Robin Gareus ad51c7c2ba
Localize stripped down gtk2
This is intended mainly for GNU/Linux distros who will remove
GTK2 support in the near future.
2024-01-06 21:52:48 +01:00
Mads Kiilerich 6b61b03434 wscript: drop traces of shutdown() handling
autowaf has no real shutdown functionality anyway. The automatic
shutdown function that could have been called wouldn't work anyway, as
it takes an argument.

The only reason it doesn't fail is that the top level wscript has no
shutdown handling and doesn't recurse to other scripts, so it is all
dead code.
2023-10-15 10:47:16 -06:00
Mads Kiilerich 88cecdfaef wscript: drop repeated autowaf.set_options - it is enough to set at top level 2023-10-15 10:47:16 -06:00
Mads Kiilerich d220f477ed wscript: drop unused "mandatory variables" 'top' and 'out' in libs
Variables by these names are only used from the local wscript and when
running "waf configure", which already for other reasons only can run at
the top-level.

These variables are thus not mandatory and not used.
2023-09-17 07:34:55 -06:00
Mads Kiilerich a0916ef368 wscript: drop unused APPNAME assignment in libs
https://waf.io/book/ says
  By default, the project name and version are set to noname and 1.0. To
  change them, it is necessary to provide two additional variables in
  the top-level project file

- and waf code inspection confirms that waf itself only will use the top
level APPNAME.

Also, the 'waf dist' comment doesn't seem relevant - especially after
this change - and is removed too.

(Note: libs/evoral/wscript and libs/temporal/wscript still use APPNAME
for other purposes.)
2023-09-17 07:34:55 -06:00
Mads Kiilerich 3b4cf9191c wscript: drop unused VERSION assignment in libs
https://waf.io/book/ says
  By default, the project name and version are set to noname and 1.0. To
  change them, it is necessary to provide two additional variables in the
  top-level project file

- and waf code inspection confirms that waf itself only will use the top
  level VERSION.

Some wscripts will use
  bld.env['VERSION']
but that will also just use the value set in the top wscript.
2023-09-17 07:34:55 -06:00
Mads Kiilerich 7737c17d52 wscript: drop unused imports, scripted
Done with ad hoc scripting hacks processing unused imports found by pyflakes:

for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Logs.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^import waflib.Logs as Logs,/import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/import waflib.Options as Options, /import /g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i 's/^from waflib import Options,/from waflib import/g' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep ' imported but unused$' | sed "s/^\([^:]*\):[0-9]*:[0-9]* '\(.*\)'.*/\1 \2/g" | while read f lib; do sed -i "/^import $lib$/d" $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Options.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import Options$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.TaskGen.* but unused' | cut -d: -f1 | while read f; do sed -i '/from waflib import TaskGen$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Task.Task.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Task import Task$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Tools.winres.* but unused' | cut -d: -f1 | while read f; do sed -i '/^from waflib.Tools import winres$/d' $f; done
for f in $( find * -name wscript ); do echo; pyflakes $f; done | grep 'waflib.Utils.* but unused' | cut -d: -f1 | while read f; do sed -i '/^import waflib.Utils as Utils$/d' $f; done
2023-09-17 07:34:55 -06:00
Robin Gareus f339236c5b
Add icon for the Grid tool 2023-09-06 19:13:59 +02:00
Paul Davis 7662f9af5b ArdourCtrlBase should pass UseGroup when setting control values
None of the things this is used for right now are ever members of persistent
control groups, but it is useful for selection-as-group
2023-07-27 13:28:02 -06:00
Paul Davis 3c2112abf5 widgets & GUI: Start/StopGesture signals should pass on GDK event state 2023-07-26 13:11:52 -06:00
Robin Gareus 58b98e8c5c
Prompter: add a reset to default option 2023-05-27 15:15:42 +02: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
Paul Davis 39ed528e25 std-ize: convert all boost shared/weak ptr includes to <memory>
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
Paul Davis 7a3b42948d change base class for UIConfigurationBase, because it IS-A Configuration 2023-01-27 15:13:27 -07:00
Paul Davis 46a8073ff2 extend ArdourWidgets::Frame to allow no-draw of frame
Associated: disambiguate Frame use where necessary.
2023-01-22 17:41:43 -07:00
Robin Gareus 82d43fa1ee Allow empty text in prompter 2022-11-15 03:24:19 +01:00
Robin Gareus 3d6ecaad79
Allow to override Ardour button text padding 2022-11-09 09:42:50 +01:00
Robin Gareus 8508b3dba4
Allow multiple sizing texts for ArdourButton/Dropdown
A widget's style (font) is only set after the widget has been
packed and inherits relevant information from the top-level window.

`set_size_request_to_display_given_text()` produces incorrect
results when it is called for widgets without a top-level
(here ARDOUR_UI::setup_windows() _main_window.add(), changes the
font from "Sans 11" to "Sans 9" for ArdourDropdowns).

`set_size_request_to_display_given_text()` must subscribe to
`signal_style_changed()`, however in case of ArdourButton UI-scaling
of elements also needs to be taken into account. It is preferable
to allow for multiple sizing-texts directly.
2022-09-20 02:35:26 +02:00
Paul Davis 27f4302a7d ardourfader: more complete support for explicit fg 2022-08-11 00:07:30 -06:00
Paul Davis aee41bfba6 ardourfader: basic use of explicit fg/bg color 2022-08-10 22:32:42 -06:00
Paul Davis 32c2ed3f21 ardourfader: further steps to per-fader colors 2022-08-10 18:26:49 -06:00
Paul Davis 9459ca5583 ardourfader: beginning of per-fader color 2022-08-10 18:15:39 -06:00
Robin Gareus 940c496f7b
ArdourKnob: allow annotation, faceplate 2022-08-05 01:10:42 +02:00
Ben Loftis fa9d3b72f3
ArdourKnob: use ArdourCtrlBase 2022-08-05 01:10:39 +02:00
Robin Gareus 52f12cac8b
Separate ArdourKnob core functionality into abstract base class 2022-08-05 01:10:35 +02:00
luz paz 47c525315d Fix various typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-08-03 12:10:01 -06:00
Mads Kiilerich 06f8936a73 wscript: remove trailing whitespace 2022-04-09 12:16:37 +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 1a0f862a0c
gtkmm: use prepend() instead of deprecated Gtk::ComboBoxText::prepend_text() 2022-04-08 21:11:05 +02:00
Mads Kiilerich 09c6e68ae8
gtkmm: use append() instead of deprecated Gtk::ComboBoxText::append_text() 2022-04-08 21:10:56 +02:00
Mads Kiilerich 71ea2cc7b9
gtkmm: use get_sensitive() instead of deprecated Gtk::Widget::sensitive() 2022-04-08 20:20:33 +02:00
Mads Kiilerich 91b08d5f45
gtkmm: use get_realized() instead of deprecated Gtk::Widget::is_realized() 2022-04-08 20:20:32 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Paul Davis 7bf89ce109 Constification: make Stateful::get_state() const, with all other required const-ness added (libs) 2022-04-06 21:56:59 -06:00