Commit graph

21660 commits

Author SHA1 Message Date
Robin Gareus
ec0adbc1a9
Add a hint to disable "apply track/bus processing" for LT stem exports 2025-01-10 17:53:27 +01:00
Paul Davis
baef68b1e6 clean up/improve API used in 5ebf8152e 2025-01-10 09:25:03 -07:00
Paul Davis
5ebf8152ec temporal: tempo changes must be on meter-provided grid, not quarter notes 2025-01-09 22:30:17 -07:00
Paul Davis
207cd9ae5f fix temporal test runner
must abort all write_copy() map operations
2025-01-09 22:30:17 -07:00
Robin Gareus
caa9b2c25a
Allow to render icons on Gtk::Layout backgroud 2025-01-09 20:18:23 +01:00
Paul Davis
7c892d7286 avoid crash when using -D canvasenterleave
This only happens when the canvas finds zero items to deliver
events too, which should never really happen but did while working on pianoroll
stuff.
2025-01-08 14:26:29 -07:00
Robin Gareus
a0413c525c
Do not save VCA automation in templates 2025-01-03 22:01:59 +01:00
Robin Gareus
506a57251b
Fix PT Import when track name contains illegal chars
route_by_name() may not find a track created with a given
name, if that name contains illegal chars that were replaced,
or if the track-name was otherwise changed (number suffix) to
make it unique.
2025-01-03 02:02:36 +01:00
Robin Gareus
694d91f395
Use dedicated PT debug flag 2025-01-03 01:56:48 +01:00
Robin Gareus
31d567b20c
Add dedicated debug flag for PTimport 2025-01-03 01:49:33 +01:00
Robin Gareus
fe14044175
Prevent drumstick icon bleed 2025-01-02 21:09:56 +01:00
Robin Gareus
91b1eb9c72
Set colors for drum icon and fix drumstick length 2025-01-02 20:04:55 +01:00
Robin Gareus
772d14fca3
Add icon for cue/triggger page 2025-01-02 18:47:13 +01:00
Robin Gareus
05a18b0cc6
Prefer std::map::erase over temporary iterator
While map::erase should not affected incremented iterators,
this is my best guess at
https://discourse.ardour.org/t/clean-up-does-not-end/111154

If not, at least the code is cleaner now :)
2024-12-31 00:21:45 +01:00
Paul Davis
791bb3a50d add a new Drum icon 2024-12-29 14:34:57 -07:00
Paul Davis
0133400b8a add ArdourButton::remove_elements() 2024-12-29 14:34:57 -07:00
agfline
ae18524da7
Update libaaf to v1.0-22-gfab4651 2024-12-29 19:49:01 +01:00
Nil Geisweiller
34fe8c46e9
Make Stripable::Sorter::_mixer_order const
This is not required by C++17, but it is rather clear that this field should
not be changed after initialization.
2024-12-29 19:45:55 +01:00
Nil Geisweiller
5ac2e6b8a8
Make Stripable::Sorter::operator() const
as required by C++17
2024-12-29 19:45:52 +01:00
Robin Gareus
6e2d34df2d
Fix MIDI Clock generator (rounding issues)
This broke in f67029bd0 and notably bcc1aeeb86.

next_tick needs to accommodate for sub-sample accuracy when
PPQN are not integer samples. e.g. 110 bpm @ 48kHz

PS. Instead of `double` we could use superclock next_tick, and
`one_ppqn_in_superclocks` respectively. This would provide us
with 62 bit significand (instead of 52 bit using double).

Yet for the case of MIDI clock, this will have no real world
effect.
2024-12-29 16:05:31 +01:00
Paul Davis
24a1fd9dbe NO-OP: whitespace 2024-12-26 09:28:06 -07:00
Paul Davis
228a4931e1 NO-OP: obey code formatting rules and conventions 2024-12-20 10:06:57 -07:00
Paul Davis
5f943295fc copying a tempo map should not bail out just because there is only 1 tempo & meter 2024-12-18 16:46:07 -07:00
Robin Gareus
daa6808a30
Scale Metronome icon to match other transport icon height 2024-12-18 21:56:13 +01:00
Robin Gareus
72aebf0308
Tweak mixer-icon's fader-caps 2024-12-17 15:47:54 +01:00
Robin Gareus
42b32fbd7c
Also change automation time-domain to match default (cde26c5205) 2024-12-16 19:51:24 +01:00
Robin Gareus
91d91eac0d
Fix export encoder race condition
The CmdPipeWriter::Terminated signal is used to trigger the FileWritten
callback, which invokes ExportGraphBuilder::Encoder::copy_files

