This was to work around a bug in MSVC that reports a
bogus warning MSB8012, caused by using an upgraded project.
I also in the process fixed the release build, which was building as debug earlier.
Alerted to this buggy code by Darrell Walisser's comment:
"Whoops, the range on the 64-bit signed integer check is incorrect."
After these fixes, I saw that IsGoodInt was being used to test a dotted
version number, so I commented out that (bogus) test which was previously
always succeeding.
The IsGood{num} functions did no range checking if the numbers were shorter
than the max value. Then, if the number was similar in length, the first digit could
be an invalid character and the code also previously accepted all 9's followed by 1.
My new code would benefit from code review and unit tests.
... Don't define the TrackPanelCell to be narrower. Instead, change its
hit-test routine, and only if it is a Wave track.
Previous implementation had the unintended consequence, that a click in the
area excluded from vertical zooming was treated as a click on the background
outside of all tracks, causing de-selection of all tracks.
Previously hovering over a down button made no difference.
Also tweaked the appearance of hover-over thumbs on dark theme sliders.
Also tweaked hover images and colours generally.
Classic retains the old style.
Hi Contrast does not distinguish between hover-up and hover-down.
VZooming remains on by default in Audacity itself.
Also kGuard (the gurard zone in the VRuler) reduced from 8 pixels to 5pixels
following feedback from Steve.
Problem:
1. If a toolbar is docked and hidden, when config is written, dock is set to 0 (undocked).
2. When config is read, if a toolbar is docked, then the show field is ignored, and the toolbar is always shown.
Summary of fix:
1. Introduce a new version of the dock field (DockV2) to minimise the problems when running previous versions of Audacity, having run a version with this patch(as suggested by Paul).
2. In ToolManage::WriteConfig, for a docked toolbar which is hidden, DockV2 is set to the dock number, and not 0.
3. In ToolManager::ReadConfig, for a hidden docked toolbar in the config, the toolbar is docked, but is not included in the configuration.
Note, that if a version of Audacity without this fix is run after running a version with this fix:
1. The dock of each toolbar is reset to its default value.
2. In addition, for 2.1.3, 2.2.0 and 2.2.1 whether a toolbar is shown or hidden is reset to its default value.
1: Guard zone 8 pixels wide in VRuler to reduce risk of accidental use.
2: VerticalZooming preference, for VRuler zooming, off by default,
3: Enabled Paul's right-click menu in VRuler with some extra
presets (x2 and x0.5)
4: Rearranged some messy code with lots of ifs to use a switch.
Also, with EXPERIMENTAL_HALF_WAVE defined we now get a
'half wave' option in the VRuler menu, that shows the wave top half.
We also use it in collapsed waves (and collapsing and restoring
a WaveTrack will get you back to normal zoom.
- Dead code from experiments in SelectionBar removed.
- Many warnings about unused parameters fixed with WXUNUSED()
- Many warnings about signed / unsigned comparisons cleaned up.
- Several 'local variable declared but not used' warnings fixed.
The toggle to switch the extra menu(s) on or off still says 'menus' (plural). Decided not to change it as the submenus count as 'menus'. Also we may later add extra menus to the track drop down and in other places.