13
0
Commit Graph

39999 Commits

Author SHA1 Message Date
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
1b13bf607f
Micro optimization: only queue resize when widget is realized 2024-11-03 02:49:51 +01:00
d6e3afd3ae
Fix class/struct forward declaration 2024-11-02 23:28:00 +01:00
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
ced7441a19 remove debug output 2024-11-01 18:43:44 -06:00
57252cd1c7 clip recording: begin/end write only happens on trigger arm/disarm 2024-11-01 17:45:00 -06:00
56c99a43d2 remove any existing data display from a MidiView when ::begin_write() happens 2024-11-01 17:45:00 -06:00
feed39be3d triggerbox: no trigger arming if we're already recording 2024-11-01 17:45:00 -06:00
6f377cc3ad NOOP: add comment 2024-11-01 17:45:00 -06:00
84245a9451 triggerbox: end of clip recording should not disable rec-enable on box 2024-11-01 17:45:00 -06:00
0e4dcb231f
Amend previous commit (fix Windows builds) 2024-11-02 00:12:53 +01:00
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
c0c9d79325 remove Evoral::Sequence::overlaps{_unlocked} (). Not used anywhere 2024-10-31 12:22:35 -06:00
f295b59439 add useful comment 2024-10-31 12:22:35 -06:00
a9e1a591aa remove debug output 2024-10-31 12:22:35 -06:00
d7a390f5ed NO-OP: whitespace adjustment 2024-10-31 12:22:35 -06:00
883ec6aa68 NO-OP: misc whitespace adjustments 2024-10-31 12:22:35 -06:00
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
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
a5dac1578e implement stop-on-grid 2024-10-31 12:22:35 -06:00
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
0631f99f15 add ability to change stop-on-grid from Preferences 2024-10-31 12:22:35 -06:00
364598e94f temporal: add round_up_to_bar() methods to Meter, Metric and TempoMap 2024-10-31 12:22:35 -06:00
428437ed72 add a new rc-variable, default-quantization 2024-10-31 12:22:35 -06:00
5204a24291 add a new type for AnytTime (BBT_Offset) and make it serializable 2024-10-31 12:22:35 -06:00
f59e0cb289 add a new RC variable, stop-on-grid 2024-10-31 12:22:35 -06:00
8986768731 fix invisble notes in MidiRegionView after transport stopped-recording
MidiCueView needs an _active_notes array setup when it is assigned a track that is
already rec-enabled, because we can start clip recording without session record-enable
being active.

MidiRegionView does not need this; it uses session rec-enable status to create or delete
_active_notes (also transport stop, sometimes)
2024-10-31 12:22:35 -06:00
34731250f4 braces, please 2024-10-31 12:22:35 -06:00
3acde0965a don't cast to the same type 2024-10-31 12:22:35 -06:00
3be642ec17 fixups after a rebase 2024-10-31 12:22:35 -06:00
c7192b4cc0 add the concept of a length that is data-independent to MIDI files (GUI) 2024-10-31 12:22:35 -06:00
ebcc6b8250 add the concept of a length that is data-independent to MIDI files (libs) 2024-10-31 12:22:35 -06:00
f8ddc827c7 NO-OP: tweak comemnt that still referenced frames instead of samples 2024-10-31 12:22:35 -06:00
9ed9567b43 Evoral: add new is_xxxx() methods for various MIDI events, including is_realtime() 2024-10-31 12:22:35 -06:00
c88d370136
Implement Windows multitouch support 2024-10-31 02:02:20 +01:00
952ec57a26 Special case first touch-event: grab and emulate mouse button 2024-10-30 19:19:30 +01:00
23d5dcd080 Fix touch event propagation (custom grab)
See also 79dae5f2b4
2024-10-30 19:13:24 +01:00
b45e3ecc0c
Allow Lua Processors to declare parameter inline visibility 2024-10-27 17:15:54 +01:00
John Emmas
42602e0329 Add an alternative #include
Having removed boost::function.hpp we need to replace it with gtkmm2ext/actions.h - otherwise, glibmm/refptr.h can't make sense of the type 'Gtk::ActionGroup' (go figure...)
2024-10-26 14:50:22 +01:00
8f32862e58
Humble beginnings of implementing Touch API for YDK/Windows 2024-10-26 14:55:35 +02: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
79dae5f2b4
Implement multitouch grab 2024-10-24 23:33:31 +02:00
5cf392b17a
Implement YDK Touch API for Linux/X11 2024-10-24 23:33:31 +02:00
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
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
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
43961e2d86 remove debug output (and an inaccurate comment) 2024-10-22 14:49:50 -06:00