Commit graph

21731 commits

Author SHA1 Message Date
Paul Davis
efcb26d7c1 add smf_length_is_explicit() to libsmf 2025-02-28 16:49:15 -07:00
Paul Davis
7ded62c37f when loading a region that is longer than its source, automatically fix up the length 2025-02-28 13:39:45 -07:00
Paul Davis
bdc495395b introduce Region::ensure_length_sanity()
This forces the length of AudioRegions to be an integer number of samples. It is intended
to fix a set of bugs that occur when using music time as the session time domain
and carrying out editing operations that would otherwise lead to audio regions
whose length involves fractional samples.

It is perfectly legal to specific audio distances that include fractional samples,
but there is no reason for any audio region to ever have such a length (we think).
2025-02-28 13:39:45 -07:00
Paul Davis
9f3a41b96b manually revert fa376b709d and debef6ab
Quantizing superclocks to samples in libtemporal negates the whole purpose of superclocks,
and breaks a variety of things, not limited to moving forward to markers and the grid
2025-02-28 13:39:45 -07:00
Paul Davis
570289ddc7 Region::set_length_internal() does not need to be virtual 2025-02-28 13:39:45 -07:00
Robin Gareus
a76acf34f8
Fix ATK builds c813ba2b03
extern here is literally C `extern`, not DLL exported functions,
see libs/tk/ztk/ztk/atkversion.h
```
#ifndef _ATK_EXTERN
#define _ATK_EXTERN extern
#endif
```
2025-02-28 21:19:52 +01:00
John Emmas
c813ba2b03 Ensure that 'ztk' will build a working DLL when built with MSVC 2025-02-28 14:36:18 +00:00
Robin Gareus
cdb7c8c4d1
Fix touch-related canvas ptr grab
This fixes an issue when canvas left double button click
pops up a dialog. Focus needs to propagate to the dialog.

