Commit graph

21858 commits

Author SHA1 Message Date
Robin Gareus
d6e3afd3ae
Fix class/struct forward declaration 2024-11-02 23:28:00 +01:00
Robin Gareus
37b0910d80
Windows Multitouch: disable gestures
Gestures may prevent a 2nd touch from being registered as
such (and instead report a zoom/pinch gesture).

At least that is my best guess, why Nathan needs 3 fingers
to move 2 Faders :)
2024-11-02 04:54:28 +01:00
Paul Davis
ced7441a19 remove debug output 2024-11-01 18:43:44 -06:00
Paul Davis
feed39be3d triggerbox: no trigger arming if we're already recording 2024-11-01 17:45:00 -06:00
Paul Davis
6f377cc3ad NOOP: add comment 2024-11-01 17:45:00 -06:00
Paul Davis
84245a9451 triggerbox: end of clip recording should not disable rec-enable on box 2024-11-01 17:45:00 -06:00
Robin Gareus
0e4dcb231f
Amend previous commit (fix Windows builds) 2024-11-02 00:12:53 +01:00
Robin Gareus
e63693fb1c
Fix Windows debug builds
There's no such thing as GDK_TOUCH_CANCEL. The idea was dropped.
2024-11-01 22:21:25 +01:00
Paul Davis
c0c9d79325 remove Evoral::Sequence::overlaps{_unlocked} (). Not used anywhere 2024-10-31 12:22:35 -06:00
Paul Davis
f295b59439 add useful comment 2024-10-31 12:22:35 -06:00
Paul Davis
a9e1a591aa remove debug output 2024-10-31 12:22:35 -06:00
Paul Davis
d7a390f5ed NO-OP: whitespace adjustment 2024-10-31 12:22:35 -06:00
Paul Davis
883ec6aa68 NO-OP: misc whitespace adjustments 2024-10-31 12:22:35 -06:00
Paul Davis
eebdb63014 propagate SMFSource length into MidiModel
When we "sync-to-source" from a MidiModel (IS-A Evoral::Sequence),
we will mark the end (length) just like when capturing MIDI. So
the MidiModel/Sequence needs to know the actual length, not just
the time of the last event.
2024-10-31 12:22:35 -06:00
Paul Davis
39661732c3 modify how Evoral::SMF (maybe) writes an EOT event into an SMF
every write pass deletes existing tracks, which means it also deletes any existing
EOT event. Rather than try to replicate the _length value() that is kept in a
Source object in the SMF object, add a virtual method to SMF that returns
the _length value (or std::numeric_limits<Beats>::max() if not set).

