... Unnecessary because transitively included.
But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
... for wxString and wxArrayStringEx, holding file paths (absolute or relative,
directory or plain file); to be replaced later with different types
(not yet using std::vector, becase of some uses of wxArrayString::Index with
two arguments)
... for wxString and wxArrayStringEx, holding file extensions (without dot);
to be replaced later with different types
(not yet using std::vector, becase of some uses of wxArrayString::Index with
two arguments)
And simplify some constructions of arrays
... Replacing:
Insert => insert
RemoveAt => erase
Remove => erase
IsSameAs => operator == or operator !=
(but only when second argument was true or default)
... instead use the utility make_iterator_range and its index() or contains()
method. This generic utility works with any container defining begin() and
end().
This further lessens dependency on wxWidgets container idioms.
... which will make it easier to change the types of those containers to
std::vectors of other string-like classes
for wxString,
IsEmpty => empty
Clear => clear
Alloc => reserve
for wxArrayString,
Count => size
GetCount => size
IsEmpty => empty
Add => push_back
Clear => clear
Empty => clear
Sort => std::sort (only with default comparator)
SetCount => resize
Last => back
Item => operator []
Alloc => reserve
Windows: Macros - "ExportMP3 before" and "ExportMP3 after" overwrite
causing non-critical data loss.
Thanks to Mike Barker for locating the problem.
This fix also corrects the bit-rate for the ExportMP3_56k commands.
... This forces a better placement of state variables in the appropriate
classes.
In future perhaps, MenuManager should be splintered into several classes, one
for each of the main toolbar menus.
This restores the 2.2.2 behaviour, with a subdirectory called 'cleaned'. The problem was that 2.2.2 used special cases for MP3 Ogg and WAV exports, which were stripped out in favour of using the built-in Export command. However, the differences in behaviour (prompting) between batch and non batch mode were not taken into account.
... Copy old Chains files to Macros, once only per session, never overwriting.
Leave old files in place in case the user downgrades their Audacity.
When removing a Macro, remove also any like-named legacy chain.
... If you only ever use one Audacity locale, then the two persistent macro
files will be created with appropriately translated names.
If you ever do use more than one locale and open Macros... , then
you will get duplicate files differing only by translation of the name.
Nothing causes an automatic purge of the macros in the non-current language.