mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-18 19:36:00 +01:00
Mirror of Ardour Source Code
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