Commit Graph

37263 Commits

Author SHA1 Message Date
Robin Gareus 4b1d5d9b63
Resolve boost/std unique_ptr issue 2023-04-08 13:31:50 +02:00
Damien Zammit a27a88f9f2 import_pt: Update session range to largest audio extents imported
Tested before and after on a small audio-only PT8 session;
session range gets set to [0 to max] extent with this change.
2023-04-08 18:35:26 +10:00
Robin Gareus 295dbd8e1e
Make RCU reader return a const pointer (omnibus commit) 2023-04-08 00:15:37 +02:00
Paul Davis e9f71824a1 temporal: change API for TempoMap::stretch_tempo()
This will likely be modified because it is actually impossible to do
what this code is attempting to do.
2023-04-07 12:56:57 -06:00
Paul Davis 57398b1e5e tempo mappoing: use actual mouse cursors not canvas item cursors
Also some changes to attempt to do "half-twist" that will be removed soon.
2023-04-07 12:56:57 -06:00
Robin Gareus f3e13848fa
Do not modify read-only RCU copy of routelist
RCU reader returns a shared ptr to the current object which
can also be used in other places at the same time.

Sorting the shared-ptr list invalidates iterators which can
throw off other users of the same object.

This fixes a bug in PT-import which calls get_nth_audio_track().
2023-04-07 19:37:30 +02:00
Robin Gareus 979f9876a7
VST3: skip redundant parameter-changes
This reduces initial parameter-changes during session-load
due to Controllable (PluginControl) state restore after
restoring the plugin state. This likely fixes #9287
2023-04-07 00:23:39 +02:00
Ben Loftis 2713c40b7d extend midi-controllable params with new well-known-controls 2023-04-06 14:52:09 -05:00
Robin Gareus f57a9d84df
Do not incrementally ripple during cut/delete #9295
When cutting multiple regions with Ripple-ALL, removing
the first region ripples the remaining tracks which includes
selected regions on those tracks which are to be cut later.
2023-04-06 02:18:42 +02:00
Robin Gareus dd542b8f4d
Use ARDOUR::PlaylistSet instead of local typedefs 2023-04-06 02:13:51 +02:00
Robin Gareus 8b59bf47df
Add a dedicated PlaylistSet type
This is to consolidate various locations that use
`typedef std::set<std::shared_ptr<Playlist>>`
throughout the codebase.
2023-04-06 02:12:32 +02:00
Robin Gareus 0b8d5d3dc5
Tweak Window system-exec, wait for process to terminate 2023-04-05 00:16:37 +02:00
Robin Gareus d09c049fee
Clarify plugin scan log message 2023-04-05 00:16:37 +02:00
Robin Gareus d9c35199cc CoreAudio: Update latency when buffesize changes 2023-04-04 19:26:17 +02:00
Robin Gareus 112bf87436
VST3 scan, do not clutter up Log
This prevents excessive "Cache file is valid and up-to-date."
messages in the log window. - Plugin manager has verbose log.
2023-04-04 15:44:21 +02:00
Robin Gareus 850cf3e035
Add vst3/win debug messages to investigate #9273 2023-04-04 14:00:46 +02:00
Robin Gareus 7302aefbee
Guard set_transient_for for NULL windows
While there should always be a top-level, backtraces
provided by some [windows] users show that it can be NULL
in some scenarios.
2023-04-04 01:38:33 +02:00
Robin Gareus 29c6817599
Check that export-channel is not empty 2023-04-04 01:35:27 +02:00
Robin Gareus 473f575a05
Catch Glib::ConvertError when checking for files
This fixes some edge-cases when scanning recent sessions
in get_state_files_in_directory() and likely some other
places that use run_functor_for_paths in case the folder
contains files with non UTF-8 names.
2023-04-03 22:10:11 +02:00
Robin Gareus 2c4d1e011c
CaptureProcessor should not be reused
This lead to potentially silent stem-exports. It
should not be possible to hold a shared-ptr reference
of a processor that is not part of the processor chain.
2023-04-03 16:01:24 +02:00
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