ba782dd097
Canvas; items added to a box become layout sensitive
2024-11-05 14:54:39 -07:00
370b045715
canvas: fix typo in using explicit size request
2024-11-05 14:53:54 -07:00
75177f3ef8
canvas: honor explicit size request for Rectangle
2024-11-05 14:53:22 -07:00
19e4063b6b
add a button bar and 1 button at the bottom of the MidiCueView
2024-11-05 13:27:22 -07:00
39949e778d
autofication of another loop
2024-11-05 13:27:22 -07:00
d260b1d4c0
Canvas::Button improvements
2024-11-05 13:27:22 -07:00
c1ad49a411
skeleton for a canvas button
2024-11-05 13:27:22 -07:00
61f1466f50
use virtual methods to get MidiRegionView to do ::set_model() correctly
2024-11-05 13:27:22 -07:00
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
c9645723de
ACE fluidsynth: unload soundfonts after use, refill channels #9837
2024-11-03 19:22:30 +01:00
laIK4ndPDScproJyv9ofA
f0ec6b5bda
Redraw arrangement rectangles upon tempo change
...
Previously, changing tempo would leave arrangement rectangles out of sync with markers.
2024-11-03 15:15:35 +01:00
a5c1a7feaf
Use new marker API in Lua scripts
2024-11-03 15:15:32 +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
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