ModuleInterface::GetFileExtensions() returns const reference...
... avoiding repeated array allocation
View ArticleDefine class Identifier and template TaggedIdentifier...
... Identifier holds strings used for internal purposes and not shown to users; TaggedIdentifier generates subclasses of Identifier for different purposes, which won't implicitly (that is,...
View ArticleChange CommandManager terminology: "Numeric id" not just "Id" ...
... because I will use CommandId for string identifiers instead, and those are the really persistent identification
View ArticleRemove redundant #include-s from .h files...
Redundant, because transitively implied. But don't do this for inclusions of Audacity.h or Experimental.h.
View ArticleRemove unnecessary #include-s from .cpp files...
... 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.
View ArticleKeyboard prefs accessibility: Narrator can misread the radio buttons.
Problem. If an item in the list is selected, then if a different view by radio button is selected, Narrator reads the selected item rather than the radio button. KeyViewAx::SetCurrentLine(int line)...
View ArticleTrackpanel accessibility: incorrect focus can be read
Problem: If the initial focus is a control in a toolbar, then after applying an effect such as amplify, then the focus is read as being a track, not the control in the toolbar....
View Article