Commit graph

37143 commits

Author SHA1 Message Date
Robin Gareus
a3a30e39df
Fix silent stem export channels (#9294)
When toggling a channel-configs the following happens:

 1. TrackExportChannelSelector::update_config
 2. ExportProfileManager::clear_channel_configs
 3. RouteExportChannel::create_from_route
[...] CriticalSelectionChanged
 4. ExportDialog::update_warnings_and_example_filename
 5. ARDOUR::ExportProfileManager::get_warnings
 6. ARDOUR::ExportProfileManager::build_filenames
 7. ARDOUR::ExportFilename::set_channel_config
[...]


Step 3 creates a RouteExportChannel, Step 7 retains a
shared-pointer to it in the config's ExportFilenamePtr.
When toggling another channel: step 2 release the reference
and step 3 creates a new RouteExportChannel.
This new channel reuses the existing Route::_capture_processor (!).

Now Step 7 releases the first RouteExportChannel in order
to get_warnings for the new one. Since ExportFilenamePtr holds the
the last reference, the d'tor of RouteExportChannel runs,
which removes the capture-processor from the route.

The newly created RouteExportChannel now has a reference
to a CaptureProcessor that is not in the signal-flow.


Note: the order of adding/removing RouteExportChannel matters.
With a two track session:
 * Disable "with track/bus processing
 * Enable Track 1
 * Enable Track 2
 * Disable Track 1
 * Enable Track 1 // << Track 2 becomes silent
2023-04-03 15:53:50 +02:00
Robin Gareus
9b23587886
Add missing processor-locks to iterate over processors 2023-04-03 15:17:12 +02:00
Robin Gareus
b03358615c
NO-OP: whitespace (re-align after boost:: -> std::) 2023-04-03 00:17:37 +02:00
Robin Gareus
4ba1ccc09b
NO-OP: use Tab to indent 2023-04-01 17:21:32 +02:00
Robin Gareus
a6401763a3
Fix interpolation when iterating over sequence (#9288)
When a control-point is exactly at tick (N * 8), iterating
over the List (Sequence<Time>::const_iterator::operator++)
skipped the point.

Sequence::time_between_interpolated_controller_outputs == 8.
2023-04-01 17:21:04 +02:00
Robin Gareus
a0286f2e6f Expose cut-copy-section in the editor
This is still a bit of an experiment, there may need to be a dedicated
ruler for sections, or a side-bar that allows arranging.
2023-03-31 23:13:20 +02:00
Robin Gareus
91c0f143ec Set sensitvity of "Insert Selected Region" 2023-03-31 22:06:41 +02:00
Robin Gareus
c362a5af8f
Allow compilation with MSVC and sigc++ 2.3 (revert this at some point)
libsigc++ before 2.5.1 could not determine the return type
of a value unless SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE
was specified.
2023-03-31 18:12:10 +02:00
Robin Gareus
4d940ce5a2
Fix shuttle info sizing text 2023-03-31 18:07:02 +02:00
Robin Gareus
c11f62fd51
Fix VCA button event propagation
This prevents double-click on the VCA spill button from
to showing the add route dialog.
2023-03-30 19:04:36 +02:00
Paul Davis
9e0c1ff510 Revert "canvas: when an item is shown, potentially pick it as the current item"
This reverts commit 37cae2f971.

This changes causes issues with recursive calls to the enter/leave event handling
stacks in gtk2_adour. Semantically, the change makes perfect sense, but finding
a solution to the recursion is challenging.
2023-03-30 09:54:56 -06:00
Robin Gareus
151fceea54
Add missing include
This fixes "error: ‘isfinite’ was not declared in this scope"
2023-03-30 01:10:23 +02:00
Robin Gareus
32be8aa96a
Fix veclib_find_peaks interface
vDSP_maxv, vDSP_minv set the return value to -INFINITY
or INFINITY respectively before starting to process.

Ardour expect the value to be input values to be part of the set.

https://developer.apple.com/documentation/accelerate/1450621-vdsp_maxv?language=objc
https://developer.apple.com/documentation/accelerate/1450267-vdsp_minv?language=objc
2023-03-30 01:04:40 +02:00
Robin Gareus
ef7b7f4c89
Fix timecnt_t less-than-equal operator 2023-03-30 00:37:23 +02:00
Robin Gareus
8c2454238e
Remove explicit well-known ctrl enum string functions
This is better provided by Plugin::print_parameter, which
is called by PluginControl::get_user_string(). This removes
special cases for the mode enums.
2023-03-29 17:32:22 +02:00
Robin Gareus
c1d6456d58
FP8: fix duplicate makeup control 2023-03-29 16:39:32 +02:00
Robin Gareus
3a6e3c2c13
Add audition volume control to clip-picker 2023-03-29 01:48:25 +02:00
Robin Gareus
7ecbdd27a9
hide invisible plugin-control properties in generic ctrl UI 2023-03-29 01:08:36 +02:00
Alexandre Prokoudine
f2a07e711d Fix the incorrectly generated Korean translation 2023-03-28 02:42:33 +02:00
Edgar Aichinger
3f209c2ab4 update german translation 2023-03-28 01:44:49 +02:00
Alexandre Prokoudine
9725685416 Fix metadata in the Catalan translation 2023-03-28 01:42:20 +02:00
Xavi Ivars
3d360b9ea1 gtkmm2ext Catalan file 2023-03-28 01:39:54 +02:00
Xavi Ivars
a3d6b16e5c gtk2_ardour appdata Catalan po 2023-03-28 01:39:36 +02:00
Robin Gareus
886d7b9069
FP8: update for Mixbus v9
* add expander/gate
* show/hide mixer-strip controls
* add plugin-presets for channelstrip (if any)
2023-03-28 00:32:02 +02:00
Robin Gareus
9ef6ee21de
FP8: show value as formatted by the plugin 2023-03-28 00:31:45 +02:00
Paul Davis
fe6beee68e further steps towards correct (or more usable) MClk output 2023-03-26 22:30:30 -06:00
Robin Gareus
1dce50e787
Fix another CAS (amend 4ba4cd69ff) 2023-03-26 22:16:47 +02:00
Robin Gareus
e36938f305
Fix peak-meter atomics (amend 4ba4cd69ff) 2023-03-26 20:37:25 +02:00
Robin Gareus
bc9ac3bdb4
Fix building linux-demo bundle 2023-03-25 20:24:31 +01:00
Robin Gareus
305606ed24
Document export-graph signal flow 2023-03-25 18:24:06 +01:00
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