Encoder::filenames must not be destroyed before the callback
arrives. This is now guaranteed by the Encoder d'tor waiting
for for the encode process to terminate.
2024-12-15 16:31:43 +01:00
Robin Gareus
bae7c52f01
The return of the tape-reel icon
This was removed with destructive record mode
a4d7b45fe0

This new version is no longer red by default, and
also works with light theme
2024-12-14 16:39:06 +01:00
Robin Gareus
c2b1748de7 Emulate GTK button events for signal-proxy connections 2024-12-12 17:34:44 +01:00
Robin Gareus
05f3ac50cc Focus grab pointer to receive motion events for 1st touch
X11 emulates MotionEvents for the 1st finger on a touch-screen
(no explicit touch events are sent) IFF the pointer is grabbed.
So let's do that.

Note 1st finger touch uncnditionally creates press and release events
2024-12-12 17:34:44 +01:00
Robin Gareus
f575a48973
Investigate alleged crash on intel mac 2024-12-10 19:28:27 +01:00
Paul Davis
5b112e489b move zoom in/out actions into shared "Editing" group 2024-12-07 08:00:46 -07:00
Robin Gareus
4866baacf5
Release NSGLView, fixes heap-use-after-free 2024-12-06 18:52:04 +01:00
Robin Gareus
d953ca732e
Tweak Ardour Attachment buttons 2024-12-05 20:31:15 +01:00
Robin Gareus
4d7b51dcc8
Fix regionFX tailtime lookup 2024-12-04 14:29:02 +01:00
Robin Gareus
db16792580
Initialize uninitalized variables 2024-12-04 14:28:08 +01:00
Robin Gareus
0225087342
Initialize uninitalized variables 2024-12-04 14:27:34 +01:00
Robin Gareus
e59a5fcc2b
Modernize scrollbar look 2024-12-04 02:38:35 +01:00
Robin Gareus
3c8527cbf0
Clean up clearlooks, remove unused styles 2024-12-03 21:37:30 +01:00
Robin Gareus
de5bbfa823
Try different tab attachement button layout 2024-12-03 18:10:15 +01:00
Robin Gareus
057b84dd77
Remove some more unsafe calls to gettimeofday
It isn't even rt-safe, prefer clock_gettime whenever possible.
2024-12-03 00:30:07 +01:00
Robin Gareus
ac6c00da26
Add support for Touch events to Ardour Canvas 2024-12-02 21:13:16 +01:00
John Emmas
7a5fe4c5a1 ytk: some #defines need to be different when building with MSVC 2024-12-02 10:55:02 +00:00
Robin Gareus
99a4f37af4
Add missing Lua bindings 2024-12-02 00:01:46 +01:00
Robin Gareus
388931293d
Fix missing thread-buffers when using region-compounds w/regionFx
When adding a region with regionFx to a compound,
AudioPlaylistSource::read_unlocked needs to be able
to process Fx. This can happen from various threads
(peak-file creation, waveform-rendering, peak-amplitude..) etc

depending on the plugin(s) in question, some process-thread
buffers are required, notably ProcessThread::get_silent_buffers
2024-12-01 23:29:27 +01:00
Robin Gareus
8a238de551
Add API to check if thread-local buffers are available 2024-12-01 23:24:38 +01:00
Robin Gareus
911399f8b3
Use same rounding for wave-view rectangle as TAV
Previously the waveform could exceed the AudioRegionView's
Rectangle on either side due to rounding.

```
round ((start - end) / spp) != round (start/spp) - round (end/spp)
```
2024-11-28 15:00:36 +01:00
Paul Davis
0132a0b8ad amend GdkQuartzView:drawRect to be able to show both the exposed and "leftover" areas
To activate, run a debug build with ARDOUR_SHOW_QUARTZ_INVALIDATION set in the environment
2024-11-26 19:02:42 -07:00
Paul Davis
8c0c9cc115 somewhat sort of working clip start drag 2024-11-25 17:54:15 -07:00
Paul Davis
c39de501a3 triggerbox: significantly re-design MIDI Triggers to allow for bounds editing 2024-11-24 13:25:58 -07:00