Commit graph

37162 commits

Author SHA1 Message Date
Robin Gareus
168c439ee8
Fix vfork wrapper for macOS 2023-03-25 07:46:47 +01:00
Robin Gareus
4b5333a721
Disambiguate export formats with different encoder settings
Disambiguate export formats with different encoder
qualities, sample-formats or settings (wav/bwav).

This allows to export multipe mp3 with different bitrates.
2023-03-25 06:43:46 +01:00
Robin Gareus
3715154a8e
Allow concurrent child processes
When multiple child processes are running, closing the
stdin of one child did not send EOF or cause POLLNVAL,
as long as a dup()'ed filedes still existed.

This fixes an issue when running an mp3 encoder while the
video monitor is visible, and will allow to concurrently
run multiple mp3 encoders or other child processes.

Previously this caused Ardour to hang indefinitely in CmdPipeWriter
```
 _proc->close_stdin();
 _proc->wait(); // << here
```
2023-03-25 06:43:46 +01:00
Paul Davis
70df054d68 try to patch over some type confusion 2023-03-24 17:27:49 -06:00
Robin Gareus
5ce0bfb4e2 Update Lua documentation script to use std:: instead of boost 2023-03-25 00:07:56 +01:00
Robin Gareus
f2c309d7de Use std pointers in objective C files 2023-03-25 00:07:56 +01:00
Robin Gareus
8075b55919 Fix amiguity in atomic load
operator _Tp() const volatile _NOEXCEPT {return load();}
operator _Tp() const _NOEXCEPT  {return load();}
2023-03-25 00:07:56 +01:00
Paul Davis
b18fe9f412 add method accidentally removed during rebase with spp-atomic 2023-03-24 16:35:18 -06:00
Robin Gareus
9232f41176
Remove debug output 2023-03-24 23:20:50 +01:00
Paul Davis
dad40f960d fixup various mistakes when rebasing boost->std shared_ptr changes 2023-03-24 14:19:16 -06:00
Paul Davis
720102f98a modify API of MIDI Clock ticker to use ProcessedRange
This solves the faulty MClk output when we locate due to a loop end.
2023-03-24 14:19:16 -06:00
Paul Davis
bcc1aeeb86 change MidiClockTicker to use Session& not Session* 2023-03-24 14:19:16 -06:00
Paul Davis
33047987a7 add ProcessedRanges element to Session and update its contents appropriately 2023-03-24 14:19:16 -06:00
Paul Davis
af37406ed8 new data type to describe sample ranges processed during Session::process 2023-03-24 14:19:16 -06:00
Paul Davis
5dbbac0bc2 temporal: operator<< for Range and RangeList 2023-03-24 14:19:16 -06:00
Paul Davis
47416743fb license info: add clarification re: plugins to About dialog
Also, it's "pointer-to-const-char"
2023-03-24 14:19:16 -06:00
Paul Davis
0aea2a2ef8 tempo twisting: GUI improvements, including undo/redo logic 2023-03-24 14:19:16 -06:00
Paul Davis
393929a55b tempo twisting: various fixes and improvements to core logic 2023-03-24 14:19:16 -06:00
Paul Davis
0cf199ac48 remove another ancient binding set 2023-03-24 14:19:16 -06:00
Paul Davis
565fb90ccb remove old SAE keybindings 2023-03-24 14:19:16 -06:00
Paul Davis
10b845b1ca fix mapping begin/commit/abort logic in editor 2023-03-24 14:19:16 -06:00
Paul Davis
edca8209aa canvas: fix debug output after auto-fication 2023-03-24 14:19:16 -06:00
Paul Davis
77cefd7721 new tempo mapping drag objects (API and implementation) 2023-03-24 14:19:16 -06:00
Paul Davis
6d5273e514 tempo marker drag: change type of stored bpm 2023-03-24 14:19:16 -06:00
Paul Davis
7040ad1b74 temporal: API changes and implementation to support new twist operation
this includes using two different omega members for tempo objects,
a change that likely will not persist beyond the merge back to master.
2023-03-24 14:19:16 -06:00
Paul Davis
3036414e08 tempo: auto-fication of another loop 2023-03-24 14:19:16 -06:00
Paul Davis
37cae2f971 canvas: when an item is shown, potentially pick it as the current item 2023-03-24 14:19:16 -06:00
Paul Davis
b36a0493df tempomap: use muldiv_round() not int_div_round to avoid errors 2023-03-24 14:19:16 -06:00
Paul Davis
20349d868e fix various aspects of display of mapping cursor
This might all change in the future, or even go away.
2023-03-24 14:19:16 -06:00
Paul Davis
74225f07de nominally handle popup menu for mapping cursor item (unfinished) 2023-03-24 14:19:16 -06:00
Paul Davis
ca8127c458 add canvas item type for mapping cursor 2023-03-24 14:19:16 -06:00
Paul Davis
ab3fe29afd no need for a temporary ptr-to-tempo map 2023-03-24 14:19:16 -06:00
Paul Davis
f96a0d0ddf editor: adding handling of mid-mapping tempo redisplay 2023-03-24 14:19:16 -06:00
Paul Davis
604984ae6f enums: add new enum for MappingCursorItem type 2023-03-24 14:19:16 -06:00
Paul Davis
aa3cbd8791 editor: expand handling of tempo-redisplay in middle of drag 2023-03-24 14:19:16 -06:00
Paul Davis
ece438d73d editor: refactor snap to bbt to allow specifying non-grid-setting grid type 2023-03-24 14:19:16 -06:00
Paul Davis
49439d2acf ensure that the ask-about-quit dialog is shown at mouse-position 2023-03-24 14:19:16 -06:00
Paul Davis
868d606d16 track mouse motion in the mapping bar
This does not yet snap to BBT positions
2023-03-24 14:19:16 -06:00
Paul Davis
5e01503a56 add a new canvas-based cursor for mapping 2023-03-24 14:19:16 -06:00
Paul Davis
d61a741e4b mapping bar: some mouse handling 2023-03-24 14:19:16 -06:00
Paul Davis
e9b83e0f1d it's only debug info but let's get it right 2023-03-24 14:19:16 -06:00
Paul Davis
18249f7395 ardour has a new ruler
The mapping bar is where tempo mapping operations will take place
2023-03-24 14:19:16 -06:00
Paul Davis
38bb89c110 more functional tempo mapping
TempoMarker drag modifies tempo (and thus beat-time positions
and durations).

BBTRuler drag modifies the map but not positions/durations
2023-03-24 14:19:16 -06:00
Paul Davis
45490bf43f more functional tempo mapping 2023-03-24 14:19:16 -06:00
Paul Davis
21074b189a remove unnecessary virtual (no default value involved) 2023-03-24 14:19:15 -06:00
Paul Davis
d25a615e20 API development for time domain flipping (GUI edition) 2023-03-24 14:19:15 -06:00
Paul Davis
d513653912 API development for time domain flipping 2023-03-24 14:19:15 -06:00
Paul Davis
1cd1430975 skeleton code for global temporal domain change during tempo mapping 2023-03-24 14:19:15 -06:00
Paul Davis
5c69aef56e add memory fences to try to avoid a conceptual memory ordering issue between capture & the butler 2023-03-24 14:19:15 -06:00
Paul Davis
4137271188 int62_t: use explicit memory order for all loads and stores
Also, improve implementation of CAS loops for operator <X>=.

Ideally, we ought to test this on ARM, both before and after.
2023-03-24 14:19:15 -06:00