... But perhaps we are developing the means to relax even this ban safely.
For instance, why not undo a mistaken AddLabelPlaying command (Ctrl+M) without
stopping the recording?
1) When the program detects this, insert zeroes into the recording to keep the
other good parts synchronized.
2) When recording stops, a message box alerts the user, and a label track is
added showing the lost parts, labelled with consecutive numbers.
3) A menu item visible in alpha builds only is added to Tools, to simulate
recording errors at random times and test the reporting feature.
... But perhaps we are developing the means to relax even this ban safely.
For instance, why not undo a mistaken AddLabelPlaying command (Ctrl+M) without
stopping the recording?
... Being careful not to use operator == on a default-constructed
std::list::iterator, which violates assertions in the MSVC libraries.
This reverts commit 7fb5ec4b7ab4f9302bd94446db86924cd2b8d67f.
... and require qualified name access to use the underlying std::list iterators
that return shared_ptr to Track.
Which should not be done very much outside of class TrackList, but a few
places need it.
Repair work involves lots of zooming in and out, to use the repair effect on up to 128 samples.
Ctrl Mouse-Wheel zooming now will zoom to ends of selection, if available, or mouse position otherwise.
Zoom-Toggle hyphen removed and Preset2 changed.
Button tooltips tweaked to match menu entries.
Added preferences for Zoom-Toggle and put into menus.
New helper functions for determining zoom scaling.
Optional EXPERIMENTAL_ZOOM_TOGGLE_BUTTON added, and Light theme updated.
Not enabled for 2.2.2.
... because I want to make a type distinction later.
Replace calls to GetXXX() without argument, with GetTranslatedXXX() --
this reveals a subtle error, see next commit.
... Avoid small out-of-context words and phrases in translation catalog that
are then substituted into larger translated phrases with blanks.
(What if my language has declensions? How do I know the right form to use
for the phrases?)
Instead, give the translators larger in-context phrases to work with, even if
that requires replications of phrases with small variations.
... and similar wx "variadics," which all treat wxString smartly enough that
you don't need this.
Don't need c_str either to convert wxString to const wxChar * because
wxString has a conversion operator that does the same.
- 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.