I had a microphone logo instead of Audacity headphones, but (a) it did not work so well in small sizes and (b) it lost some of the connection with Audacity, so I re-instated a more Audacity like headphones logo. The microphone can still be seen on the splash screen of the installer. I decided not to give the logo a white surround. The result is that on a dark windows toolbar it can almost disappear into the background, but becomes visible when you hover.
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.
Also emphasise 'Audacity Manual' in the help menu.
With this change I'm being careful to make sure it's clear that the manual is for Audacity rather than for DarkAudacity. For the time being DarkAudacity is for people who know Audacity already and want to try the dark theme. Because of that, it is enough to highlight the differences between Audacity and DarkAudacity and link to the existing Audacity manual. If the differences continue to grow over time wit future editions, then I will need the promised 'Video Tutorials'. So I link to the page for them now. That page will have their up to date status information.
Turn of Theming page.
Remove Check for Updates.
Make it clearer it is Audacity Manual we are directing people to.
Output Theme is for DarkAudacity.
Grabber hack (to hide number fragments) for DarkAudacity too.
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.