13
0
Commit Graph

181 Commits

Author SHA1 Message Date
3625c28d54
Remove ambiguous enum bit combinations 2024-11-16 19:39:20 +01:00
983466fc38
Flexible Layout, resizable bottom pane. 2024-11-16 19:30:04 +01:00
438a514c2b
NO-OP: clarify Tabbable layout and attachment enum 2024-11-15 14:10:56 +01:00
5c8bd6e977
Tweak Tabbable Layout
* allow for left side resizable pane
* automatically set attachment button sensitivity
* remove right-side pane box when unused
2024-11-15 04:38:43 +01:00
2e4f0e8181
Use attachment icons 2024-11-10 23:27:36 +01:00
f3ff1a1100
Add Attachment icons 2024-11-10 23:27:36 +01:00
82a9fc4abb
Remove unused tabbed-changed callback 2024-11-10 23:27:35 +01:00
b2e4dd91b9
Update Tabbable c'tor to allow member as top-level widget
Derived classes cannot use `Tabbable (_content_vbox,..)`
`_content_vbox` is a member of Tabbable (which has not
yet been initialized) at the point of construction.

This breaks internal API, hence the omnibus commit
2024-11-10 23:27:34 +01:00
8ca9e6bcdd
Tabbable overhaul: consistent toplevel packing 2024-11-10 23:27:34 +01:00
2066f7018d
ArdourButton: add option to expand buttons to be square 2024-11-10 23:27:30 +01:00
000a1aaa46
Touch Support for Ardour Fader 2024-10-24 23:33:31 +02:00
24b916d125
Touch Support for Ardour Button 2024-10-24 23:33:31 +02:00
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
f8e05a595d
Remove conflicting include 2024-10-19 06:27:50 +02:00
74c4ca3e52
Reduce reliance on boost - the hard part
the rest from `tools/convert_boost.sh`.

* replace boost::function, boost::bind with std::function and std::bind.

This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
ff95d81612
Reduce reliance on boost - the easy part
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
75f56cd3e1 the great onceification (libs)
Replace use of #ifndef header guards with #pragma once

Modern C++, baby!
2024-10-17 07:44:31 -06:00
63d3d1ff3d
Initialize fader's numeric entry adjustment
Previously the internal adjustment used for numeric entry
was left at 0 if the BarController's adjustment was never modified.
2024-10-14 17:58:00 +02:00
6d47758671
Add TailTime Icon 2024-08-31 02:55:04 +02:00
e15c337f57
Fix crash (invalid Track Drag) when starting automation value edit
When double-clicking to edit a fader value three button press
events are created:
1. GDK_BUTTON_PRESS
2. GDK_BUTTON_PRESS
3. GDK_2BUTTON_PRESS

The first two start an Editor Drag, which later crashes in
Editor::mid_track_drag() gtk2_ardour/editor.cc:7067
2024-06-17 19:55:08 +02:00
4ec86a2657
Add API to query Fader orientation 2024-05-18 01:42:44 +02:00
cd2db2c3aa
NO-OP: whitespace 2024-05-17 17:25:45 +02:00
5f52329bed
Update mixer and lock icon 2024-05-17 17:25:41 +02:00
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
0bac1e07f5
There is no TraxLive here (amend a0e2749) 2024-05-15 03:35:23 +02:00
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
e90e31d682
Add a Tracks/Waveform icon 2024-04-29 21:00:27 +02:00
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
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
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
f339236c5b
Add icon for the Grid tool 2023-09-06 19:13:59 +02:00
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
3c2112abf5 widgets & GUI: Start/StopGesture signals should pass on GDK event state 2023-07-26 13:11:52 -06:00
58b98e8c5c
Prompter: add a reset to default option 2023-05-27 15:15:42 +02:00
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
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
7a3b42948d change base class for UIConfigurationBase, because it IS-A Configuration 2023-01-27 15:13:27 -07:00