mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-30 18:37:40 +01:00
Mirror of Ardour Source Code
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 |
||
|---|---|---|
| doc | ||
| gtk2_ardour | ||
| headless | ||
| libs | ||
| luasession | ||
| msvc_extra_headers | ||
| MSVCardour3 | ||
| MSVCMixbus3 | ||
| MSVCvst_scan | ||
| session_utils | ||
| share | ||
| tools | ||
| .dir-locals.el | ||
| .gitattributes | ||
| .gitignore | ||
| ardour.1 | ||
| COPYING | ||
| nutempo-todo | ||
| PACKAGER_README | ||
| README | ||
| README-GITHUB.txt | ||
| system_config | ||
| TRANSLATORS | ||
| waf | ||
| wscript | ||
Please see the Ardour web site at https://ardour.org/ for all documentation..
For information on building ardour:
https://ardour.org/development.html