13
0
Commit Graph

39988 Commits

Author SHA1 Message Date
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
e11caf2dea various changes to get MIDI clip recording to display the post-capture region 2024-10-22 14:49:50 -06:00
aa2fb8c1d4 SMF: add a set_length() method which will place TrkEnd meta-events 2024-10-22 14:49:50 -06:00
769920d337 add a "region" property so that we can properly signal when it has changed inside a Trigger 2024-10-22 14:49:50 -06:00
Mads Kiilerich
7a4fe02d53
wscript: waf i18n is usually running pot&po&mo and should thus also run appdata_i18n_mo 2024-10-22 00:37:40 +02:00
Mads Kiilerich
6742c1e4b4
wscript: waf i18n should generate gtk2_ardour/appdata/ardour.appdata.pot when invoking appdata_i18n_pot 2024-10-22 00:37:40 +02:00
Mads Kiilerich
e520cf6bac
wscript: Actually invoke autowaf.build_i18n_pot in i18n_pot_func 2024-10-22 00:37:39 +02:00
Mads Kiilerich
8e2a9dfd91
wscript: Fix i18n names for tk 2024-10-22 00:37:39 +02:00
b5d6b97fd2
Keep inline control state in sync with editor-mixer 2024-10-22 00:36:50 +02:00
590400a95f trigger arming must be mutually exclusive within a triggerbox 2024-10-21 10:45:47 -06:00
Mads Kiilerich
3228a61e62 wscript: the i18n worker functions do not define the i18n waf commands
Rename the worker functions to make it clear that their name in this
case isn't magic. These functions "are not" the waf commands. It is the
custom build context class definitions that define the i18n commands ...
which will invoke these top level worker functions which in turn invoke
the others recursively.

The bare printing of the build environment in the top level i18n command
seems to be old debug code that safely can be removed.
2024-10-20 19:52:14 -06:00