Commit Graph

37283 Commits

Author SHA1 Message Date
Ben Loftis
dd08d12475 desensitize playhead by default, and make a new config variable 'sensitize-playhead'
Historically, it was possible to grab the 1-pix-wide red line, and drag the playhead
In rare but annoying cases, the red playhead interferes with mouse clicks, because it is on top
De-sensitize the playhead by default, and provide a new config var for those who want the old operation
2023-05-01 08:49:27 -05:00
Ben Loftis
a7c4ab3247 fix thinko in canvas logic (fixes mouse cursor on desensitized playhead) 2023-05-01 08:49:27 -05:00
Robin Gareus
847f1e54c1 Clean up ctrl surface API
Remove unused fields, no mandatory surfaces
2023-05-01 02:22:45 +02:00
Robin Gareus
0b355c0412 Prepare for ControlProtocol API cleanup 2023-04-30 21:40:50 +02:00
Robin Gareus
c55e17da99 Fix misleading doxygen comment
Previously this was used as documentation for peak_meter()
2023-04-29 21:03:56 +02:00
Paul Davis
f387cbae12 amend 82e03ac13e for better leave notify behavior
Don't clear the processor box selection when leaving for
a non-linearly related widget/window (e.g. a context menu)

Note that the deselect is a little buggy but that was
true before the referenced commit too. If you move the mouse too
fast out of a processor box, then depending on where the
mouse stops, no leave notify message is sent
2023-04-29 09:57:54 -06:00
Robin Gareus
3fe1fc77a9 Do not snap to rolling playhead 2023-04-29 01:04:34 +02:00
Robin Gareus
d82ece39e1 Add Editor preference to snap to playhead position. 2023-04-29 00:40:06 +02:00
Paul Davis
78216b422f add new Playhead snap mode 2023-04-28 15:57:42 -06:00
Paul Davis
5c0886379b fix position of edited tempo marker in the presence of BBT markers 2023-04-28 15:57:42 -06:00
Paul Davis
0ddacb8ea2 when abort()-ing due to a failed assert in tempo map code, dump the map 2023-04-28 15:57:42 -06:00
Robin Gareus
4ccaa81671 Fix cut/copy section: ripple requires a region split 2023-04-28 22:55:54 +02:00
Ben Loftis
5b42422c60 allow single-click in the mapping ruler to add tempo markers (again)
* this is useful to make a 'guard point' ...
* ... this just preserves/sustains the tempo from the prior tempo marker
2023-04-28 09:29:01 -05:00
Paul Davis
57d2a85c0a NO-OP: remove unused variable warning 2023-04-27 19:56:18 -06:00
Paul Davis
408aed9e85 no need for a tempo map reset after the remove-while-moving 2023-04-27 19:56:12 -06:00
Paul Davis
907d3f82a7 temporal: fix grid generation in the presence of MusicTimePoints 2023-04-27 19:54:44 -06:00
Paul Davis
e7f4c9dcb5 temporal: fix removal (and thus moving) MusicTimePoints 2023-04-27 19:54:14 -06:00
Robin Gareus
64b480dd65 ARD: shutdown message is not an error 2023-04-27 15:35:22 +02:00
Robin Gareus
dd969dfe8c Fix worst-case and I/O latency report
In case there are any unconnected tracks, the track's output is
assumed to align to the master bus (see Route::update_signal_latency).

For this to work correctly the master bus port's public latency
has to be set first.

This fixes e.g. the following issue: add a latent plugin to
the monitor section. Then toggle its bypass or remove it.
Previously the worst-case latency remained unchanged.
2023-04-27 01:43:20 +02:00
Paul Davis
82e03ac13e fix SNAFU with processor box bindings
Bindings were not loaded until after ProcessorBoxen were created,
meaning they had no effect (the ProcessorBoxen set their ardour
bindings to null).

