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
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
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
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
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
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
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
Mads Kiilerich
48fcb30608
wscript: fix whitespace formatting
...
No tabs and no trailing spaces.
2024-10-20 19:52:14 -06:00
dab3cc3501
Disable RegionFX plugins in safe-mode
2024-10-21 02:28:34 +02:00
Mads Kiilerich
05699c2d1a
Fix invalid beatbox #include syntax ... but it still doesn't compile
...
It has been broken for 2½ year.
2024-10-20 03:30:48 +02:00
Mads Kiilerich
b4ff4f356c
Make header files more self-contained - add missing Ardour and lib includes
2024-10-20 03:30:46 +02:00
Mads Kiilerich
955e634371
Make header files more self-contained - add missing std includes
2024-10-20 03:11:53 +02:00
Mads Kiilerich
8a5f21d8e3
Drop some unused files - avoid trying to maintain stuff that can't be tested
2024-10-20 03:11:53 +02:00
Mads Kiilerich
140670541f
Use .inc.h for #include files that not are plain headers
...
Regular .h files *should* be self-contained and independent of previous
includes and guarded to only include once. Make it clear which files
that *doesn't* apply for at all.
2024-10-20 03:11:53 +02:00
Mads Kiilerich
38db12c9ea
Drop Frontier Tranzport surface - it has been dead for a decade
2024-10-20 03:08:03 +02:00
0d71876189
signals_generated.h is no longer required
2024-10-19 21:54:34 +02:00
7b74faaf57
Tidy up libs/lua/LuaBridge/detail/Userdata.h
2024-10-19 18:38:59 +02:00
Mads Kiilerich
a7eb3b7341
un-boost: Add missing #include <cmath> in audiographer silence_trimmer.h
2024-10-19 12:56:43 +02:00
Mads Kiilerich
d217b2f8ad
un-boost: Add missing #include <functional> in rt_task.h
2024-10-19 12:42:25 +02:00
f8e05a595d
Remove conflicting include
2024-10-19 06:27:50 +02:00
7b24d38c0f
Add more missing include (fix windows builds)
2024-10-19 04:58:30 +02:00
af4d70c243
Use heap to build peak data
2024-10-19 04:49:13 +02:00
0a36cdedac
Add missing include (fix windows builds)
2024-10-19 04:46:35 +02:00
74c4ca3e52
Reduce reliance on boost - the hard part
...
the rest from `tools/convert_boost.sh`.
* replace boost::function, boost::bind with std::function and std::bind.
This required some manual fixes, notably std::placeholders,
some static_casts<>, and boost::function::clear -> = {}.
2024-10-19 03:47:21 +02:00
ff95d81612
Reduce reliance on boost - the easy part
...
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
168b917730
Prepare for std::optional
2024-10-19 03:40:04 +02:00
8eb9263af2
Replace boost::format with PBD::string_compose
2024-10-19 03:39:57 +02:00
Alejandro Domínguez
2436b4df06
Replace boost::noncopyable with C++11 deleted copy constructors
2024-10-19 01:04:15 +02:00
Alejandro Domínguez
915200699b
Replace boost::lexical_cast with std equivalent functions
2024-10-19 01:04:15 +02:00
Alejandro Domínguez
7a0428644f
Replace boost::assign::map_list_of with initializer_list constructor
2024-10-19 01:04:15 +02:00
Alejandro Domínguez
abf7a78984
Replace boost::ptr_list with std::list
2024-10-19 01:04:14 +02:00
Alejandro Domínguez
e326426dbc
Replace boost type traits with std version
2024-10-19 01:04:14 +02:00
Alejandro Domínguez
88e38b2699
Replace boost atomics with std version
2024-10-19 01:04:14 +02:00
Alejandro Domínguez
1ee044c5fc
Replace boost::erase_first with std equivalent
2024-10-19 01:04:14 +02:00
Alejandro Domínguez
1ffb70f670
Replace boost::scoped_ptr with std::unique_ptr (1/2)
2024-10-19 01:04:14 +02:00
30dc9ccc86
Replace boost::scoped_array<T>
2024-10-19 01:04:02 +02:00
2c503eab09
Remove old Coreaudio OSX 10.5 support
2024-10-18 22:52:34 +02:00
99906a2215
Drop build-system support for macOS < 10.13 (require C++17)
2024-10-18 22:52:29 +02:00
bd8525e5f1
Remove deprecated PBD::SignalN
2024-10-18 20:46:31 +02:00
2d7cce44f1
Replace PBD::Signals (1/2)
2024-10-18 20:41:08 +02:00
Alejandro Domínguez
0ade0b2212
Deduplicate SignalWithCombiner<Combiner, void, A...> specialization
2024-10-18 20:41:08 +02:00
Alejandro Domínguez
16dd8528c8
Make SignalN template variadic
2024-10-18 20:41:05 +02:00
837ea32898
actally stop doing clip recording visual stuff when disarmed (libs)
2024-10-18 09:50:48 -06:00
92e452609a
Fix I/O Tasklist RR schedule option
2024-10-18 15:11:08 +02:00
7608d4ade2
API changes for clip recording in TriggerBox
...
Also, disarm all triggers when track-level rec-enable is disabled
2024-10-17 07:44:33 -06:00
a8f58105a9
provide a class-level static PBD::Signal for Trigger (Slot) arming
2024-10-17 07:44:33 -06:00
6b1659497d
add #warning
2024-10-17 07:44:33 -06:00
7c944687c9
preparations for clip data display (MIDI) while recording
2024-10-17 07:44:33 -06:00
c03c3dd918
fix unused variable warning from clang
2024-10-17 07:44:32 -06:00
dab9775223
fix bitwise-vs-logic AND (thanks, clang!)
2024-10-17 07:44:32 -06:00
c2deacdd54
fix definition of Trigger::playable()
...
The recent change to only use the data object breaks GUI handling
of a PropertyChange signal after _region is set following a drag
and drop
2024-10-17 07:44:32 -06:00
62a4df52c7
tentative steps in infrastructure for displaying clip data during capture
2024-10-17 07:44:32 -06:00
6193535a31
apply a fade in & out to captured audio clip data, before writing to disk
...
This policy may need revising later.
2024-10-17 07:44:32 -06:00
87ab0a9e0f
add config vars to control max size of captured MIDI and audio clips
2024-10-17 07:44:32 -06:00
8305ea5762
during MIDI clip recording, convert audio->beat time at capture time
...
This distributes whatever cost there is associated with the domain conversion across
multiple process() calls, rather than doing it all in the process() call where
capture finishes.
2024-10-17 07:44:32 -06:00
Paul Davis
cbc0021182
fix typo (| instead of ||)
2024-10-17 07:44:32 -06:00
1e8b2c521c
provide a better method to decide if a trigger(slot) is occupied
...
This is necessary with clip recording because for some short time after recording,
a trigger may be playable despite not yet having a region.
libs edition.
2024-10-17 07:44:32 -06:00
596c54d742
fix ups for record state in TriggerBox
2024-10-17 07:44:32 -06:00
d7d208dc34
move RecordState enum from ARDOUR::Session to ARDOUR so we can use it in TriggerBox (libs)
2024-10-17 07:44:32 -06:00
6ef4a74728
cleanup of bits of clip recording code
2024-10-17 07:44:32 -06:00
4466563a89
avoid double delete of clip recording audio buffers
2024-10-17 07:44:32 -06:00
25400a4936
fix appending new audio data during clip recording
2024-10-17 07:44:32 -06:00
7455b99b45
account for clip recording when computing monitoring state
2024-10-17 07:44:32 -06:00
a357575954
less debugging
2024-10-17 07:44:32 -06:00
423148c2af
tweaks to cleanup and get much closer to full audio clip recording
2024-10-17 07:44:32 -06:00
26fb50d1a9
a bit more type-safety when handling audio data during clip recording
2024-10-17 07:44:32 -06:00
d7c424c440
attempt to write and use audio data to disk for audio clip recording
2024-10-17 07:44:32 -06:00