EZ4Stephen
b0db1009f5
Update abstract_ui.h
...
Include #include <cstring> to use memcmp
2025-11-17 09:42:24 +04:00
EZ4Stephen
68420c876a
Update abstract_ui.h
...
All platforms use pthread_cmp
2025-11-16 20:38:54 +04:00
Robin Gareus
224e5ec163
When Ardour is running, there is at least 1 CPU core available
2025-11-12 02:22:26 +01:00
Robin Gareus
ac0bbfb481
Fix class/struct mismatch
2025-11-12 02:22:23 +01:00
Paul Davis
e50032ecb5
for debug builds, show stacktrace for TempoMap::fetch_condition() failure
2025-11-11 14:35:55 -07:00
Paul Davis
f932e4bf15
UndoTransaction: do not delete a Command when handling its DropReferences signal
2025-11-11 13:01:50 -07:00
Paul Davis
decb945300
simpler assert
2025-11-11 13:01:50 -07:00
Paul Davis
751dea75d3
use drop_and_kill() when connecting Commands to their dependents
2025-11-11 13:01:50 -07:00
Paul Davis
210f58ddb7
add Destructible::drop_and_kill()
...
This should be used when a Destructible-derived object needs to be
deleted. Handlers of the DropReferences signal should not responsible for
deleting the Destructible, since that would happen in the middle of signal
emission.
Instead, emit the DropReferences signal, then delete the Destructible.
2025-11-11 13:01:50 -07:00
Paul Davis
a1d5294af5
use nullptr not zero
2025-11-11 13:01:50 -07:00
Robin Gareus
f6a2ee0103
Prefer std::regex, and modern C++ string search
2025-11-11 19:04:16 +01:00
Robin Gareus
8085627173
Add a FIXME note (MClk when vari-speeding from stop)
2025-11-11 01:59:37 +01:00
Robin Gareus
d8ea090902
Add preference to configure VST3 Knob mode
2025-11-11 01:34:34 +01:00
Robin Gareus
6d53b42022
Add enum to configure VST3 knob mode
2025-11-11 01:04:24 +01:00
Robin Gareus
599d02bd2e
Amend previous commit, fix diff
2025-11-10 20:12:53 +01:00
Robin Gareus
8929147566
Another partial revert of 4998b114ea, fix mingw builds
2025-11-10 20:04:11 +01:00
Robin Gareus
57fc904004
Undo changes from 4998b114e that break existing MSVC build
...
This defines should be in common header file and wrapped
in an #ifndef clause
2025-11-10 16:00:48 +01:00
Robin Gareus
7a5558af65
Properly forward MutePointChanged to mutable
...
The GUI only subscribes to the mutable's mute_points_changed
signal, without direct access to to the MuteMaster itself.
Previously changing mute points by means other than the GUI,
did not update existing context menus in the mixer GUI.
2025-11-10 00:42:17 +01:00
Robin Gareus
b3e4deb32f
Prefer std::regex over C regex_t
2025-11-09 21:27:26 +01:00
Robin Gareus
bf154d0239
AmEND
2025-11-09 20:55:42 +01:00
Robin Gareus
4998b114ea
First batch of change of waf/MSVC specific changes from EZ4Stephen
2025-11-09 20:51:56 +01:00
Robin Gareus
e29523ab52
Update YTK unistd.h checks
2025-11-09 20:51:51 +01:00
Robin Gareus
1ee5a68d76
Use consistent defines for header availability
2025-11-09 20:51:36 +01:00
Robin Gareus
83d44860e0
Set some more waf MSVC flags
2025-11-09 16:36:28 +01:00
Robin Gareus
289f7b10d2
Remove cycle based storing timer, prefer TimerRAII
...
..besides with dummy backend one can measure performance
on instruction level granularity with valgrind.
2025-11-09 16:32:24 +01:00
Robin Gareus
b3bf623c4b
Remove unused cycle timer from plugins
...
These days performance is measured on PluginInsert level
using more elaborate PBD::TimingStats
2025-11-09 16:24:17 +01:00
Robin Gareus
0fd67d36d9
Fix adding C++ class instances to Lua STL containers
...
This is because Userdata::getClass() doesn't handle
negative stack indexes. It worked fine for Lua built-in types.
2025-11-09 03:48:39 +01:00
Paul Davis
5310745312
input connection change on a midi track - forget last seen MIDI note
2025-11-06 09:23:23 -07:00
Paul Davis
e994a5665d
add CapsLock modifier to Gtkmm2ext::Keyboard
2025-11-06 09:19:20 -07:00
Paul Davis
47eeb6dd98
make Route::input_change_handler() virtual and use it in MidiTrack to notice incoming notes
2025-11-06 09:19:20 -07:00
Paul Davis
41d91e7527
prevent crash in MIDI triggers when transport op is invoked on an inactive track
2025-11-05 18:35:41 -07:00
Robin Gareus
b783b3264c
Allow to remove hidden stripables from selection
2025-11-04 19:59:07 +01:00
Robin Gareus
8efc12c66a
Update file-utils include, add windows.h for CreateHardLinkA
2025-11-04 16:54:27 +01:00
Franke Burgarino
6211ba8260
MCU: fix send toggle display in sends subview
...
The sends subview now shows "off" when a mixbus send enable control is
toggled from the GUI. Additionally, any disabled mixbus sends will
now properly show "off" after instantiating the sends subview and calling
SendsSubview::setup_vpot().
This currently only affects Mixbus since Route::send_enable_controllable is not
actually exposed in Ardour.
2025-11-03 17:00:22 -06:00
Paul Davis
ccd1d2bc5b
Revert "GtkFileChooserButton should emit a signal when a file is selected from the combobox"
...
This reverts commit 1c19b6cfd9 .
GtkFileChooserButton emits selection-changed when the combobox is used to select a file/dir.
2025-11-03 13:01:21 -07:00
Paul Davis
357956bd99
factor out the platform-specific default clip library path
2025-11-03 12:28:13 -07:00
Paul Davis
1c19b6cfd9
GtkFileChooserButton should emit a signal when a file is selected from the combobox
2025-11-03 12:28:13 -07:00
Robin Gareus
20d901e3b3
Append suffix before legalizing path
...
This is because windows does not allow trailing space or dot.
So once we use legalize_for_universal_path() it may strip
valid char "New Session.." + ".ardour"
2025-11-03 20:04:13 +01:00
Robin Gareus
228be635ee
Use legalize_for_universal_path for sources and presets
...
We can only use `legalize_for_universal_path` for base-name
paths relative to the Ardour session folder.
The full absolute path can contain locally legal chars,
which legalize_for_universal_path would replace, so we need
to be careful.
We should also use `legalize_for_universal_path` for the
snapshot name (and name used in interchange), but that may break
sessions.
2025-11-03 20:04:07 +01:00
Paul Davis
637f22508b
Evoral::Sequence: tweak DEBUG_TRACE messages during note removal
2025-10-31 13:24:35 -06:00
Paul Davis
391fe97693
triggerbox: if clip recording would start immediately, delay by slot.quantization()
2025-10-27 19:42:23 -06:00
Paul Davis
3762743691
remove debug output
2025-10-27 16:05:48 -06:00
Paul Davis
e6b20df671
if Region::tempo_map() finds no tempo info in the source, use the global map
2025-10-27 16:02:47 -06:00
Paul Davis
3b6b1bdd93
triggerbox: change API for finish_recording() and captured() to not require BufferSet
2025-10-27 14:32:54 -06:00
Paul Davis
1400fe012e
clip recording: store tempo and meter for audio files created during clip recording
...
Information taken from the timeline - we assume you're going to play in time with the tempo map.
Future work: no other material in session - determine tempo (and meter? - super hard) from
recorded clip
2025-10-27 11:09:54 -06:00
Paul Davis
6badce2d3a
triggerbox: modify source-building API to include timeline position
2025-10-27 10:52:07 -06:00
Paul Davis
9194d93213
NO-OP: correct comment
2025-10-27 10:51:45 -06:00
Robin Gareus
d2b1b6f8ed
Fix importing Type-1 SMF
...
* handle files with just one track (no meta-data)
* fix splitting by channel (ignore meta-data only tracks)
* retain per track meta-data
2025-10-26 22:45:32 +01:00
Paul Davis
846f7b281a
track rec-enable does NOT enable triggerbox recording
...
This was leftover from an earlier conception of how clip recording might work
2025-10-26 09:46:21 -06:00
Robin Gareus
49c71cb3ef
Log an error message when ignoring invalid SMF
2025-10-26 15:19:42 +01:00