Also handle leave-means-deselect at ProcessorBox level rather than
MixerStrip level, to include MonitorSection PB
2023-04-26 17:19:50 -06:00
Paul Davis
261ba186cd add plugin clarification to COPYING
This text was already in the About dialog, but should be here
too.
2023-04-26 13:28:29 -06:00
Robin Gareus
4b77ecbe83 Sanitize XML values to be valid UTF-8 (#9317)
This prevents any non UTF-8 strings to leak into
Ardour XML files, which can make the session unloadable.
2023-04-26 17:43:52 +02:00
Robin Gareus
df298c6046 Add API to sanitize UTF-8 strings 2023-04-26 17:25:24 +02:00
Robin Gareus
5e967c02a9 VST3: fix manually setting parameter (amend 52a73fdb3) 2023-04-26 00:19:36 +02:00
Robin Gareus
52a73fdb33 VST3: fix manually setting parameters
VST3PI::performEdit already updates the shadow data, so
since 979f9876a7
VST3Plugin::set_parameter effectively did nothing (unless a user
rapidly moves the control slider, in which case the next process
cycle sets a previous value).
2023-04-25 23:34:58 +02:00
Alexandre Prokoudine
5b19882be3 Update Russian translation 2023-04-25 20:26:46 +02:00
Paul Davis
87b5849a7b kbd bindings: fix issues with delete & backspace bindings in draw/i-edit mode
We now use the same actions in all modes, and the logic is:

1. is there a selected mixer strip and are we in it: if so, delete selected
   processors
2. are we in draw or internal mode? if so ..
   2a. if there are selected control points, delete them
   2b. if not, attempt to delete MIDI notes
   2c. done
3. continue with delete operation as before
2023-04-25 11:38:16 -06:00
Robin Gareus
595e2e2914 VST3: notify GUI when plugin parameter names change 2023-04-24 22:32:35 +02:00
Robin Gareus
82447431f4 VST3: properly debug ParamTitlesChanged 2023-04-24 20:58:07 +02:00
Robin Gareus
3b4f9a231f VST3: debug ParamTitlesChanged 2023-04-24 19:38:17 +02:00
Robin Gareus
95de61f74e Fix race condition when closing a session
~Session calls AudioEngine::remove_session(), which fades out,
then unsets the session, and then in libs/ardour/audioengine.cc:460
```
session_removed.signal(); // wakes up thread that initiated session removal
```

Session d'tor continues, and calls Port::PortDrop(), which
unregisters all ports one at a time.

Concurrently, AudioEngine continues, and calls PortManager::silence_outputs
which gets all ports first (!), and then iterates over them.

There is a race condition which can lead to
DummyAudioBackend::get_buffer: Assertion `valid_port (port)' failed
2023-04-24 17:43:08 +02:00
John Emmas
40738b2bee A couple of extra requirements for DEBUG_THREAD_PRINT 2023-04-24 14:51:04 +01:00
John Emmas
81d7a51498 Minor change to commit #35b5861195 2023-04-24 12:40:36 +01:00
Robin Gareus
c3f65a2237 Add Lua DSP processor to downmix 5.1 to stereo 2023-04-24 01:59:50 +02:00
Robin Gareus
649ad0f052 VST3: update parameter and Bus names on plugin's request
This is currently only the backend implementation,
the GUI is not yet notified of the change
2023-04-24 01:54:35 +02:00
Paul Davis
c95c11e186 remove debug output 2023-04-23 11:34:28 -06:00
Paul Davis
35b5861195 try to avoid output pthread_t as-is, due to MSVC etc. 2023-04-23 11:26:00 -06:00
Paul Davis
c16ee928de fix ruler dialog 2023-04-22 17:58:28 -06:00
Paul Davis
8cc16f2b81 convert std::cerr output to DEBUG_TRACE 2023-04-22 14:38:44 -06:00
Paul Davis
ec5320c5f1 transport master: do not unregister port when session goes away
TransportMasters are independent of the session, and thus their port lifetimes should be
also.
2023-04-22 14:38:44 -06:00
Robin Gareus
9625d22c0d Add Lua bindings for TempoEditBehavior
See also 8fbf2c3f52
2023-04-22 22:15:00 +02:00
Robin Gareus
a7ca4cf8a1 CoreAudio: subscribe to device-alive property
This notifies the user about device disconnect and properly
shuts down the backend.
2023-04-22 19:36:37 +02:00
Paul Davis
65c81feb5e fix consistency and accuracy of tempo edit behavior setting 2023-04-22 11:12:21 -06:00
Robin Gareus
65380797e1 Fix windows debug builds (really now)
This partially reverts commit 4dc4d53004.
2023-04-22 03:00:40 +02:00
Robin Gareus
7f198c7c2f Amend 4dc4d53: fix missing use/lib includes for luabindings 2023-04-22 02:18:05 +02:00
Damien Zammit
4620d138ee import_pt: Look up tracks by name instead of by number
This allows existing tracks with correct names to be the target for import.
2023-04-22 10:09:55 +10:00
Robin Gareus
4dc4d53004 Fix windows debug builds (obj file too large)
This fixes a "too many sections" issue
```
Fatal error: can't write 159 bytes to section .text of build/libs/ardour/luabindings.cc.1.o: 'file too big'
x86_64-w64-mingw32-as: build/libs/ardour/luabindings.cc.1.o: too many sections (36781)
```
2023-04-22 02:03:20 +02:00
Paul Davis
8629aea237 push2: shift held while using touch strip sends modulation, not pitch bend 2023-04-21 17:20:17 -06:00
Paul Davis
2aee4765e9 don't try to print pthread_self() 2023-04-21 15:38:40 -06:00
Paul Davis
4052537e0f midisurfaces: make connection_handler() private 2023-04-21 15:38:40 -06:00