see also 05f3ac50cc
2025-02-25 23:30:52 +01:00
Robin Gareus
2b327f97df
use C++11 for VST3 SDK (revert custom cxx98 patch) 2025-02-25 12:46:16 +01:00
Robin Gareus
adffd6f377
micro-optimization, call get_record_enabled() only once
Route::monitoring_state() is called in rt-threads each cycle
so every little bit helps to lower DSP load.
2025-02-25 00:41:46 +01:00
Robin Gareus
b59c69b34d
Fix monitoring state, specifically #59
This partially reverts commit 7455b99b45.
and updates the condition for clip-recording.
2025-02-25 00:40:11 +01:00
Robin Gareus
978495c4f9
Update macOS codenames 2025-02-24 19:32:16 +01:00
John Emmas
8d7fc15917 Fix an issue where 'ytkmm' wouldn't run properly if built with MSVC 2025-02-24 12:42:53 +00:00
John Emmas
046623df59 Correct a mistyped include path 2025-02-20 09:15:49 +00:00
Paul Davis
36fb75690d macOS/YDK: various changes in invalidation debugging 2025-02-13 20:32:28 -07:00
Paul Davis
45e2555988 macOS/YDK: when a full-draw is needed, use the GdkQuartzView bounds as the rect, not the drawRect:rect 2025-02-13 20:31:50 -07:00
Paul Davis
499389d7b5 we do not use clear_region() on macOS and never have 2025-02-13 20:29:54 -07:00
Paul Davis
71f93d3c12 provide a stacktrace function callable directly from C (libpbd_c_stacktrace()) 2025-02-11 10:23:01 -07:00
Paul Davis
809d605a4a improve stacktraces on macOS involving Objective C 2025-02-11 10:23:00 -07:00
Paul Davis
870af9fd23 remove debug output 2025-02-10 10:17:02 -07:00
Paul Davis
84e2ca2d21 fix data loading of audio clips 2025-02-10 10:06:05 -07:00
Paul Davis
16535e9e1d expand ArdourButton API to expose ::is_led_click() for use by derived classes and owners 2025-02-08 09:28:53 -07:00
Paul Davis
fbc55a75b4 API changes to MetaButton, mostly to allow submenus to be hung from the built menu 2025-02-07 23:09:02 -07:00
Paul Davis
46507df2de expose Gtk::Menu member of ArdourDropdown 2025-02-03 14:29:35 -07:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de
Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Robin Gareus
ab41165854
Update gdk-pixbuf -> ydk header location 2025-02-01 14:24:41 +01:00
Robin Gareus
f1e0f4b1ea
Update gtk -> ytk header location (omnibus commit) 2025-02-01 13:53:21 +01:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit) 2025-02-01 13:37:48 +01:00
Robin Gareus
eff811d437
Update atkmm -> ztkmm header location 2025-02-01 12:44:12 +01:00
Robin Gareus
f9a92e7872
Update atk->ztk header location 2025-02-01 12:22:32 +01:00
Robin Gareus
1e28ee9cc9
YTK is no longer optional
Since the addition of the touch-API, Ardour is no longer compatible
with upstream gtk2.
2025-02-01 11:57:35 +01:00
Robin Gareus
fdfdde093d
libAAF update for NetBSD (#9886) 2025-02-01 11:30:14 +01:00
Robin Gareus
b4bf87725e
VST3 SDK update for NetBSD (#9886) 2025-02-01 11:27:03 +01:00
Robin Gareus
728e0c0144
Build fixes for NetBSD from pkgsrc (#9886) 2025-02-01 11:25:42 +01:00
Paul Davis
7cf89d192b robustify Canvas DEBUG_TRACE for PBD::CanvasEvents to handle case where an event handler deletes the item 2025-01-31 12:33:43 -07:00
Paul Davis
debef6ab25 lighter, simpler math for sample-aligned superclocks 2025-01-30 11:26:41 -07:00
Paul Davis
456a8bcabf autofication of some loops in Stateful::apply_changes() and avoidance of a loop in non-debug builds 2025-01-29 17:40:57 -07:00
Paul Davis
fa376b709d add new sample_aligned_superclock() method and use it when converting Beats to superclock
There can never be fractional audio time, and since superclock_t is used to represent audio time, when we
convert from Beat time, we should never, ever return a superclock value that does not correspond to
an integer number of samples.

This fixes a number of bugs, including any use of ARDOUR::Filter which writes a new (audio) file
to disk that must be an integer number of samples long, but may be derived from and later used
by a region that had an audio-time duration that is slightly longer (less than one sample)
than the audio file
2025-01-29 17:40:57 -07:00
Robin Gareus
0516c12694
MetaButton: handle boxy theme, separate active state from menu index 2025-01-28 22:52:00 +01:00
Paul Davis
146df0306c provide new API for Gtkmm2ext to allow ActionGroup cleanup 2025-01-28 13:29:40 -07:00
Robin Gareus
6cdf6b6e42
Properly propagate un/map window events
This fixes issues with openGL rendering bleeding
behind when switching editor/mixer and other related
window events that depend on  on_unmap()
2025-01-28 17:43:33 +01:00
Robin Gareus
fb6b64f736
Allow left-click on MetaButton Dropdown indicator 2025-01-28 17:38:38 +01:00
Robin Gareus
ff2c33e42e
Add MetaButton Widget
A Button that changes functionality.

* right click: show a drop-down to pick what left click will do
* left click: activate selected action
2025-01-28 07:52:35 +01:00
Robin Gareus
d280c46d44
Add API to add sizing-texts to ArdourButton 2025-01-28 07:52:34 +01:00
Robin Gareus
58f1d46e31
One font to rule the rulers.
Remove bold fonts for Bar/beats and font-size
inconsistency on macOS (VerySmall, SmallBold).

This reverts commit e3dc0a24f2.
and 14318dd342
and a76afae0e9
and 7c27f617dc
and 20029ec7e6
2025-01-23 19:43:26 +01:00
Robin Gareus
9e164bf0cf
Further reduce debug output 2025-01-23 03:55:09 +01:00
Paul Davis
15a093df76 wrap Tabbable contents in an EventBox so we can get events from "the whole thing" 2025-01-22 18:20:25 -07:00
Robin Gareus
8919594353
Add API to query number of regionFX 2025-01-22 19:18:36 +01:00
luzpaz
b22f482114
fix typo bug in libs/ardour/ardour/triggerbox.h 2025-01-19 16:08:39 +01:00