mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-11 16:06:25 +01:00
Mirror of Ardour Source Code
Region positions were updated in the GUI, before the playlist was catching up. The butler thread reads a region using the region's new position, but the playlist's old range. Thread 1 (GUI) ``` #22 ARDOUR::Playlist::notify_layering_changed() #26 ARDOUR::AudioPlaylist::region_changed #27 ARDOUR::Playlist::region_changed_proxy #35 ARDOUR::Region::send_change #36 ARDOUR::Region::set_position #37 RegionRippleDrag::remove_unselected_from_views #38 RegionRippleDrag::finished ``` LayeringChanged() also triggers DiskIOProcessor::playlist_modified which schedules a pending-override and summons the butler. Note that when moving only a few regions the butler starts after all updates have been completed. Butler thread: ``` #4 ARDOUR::AudioRegion::read_at #5 ARDOUR::AudioPlaylist::read #6 ARDOUR::DiskReader::audio_read #7 ARDOUR::DiskReader::overwrite_existing_audio #8 ARDOUR::DiskReader::overwrite_existing_buffers #9 ARDOUR::Track::overwrite_existing_buffers #10 ARDOUR::Session::non_realtime_overwrite ``` Region read fails: ``` libs/ardour/audioregion.cc:503 assert (position >= _position); (gdb) p position $1 = 1312000 (gdb) p _position $2 = {<PBD::PropertyTemplate<long>> = {_have_old = true, _current = 1336000, _old = 1312000} } ``` |
||
|---|---|---|
| doc | ||
| gtk2_ardour | ||
| headless | ||
| libs | ||
| luasession | ||
| msvc_extra_headers | ||
| MSVCardour3 | ||
| MSVCMixbus3 | ||
| MSVCvst_scan | ||
| nutemp | ||
| session_utils | ||
| share | ||
| tools | ||
| vst | ||
| .dir-locals.el | ||
| .gitattributes | ||
| .gitignore | ||
| ardour.1 | ||
| COPYING | ||
| instant.xml.sae | ||
| msvc32-fixup.pl | ||
| PACKAGER_README | ||
| README | ||
| README-GITHUB.txt | ||
| system_config | ||
| testfile.flac | ||
| testfile.ogg | ||
| 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