Paul Davis
67fa5282cb
Remove Region::absolute_time_to_region_beats()
...
This method did not do what its name suggested. Replace it with
::absolute_time_to_source_beats() which already existed and
computed the same result.
Also in a NoteCreateDrag, correctly adjust note start
depending on whether we are viewing the whole source or
just the region. This part may be amended later.
2025-03-06 18:12:39 -07:00
Robin Gareus
349a3cf039
Add API to resize Fader widgets
2025-03-06 20:10:20 +01:00
Robin Gareus
f3ec590eb5
Dynamically update ArdourButton indicator
...
Previously this was semi-random, on_size_request() may be called
in response to some other widget changing size, before a given
ArdourButton DPIReset handler could set _diameter = 0.
2025-03-06 17:02:33 +01:00
Paul Davis
e4b38b33b9
provide an environment variable to disable MIDNAM loading (just for testing purposes)
2025-03-04 11:30:48 -07:00
Robin Gareus
814fbfcb73
Prepare handling note-off for step entry
2025-03-04 16:14:59 +01:00
Robin Gareus
67716bc871
Thread-safe last_capture_sources access
2025-03-02 02:00:42 +01:00
Robin Gareus
c87fa094bd
Remove deprecated API
2025-03-02 02:00:34 +01:00
Robin Gareus
aafb2c8904
Overhaul [get]last_capture API
...
* Fix copy/edit bug: `get_last_capture_sources` cleared
last capture sources. tagging a take made its removal
impossible.
* `remove_last_capture` also directly modified capture
sources by reference in calling thread.
* get_ prefix violates styleguide #12
2025-03-02 01:23:12 +01:00
Robin Gareus
fe81f8de18
Add signals indicating last-capture-source changes
2025-03-01 23:19:20 +01:00
Robin Gareus
6535d7ed97
Unset last-capture sources when saving session
...
This prevents accidental deletes of files saved to disk
after the fact. e.g.
* save, delete last capture, quit w/o save.
* save, switch-snapshot, delete last capture.
2025-03-01 18:26:47 +01:00
Robin Gareus
622c27ed74
Add API to unset last capture source(s)
...
This is in preparation to clear the list when
switching snapshots to prevent destroying references.
https://discourse.ardour.org/t/discard-last-take-impacts-previous-snapshots-is-this-wanted-behaviour/111420/6?u=x42
2025-03-01 17:49:01 +01:00
Paul Davis
5fcc701f27
when creating an SMF source, round up the duration to the nearest bar unless the duration was explicit
2025-02-28 16:50:18 -07:00
Paul Davis
3ce789dc4c
add ::duration_is_explicit() to SMF
2025-02-28 16:49:48 -07:00
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