Commit graph

21744 commits

Author SHA1 Message Date
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