Commit graph

21771 commits

Author SHA1 Message Date
Paul Davis
e6758b6ba8 Canvas; make button handle dynamic size allocation 2024-11-05 14:56:37 -07:00
Paul Davis
b500eeb36e canvas; fix indent in Text::dump() 2024-11-05 14:56:11 -07:00
Paul Davis
5808c6e78f Canvas: fix logic bug when setting child items to be layout sensitive
Also, auto-fy the loop
2024-11-05 14:55:37 -07:00
Paul Davis
ba782dd097 Canvas; items added to a box become layout sensitive 2024-11-05 14:54:39 -07:00
Paul Davis
370b045715 canvas: fix typo in using explicit size request 2024-11-05 14:53:54 -07:00
Paul Davis
75177f3ef8 canvas: honor explicit size request for Rectangle 2024-11-05 14:53:22 -07:00
Paul Davis
39949e778d autofication of another loop 2024-11-05 13:27:22 -07:00
Paul Davis
d260b1d4c0 Canvas::Button improvements 2024-11-05 13:27:22 -07:00
Paul Davis
c1ad49a411 skeleton for a canvas button 2024-11-05 13:27:22 -07:00
Robin Gareus
f17a656217
use modern C++ for snprintf (#9841)
This replaces vector<char>::operator[] (which now
a constexpr since C++20). We could use &vector::data(),
but a unique_ptr seems more appropriate for the case at hand.
2024-11-04 18:48:28 +01:00
Robin Gareus
c9645723de
ACE fluidsynth: unload soundfonts after use, refill channels #9837 2024-11-03 19:22:30 +01:00
John Emmas
3933fc2db7 Oops, missed one... 2024-11-03 13:33:57 +00:00
John Emmas
44068a63f5 Guard some pragmas which aren't understood by MSVC 2024-11-03 11:50:44 +00:00
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