Caused by optimisation of NumericTextCtrl::ValueToControls(). It now only updates on a change, and because mValueStr was being updated without calling value to controls, the string was not being identified as having changed.
* sampleCount:
Remove unnecessary casts to sampleCount
Type agnosticism for some other variables that were not sampleCount...
Remove many mentions of sampleCount with auto and decltype...
Use sf_count_t not sampleCount
some uses of size_t
Use long long for argument passed to wxString::ToLongLong
More cautions in SBSMSEffect.cpp...
... This makes much code agnostic about how other things (functions and
arguments) are typed.
Many of these neeed to become size_t instead of sampleCount.
These changes fix a broken build in Windows.
#include <algorithm> needed for min/max to be in std.
decltype(+name) was declaring a const variable, that could not be incremented. Changed to auto.
Uniform init in blockfile ctors (prevents implicit narrowings)
spaces
change a variable name
Don't use conversion of sampleCount to bool
Add explicit cast to sampleCount where negative values are possible
use std::min and std::max
an assertion
LadspaEffect::mSampleRate has type double, like other plug-in effects
I added a new flag, HasWaveDataFlag that checks not only for the presence of a WaveTrack but also for audio actually in it. This is now applied to the Scrub and Seek menu items, with the result that they grey out in the menu, and their buttons are dulled on the toolbar, if there is no audio.
This also makes it clearer in the code when we are dealing with a Toolbar ID (for the scrubbing toolbar) and when we are dealing with a button ID (for enabling/disabling the scrub ruler).
... I believe this list of four places is exhaustive.
There are many, many more safe narrowings that I examined.
This resulted from changing the definition of sampleCount in my builds so that
narrowing conversions failed to compile without some fixes, and I examined and
fixed every place.
The rest of that work is not yet shared.
Stream time from the scrubbing audio (which had not started) was coming out as a large negative value. That in turn led to an out of range selection starting and ending at that value. Negative stream times now treated as zero when stopping audio. This does mean that the (fringe) case of stop and set cursor with audio playing to the left of zero, if you are able to do that, will likely set the cursor at zero rather than at the negative time end point. I think that is probably OK, even good.
Fix bug in update of progress in CompareAudioCommand
EffectClientInterface::SetSampleRate takes double...
Rewrite WaveTrack::GetEnvelopeValues, taking one less argument...
Write and read the wide aliasStart fields carefully...
Rewrite Sequence::FindBlock using size_t variables for indices
Remove overloads for sampleCount from ConfigInterface...
A mutex guarding access to this variable made volatile unnecessary
time warper bug
Fix bug in disabled experimental code...