If the _length value is not the max, we will add EOT events to each track
(usually just one) right before writing to disk.
2024-10-31 12:22:35 -06:00
Paul Davis
a5dac1578e implement stop-on-grid 2024-10-31 12:22:35 -06:00
Paul Davis
c8313cd749 add a new global quantization value for a Session
The initial value is taken from the Config object. Currently this
is only used for stop-on-grid, and only BBT(_Offset) is observed, and
implicitly means "1 bar" for now.
2024-10-31 12:22:35 -06:00
Paul Davis
364598e94f temporal: add round_up_to_bar() methods to Meter, Metric and TempoMap 2024-10-31 12:22:35 -06:00
Paul Davis
428437ed72 add a new rc-variable, default-quantization 2024-10-31 12:22:35 -06:00
Paul Davis
5204a24291 add a new type for AnytTime (BBT_Offset) and make it serializable 2024-10-31 12:22:35 -06:00
Paul Davis
f59e0cb289 add a new RC variable, stop-on-grid 2024-10-31 12:22:35 -06:00
Paul Davis
34731250f4 braces, please 2024-10-31 12:22:35 -06:00
Paul Davis
3acde0965a don't cast to the same type 2024-10-31 12:22:35 -06:00
Paul Davis
3be642ec17 fixups after a rebase 2024-10-31 12:22:35 -06:00
Paul Davis
ebcc6b8250 add the concept of a length that is data-independent to MIDI files (libs) 2024-10-31 12:22:35 -06:00
Paul Davis
f8ddc827c7 NO-OP: tweak comemnt that still referenced frames instead of samples 2024-10-31 12:22:35 -06:00
Paul Davis
9ed9567b43 Evoral: add new is_xxxx() methods for various MIDI events, including is_realtime() 2024-10-31 12:22:35 -06:00
Robin Gareus
c88d370136
Implement Windows multitouch support 2024-10-31 02:02:20 +01:00
Robin Gareus
952ec57a26 Special case first touch-event: grab and emulate mouse button 2024-10-30 19:19:30 +01:00
Robin Gareus
23d5dcd080 Fix touch event propagation (custom grab)
See also 79dae5f2b4
2024-10-30 19:13:24 +01:00
Robin Gareus
b45e3ecc0c
Allow Lua Processors to declare parameter inline visibility 2024-10-27 17:15:54 +01:00
Robin Gareus
8f32862e58
Humble beginnings of implementing Touch API for YDK/Windows 2024-10-26 14:55:35 +02:00
Robin Gareus
000a1aaa46
Touch Support for Ardour Fader 2024-10-24 23:33:31 +02:00
Robin Gareus
24b916d125
Touch Support for Ardour Button 2024-10-24 23:33:31 +02:00
Robin Gareus
79dae5f2b4
Implement multitouch grab 2024-10-24 23:33:31 +02:00
Robin Gareus
5cf392b17a
Implement YDK Touch API for Linux/X11 2024-10-24 23:33:31 +02:00
Robin Gareus
89da2f2c87
Define YDK/YTKMM Touch Event API 2024-10-24 23:33:28 +02:00
Matthew Smith
84027120cc
Fix OSC observer heap buffer-overflow 2024-10-23 14:54:00 +02:00
Robin Gareus
86a4447805
OSC: Never, ever bind a shared_ptr<T> to a signal
This fixes crashes when controllable are destroyed, or
OSC surface is disabled (signals retain a reference).
2024-10-23 01:39:05 +02:00
Robin Gareus
2816c85324
Fix OSC observer heap buffer-overflow
OSCCueObserver::send_init may populate a sparse map, rather
than a contiguously indexed vector
2024-10-23 01:39:05 +02:00
Paul Davis
43961e2d86 remove debug output (and an inaccurate comment) 2024-10-22 14:49:50 -06:00
Paul Davis
c986405fe0 fix two unintentionally committed API changes 2024-10-22 14:49:50 -06:00
Paul Davis
e11caf2dea various changes to get MIDI clip recording to display the post-capture region 2024-10-22 14:49:50 -06:00
Paul Davis
aa2fb8c1d4 SMF: add a set_length() method which will place TrkEnd meta-events 2024-10-22 14:49:50 -06:00
Paul Davis
769920d337 add a "region" property so that we can properly signal when it has changed inside a Trigger 2024-10-22 14:49:50 -06:00
Mads Kiilerich
e520cf6bac
wscript: Actually invoke autowaf.build_i18n_pot in i18n_pot_func 2024-10-22 00:37:39 +02:00
Mads Kiilerich
8e2a9dfd91
wscript: Fix i18n names for tk 2024-10-22 00:37:39 +02:00
Paul Davis
590400a95f trigger arming must be mutually exclusive within a triggerbox 2024-10-21 10:45:47 -06:00
Mads Kiilerich
3228a61e62 wscript: the i18n worker functions do not define the i18n waf commands
Rename the worker functions to make it clear that their name in this
case isn't magic. These functions "are not" the waf commands. It is the
custom build context class definitions that define the i18n commands ...
which will invoke these top level worker functions which in turn invoke
the others recursively.

The bare printing of the build environment in the top level i18n command
seems to be old debug code that safely can be removed.
2024-10-20 19:52:14 -06:00
Mads Kiilerich
48fcb30608 wscript: fix whitespace formatting
No tabs and no trailing spaces.
2024-10-20 19:52:14 -06:00