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
c986405fe0
fix two unintentionally committed API changes
2024-10-22 14:49:50 -06:00