Commit Graph

37263 Commits

Author SHA1 Message Date
John Emmas c771eccd0e 'Temporal::DomainSwapInformation' needs to be exportable 2023-03-25 12:29:17 +00:00
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