Commit graph

273 commits

Author SHA1 Message Date
Robin Gareus
99c1f50a72
Really remove gtk+ option (see also 1e28ee9cc9)
After patching gtk/ytk to add touch support and macOS rendering,
upstream gtk+2 is no longer an option
2025-07-06 15:20:20 +02:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Alejandro Domínguez
5223b176f3
Replace boost::shared_array<T> with std::shared_ptr<T[]> 2024-11-06 23:03:19 +01:00
Mads Kiilerich
b4ff4f356c Make header files more self-contained - add missing Ardour and lib includes 2024-10-20 03:30:46 +02:00
Mads Kiilerich
140670541f Use .inc.h for #include files that not are plain headers
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
2024-10-20 03:11:53 +02:00
Robin Gareus
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
Robin Gareus
2d7cce44f1
Replace PBD::Signals (1/2) 2024-10-18 20:41:08 +02:00
Paul Davis
c03c3dd918 fix unused variable warning from clang 2024-10-17 07:44:32 -06:00
Paul Davis
1e8b2c521c provide a better method to decide if a trigger(slot) is occupied
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.

libs edition.
2024-10-17 07:44:32 -06:00
Paul Davis
d7d208dc34 move RecordState enum from ARDOUR::Session to ARDOUR so we can use it in TriggerBox (libs) 2024-10-17 07:44:32 -06:00
Paul Davis
b21dd1212e redesign API and internals of CoreSelection for more universality
We now have two basic methods for CoreSelection

* when selecting a stripable, use ::select_stripable_and_maybe_group() with
  appropriate arguments to cover the group selection aspects.

* when selecting an automation control that is part of a stripable, call
  ::select_stripable_with_control()

The old, more simply named methods (set/add/toggle etc.) have all been
made private, and their internal implementations changed somewhat.

This commit includes changes to control surfaces that use CoreSelection directly.
2024-08-02 11:50:21 -06:00
Robin Gareus
ab62177bdf
Fix incomplete doxygen doc (libardour) 2024-05-27 22:21:57 +02:00
Robin Gareus
73fea85381
Vapor: set surround-send level range to +/-20 dB 2024-03-21 14:23:43 +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
Robin Gareus
828d45c6fa
Disambiguate In/Out etc for translations (2/2) #9512 2023-10-28 14:46:04 +02: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
Paul Davis
2f25592702 push2: add velocity sensitivity 2023-09-08 14:57:28 -06:00
Paul Davis
c4529f4654 NO-OP: variable name tweak 2023-08-30 16:06:13 -06:00
Paul Davis
baf307838c push2: change ordering within destructor to avoid event loop thread drawing-after-delete 2023-05-04 12:34:37 -06:00
Robin Gareus
336f51e1f0
Push2: implement MIDI port probing, auto-enable 2023-05-04 00:57:16 +02:00
Robin Gareus
65346496f5
Refactor Ctrl Surface API
* reserve "probe" to actually probe for devices
* use separate probe for libusb and MIDI port devices
* use "available" to check if surface can be used
* allow both methods to be NULL
* remove unused ControlProtocolDescriptor* argument

Most surface just return `true` for available.
2023-05-03 15:38:42 +02:00
Robin Gareus
847f1e54c1
Clean up ctrl surface API
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
Paul Davis
8629aea237 push2: shift held while using touch strip sends modulation, not pitch bend 2023-04-21 17:20:17 -06:00
Paul Davis
f718279949 surfaces & event loops: i really mean no more request buffer factories 2023-04-21 13:55:58 -06:00
Paul Davis
ba66381ab0 push2: remove unused member 2023-04-21 12:16:37 -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
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
Robin Gareus
2c7f8eeb97
Indicate UTF8 literals - fixes glyph rendering with MSVC (1/2) 2023-01-16 21:41:09 +01:00
Robin Gareus
3f3d0c7e49
Surfaces and panners should not export headers
Those are not shared libraries but only dynamically loaded
plugin objects. Their headers are their own.
2022-11-19 01:11:53 +01:00
Paul Davis
a130041547 use MIDISurface in original Faderport support, plus required changes in MIDISurface & Push 2 2022-11-16 08:37:57 -07:00
Paul Davis
e5bbccef28 various changes to get Push 2 surface support functional after inheriting from MIDISurface 2022-11-16 08:37:57 -07:00
Paul Davis
99712e7585 surfaces; convert push2 to inherit from MIDISurface 2022-11-16 08:37:57 -07:00
Robin Gareus
2939ed3164
Add dedicated InsertReturnLevel type
This is preparation for PortInsert Send and Return
level control.
2022-10-14 02:21:49 +02:00
Paul Davis
3c0820e36e move default_triggers_per_box into a namespace ; change value for Ardour to 16 2022-10-04 19:55:05 -06:00
Paul Davis
a0c93328ea push2: fix intended behavior of push2 "lower buttons" 2022-10-03 15:41:50 -06:00
Ben Loftis
7fe7adb83c push2: adapt to new unbang and 'stop' semantics (needs testing) 2022-10-01 09:13:14 -05:00
Ben Loftis
1e283adb22 disambiguate trigger functions: stop_all_triggers -> trigger_stop_all 2022-10-01 09:13:14 -05:00
Ben Loftis
75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
Paul Davis
0cd87a917c push2: apply concept in 0af0e3a8e8 to push2 code (unused follow action icon) 2022-09-22 09:20:01 -06:00
Paul Davis
af28394bfd push2: fix an apparent bug in cairo when drawing follow action icons
It seems that using ::move_to() followed by Pango::Layout::show_in_cairo_context() leaves
the context in a state that is not correctly restored when using ::restore(). Therefore,
clear the path to avoid leaving any dangling current point
2022-09-22 00:43:38 -06:00
Paul Davis
10ac1901dd push2: temporarily comment display of jump loop actions due to cairo oddity 2022-09-07 17:03:08 -06:00
Paul Davis
1eab84b7da push2: remove unconditional setting of canvas item names 2022-09-03 17:48:03 -06:00
Robin Gareus
4863e6b45e Fix mac and windows builds (resolve namespace ambiguities) 2022-09-04 01:37:48 +02:00
Paul Davis
97540dafde push2: update cue layout when tracks are added 2022-09-03 16:46:41 -06:00
Paul Davis
2d4042abd7 push2: fix handling of pads-as-note-entry during selection changes 2022-09-03 16:46:41 -06:00
Paul Davis
b3b6e94297 push2: fix canvas level meter object so that it draws 2022-09-03 16:46:41 -06:00
Paul Davis
b7d86cb118 push2: track mix layout needs to be setup even if not currently visible 2022-09-03 16:46:41 -06:00
Paul Davis
96a9c1df7f push2: bug fixes for pad color mgmt and other fixes/improvements 2022-09-02 17:57:46 -06:00