Commit graph

40884 commits

Author SHA1 Message Date
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
a47a78d15a
Clarify remove-last-capture warning 2025-03-02 00:34:43 +01:00
Robin Gareus
b3ee25f812
Set remove-last-capture sensitivity 2025-03-01 23:27:23 +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
Robin Gareus
67077b9255
Add MIDNAM for MIDNAM file for Novation Circuit #9899
Thanks to Mr. Zdeeck
2025-03-01 00:57:12 +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
Paul Davis
47e635b689 initial work on displaying non-selected-channel notes in pianoroll 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
Robin Gareus
84183968b2
Use single canonical source for ui-config: ui_config_vars.inc.h 2025-02-28 19:04:39 +01:00
Robin Gareus
87cc61c333
Remove old now unused ui-config variable 2025-02-28 19:04:36 +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
df5f8d48c9
Forward EventBox map/unmap requests to show/hide pianoroll GLCanvas 2025-02-27 16:42:41 +01:00
Robin Gareus
e38a2b4b85
Remove duplicate code 2025-02-27 01:00:45 +01:00
Paul Davis
2a9d2bd69e fix crashing due to incorrect use of ctl_items instead of chn_items
Plus a bit of code cleanup
2025-02-26 11:52:55 -07:00
Robin Gareus
d6f67db737
Consistently setup tooltips, prefer actions over buttons
ArdourButton::set_related_action() uses and subscribes to
tooltips from actions.

Explicitly calls to Gtkmm2ext::UI::instance()->set_tip will
have to be done after set_related_action and be overridden
when the action's tooltip changes.
2025-02-26 19:30:50 +01: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
Paul Davis
609f5c0112 fix initial position/size of scroomer in pianorolls
This still needs some API to reset note_range_set when we change the model
being displayed
2025-02-25 13:12:57 -07:00
Paul Davis
3928a3a0aa prevent note-range change signals for every added note in a MidiView 2025-02-25 13:12:57 -07:00
Robin Gareus
0358cec2fc
Add pianoroll to Editor bottom panel 2025-02-25 16:13:15 +01:00
Robin Gareus
2b327f97df
use C++11 for VST3 SDK (revert custom cxx98 patch) 2025-02-25 12:46:16 +01:00
Paul Davis
a4f3e39f1c ensure that the editor canvas cursor changes as we re-enter the wave item
We no longer use a cursor stack, so the reason for this being commented out in 486d47db0
no longer apply
2025-02-24 22:48:30 -07:00
Paul Davis
c49a252ccf add mssing editor canvas item types to enums 2025-02-24 22:48:30 -07: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
898ac01e25
Disable cocoa invalidation on macOS > 14 by default 2025-02-24 19:34:26 +01:00
Robin Gareus
978495c4f9
Update macOS codenames 2025-02-24 19:32:16 +01:00
Robin Gareus
125fd41f6e
Fix translation bundling, use BSD*find syntax 2025-02-24 16:48:44 +01:00
Robin Gareus
84e979fcc7
Update Doxygen after tk include refactoring
see 07866caf1..000c25ed
2025-02-24 14:41:17 +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
Robin Gareus
12b215b0d6
Don't check certs when root certs are n/a on target machine 2025-02-10 18:32:55 +01:00
Paul Davis
870af9fd23 remove debug output 2025-02-10 10:17:02 -07:00
Paul Davis
c0440d5918 mostly just add space before parens for function call 2025-02-10 10:07:36 -07:00
Paul Davis
bb0f299cc8 NOOP: indent 2025-02-10 10:06:38 -07:00
Paul Davis
84e2ca2d21 fix data loading of audio clips 2025-02-10 10:06:05 -07:00
Paul Davis
93225114d4 improve visibility management of clip property/editing displays 2025-02-09 10:41:21 -07:00
Paul Davis
37806ef15c NOOP: indent 2025-02-08 21:19:07 -07:00