13
0
Commit Graph

39914 Commits

Author SHA1 Message Date
e6758b6ba8 Canvas; make button handle dynamic size allocation 2024-11-05 14:56:37 -07:00
b500eeb36e canvas; fix indent in Text::dump() 2024-11-05 14:56:11 -07:00
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
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