Robin Gareus
1a49d7d42b
AudioRegionView() c'tor calls create_waves() early on before the _height is set [1]. Now one following can happen: 1. All peak-files are present. create_waves() directly calls create_one_wave() for each channel. They are initialized with zero height. But all channels are present so waves[] is populated and a later call to set_height() corrects this 2. All peak-files are still missing. create_waves() schedules callbacks via PeaksReady -> peaks_ready_handler() Those callbacks arrive after set_height() was called and the waveforms are displayed correctly. 3. Only some peak-files are present. This can happen at rec-stop when the region is created. create_waves() directly calls create_one_wave() for available peaks, and schedules peaks_ready_handler() for the remainder. The directly created waves have zero-height. Since not all waves are ready, they are stored in tmp_waves. waves[] remains unpopulated. The set_height() call only ever changed the height of wave[], which resulted in hidden waveforms, until a user manually changed the height of the track. [1] the height is set from ``` #1 AudioStreamView::create_region_view(boost::shared_ptr<ARDOUR::Region>, bool, bool) #2 AudioStreamView::add_region_view_internal(boost::shared_ptr<ARDOUR::Region>, bool, bool) #3 StreamView::add_region_view(boost::weak_ptr<ARDOUR::Region>) ... ## PBD::Signal1 Playlist::RegionAdded() ``` |
||
---|---|---|
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 http://ardour.org/ for all documentation.. For information on building ardour: http://ardour.org/development.html