Re: [Audacity-quality] Menu items that changed enabling flags since 2.1.3
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Paul L. <pau...@gm...> - 2017-08-23 14:48:09
|
On Wed, Aug 23, 2017 at 8:47 AM, David Bailes <drb...@gm...> wrote: > Paul, are you intending to make your changes to the flags soon. It's just > that I'm concerned about users of screen readers using the Windows nightly > and being caught out by the bug which you found with cursor left/right. > Could the flags for these two commands be changed soon? I'm quite happy to > do it if you're busy, > > thanks, > David. > Thanks, David, but I still want to do this and fix more than those two. PRL > > On 20 August 2017 at 19:07, Paul Licameli <pau...@gm...> wrote: > >> As I promised, one thing I wanted to do, is identify every menu command >> with defaulted flags, that changed its conditions for enablement between >> 2.1.3 and 2.2.0. I seriously diagreed with James' willingness to ignore >> all this, which seemed too careless a course. >> >> This is still NOT an exhaustive examination of all commands! >> >> As James may agree, this defaulting is a dangerous convenience that lets >> you write less code but makes the flags dependent on context, so they >> change with unwary cutting and pasting of code, as happened too much here, >> I am afraid. (Expect me to reform much of this menu stuff in the next >> version, and also to chisel up Menus.cpp which is just too huge a file.) >> >> Here is the list, and the resolutions I think right. First some notes: >> >> - The | bar means, all of the connected conditions are required. >> - CanStopAudioStreamFlag means there is no playback or recording, or >> there is but the current project owns it, not some other main window, and >> it was introduced to fix http://bugzilla.audacityteam.o >> rg/show_bug.cgi?id=814. >> - AudioIONotBusyFlag does not imply CanStopAudioStreamFlag, because >> the former considers only streams associated with one project, not the >> global state. >> - Some things are permitted during playback which also make Undo >> items (for instance, Pan and Gain adjustment, which are also accessible >> with mouse actions, and also from Mixer Board). These ought not to be >> allowed, or at least ought not to make Undo items, during recording which >> also makes Undo items. That motivates some of my comments. I have very >> lately discovered some other bugs here, going beyond the question of >> enabled menu items, which I won't fix for Beta, but might do something >> about before RCs. >> - Cursor and selection changes, expand, collapse, Mute, Solo, etc. >> don't push Undo items so should be harmless even in record. >> >> >> Was AudioIONotBusyFlag, is AlwaysEnabledFlag >> Resolution: Restore. These should not be permitted to make an Undo item >> or change the set of BlockFiles on disk, if there is also concurrent >> recording changing the state of the project. >> "Chec&k Dependencies..." >> "Edit Me&tadata Tags..." >> >> Was TracksSelectedFlag, become AudioIONotBusyFlag | >> CanStopAudioStreamFlag after DA merge, >> Partly fixed but incorrectly at commit f0702fb54b64 by David Bailes, >> which restored only two commands, and not to TracksSelectedFlag but to >> AlwaysEnabledFlag >> Resolution: restore TracksSelectedFlag for all >> "to Selection Star&t" >> "to Selection En&d" >> "to Track &Start" "J" >> "to Track &End" "K" >> >> Same callback function registered in two places under different (internal >> and external) names and flags: >> "Pl&ay/Stop", "Space", CanStopAudioStreamFlag in the Play sub-menu of >> Transport menu; >> "Play", no key, WaveTracksExistFlag | AudioIONotBusyFlag in the >> Transport sub-menu of Ext-Bar >> Resolution: Leave be. The same routine, which can either start or stop, >> does both for space bar, but is restricted to start only somewhere else. >> Okay. >> >> Occurs in two places with the same (internal an external) names, but >> inconsistent flags: >> explicit CanStopAudioStreamFlag in the Play sub-menu of the Transport >> menu, implied default AudioIONotBusyFlag | CanStopAudioStreamFlag in the >> Record sub-menu of Transport >> In fact, both entries are registered under one internal key string, and >> therefore the prior explicit setting prevails in both places. >> Resolution: comment what I just said, in the code, rather than introduce >> a duplication of the explicit flags >> "&Pause" "P" >> >> Was AudioIONotBusyFlag | CanStopAudioStreamFlag, is AudioIONotBusyFlag >> Resolution: restore the more restrictive condition. (Really more >> restrictive, see comments above) >> "&Overdub (on/off)" >> "So&ftware Playthrough (on/off)" >> "Sound A&ctivated Recording (on/off)" >> "Sound Activation Le&vel..." >> "A&utomated Recording Level Adjustment (on/off)" >> "R&escan Audio Devices" >> >> Was AudioIONotBusyFlag, is AudioIONotBusyFlag | TimeSelectedFlag | >> TracksSelectedFlag >> Resolution: restore the more permissive old condition. The editing >> dialog has no dependency on selection. But still disallow this editing >> during recording. >> "&Edit Labels..." >> >> Was TracksExistFlag | TrackPanelHasFocus, is TracksExistFlag >> Resolution: Restore the restrictive old condition, at least for Left and >> Right. Because: I observe that I can navigate so that a slider, such as >> playback volume, has focus. Then the left and right cursor keys adjust the >> slider if there are no tracks, but adjust the cursor if there are tracks! >> That seems wrong. >> Might as well change all of them to be consistent. >> "Cursor Left" "Left\twantKeyup\tallowDup" >> "Cursor Right" "Right\twantKeyup\tallowDup" >> "Cursor Short Jump Left" "," >> "Cursor Short Jump Right" "." >> "Cursor Long Jump Left" "Shift+," >> "Cursor Long Jump Right" "Shift+." >> >> Was TracksExistFlag | TrackPanelHasFocus, is AlwaysEnabledFlag >> Resolution: As above, at least where Left and Right keys are involved; >> might as well to for all. >> "Selection Extend Left" "Shift+Left\twantKeyup\tallowDup" >> "Selection Extend Right" "Shift+Right\twantKeyup\tallowDup" >> "Set (or Extend) Left Selection" >> "Set (or Extend) Right Selection" >> "Selection Contract Left" "Ctrl+Shift+Right\twantKeyup" >> "Selection Contract Right" "Ctrl+Shift+Left\twantKeyup" >> "Open menu on focused track" "Shift+M\tskipKeydown" >> "Mute/Unmute focused track" "Shift+U" >> "Solo/Unsolo focused track" "Shift+S" >> >> >> For these also: Was TracksExistFlag | TrackPanelHasFocus, is >> AlwaysEnabledFlag >> BUT: these can make Undo items too! >> These never did have a flag for for recording in progress, even in 2.1.3, >> though the callback functions test for that in the important case of >> closing. >> Resolution: make it AudioIONotBusyFlag | TrackPanelHasFocus >> "Change pan on focused track" "Shift+P" >> "Pan left on focused track" "Alt+Shift+Left" >> "Pan right on focused track" "Alt+Shift+Right" >> "Change gain on focused track" "Shift+G" >> "Increase gain on focused track" "Alt+Shift+Up" >> "Decrease gain on focused track" "Alt+Shift+Down" >> "Close focused track" "Shift+C" >> "Move focused track up" >> "Move focused track down" >> "Move focused track to top" >> "Move focused track to bottom" >> >> Except maybe Shift+C, which should be more restricted? (That callback >> checks and does nothing during transport, but perhaps the menu item should >> just be grey then. This missing restriction is an inherited problem from >> 2.1.3, in which the command was only in Keyboard preferences and not yet in >> any ext-menu.) >> >> Was AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag, is >> AudioIONotBusyFlag | TimeSelectedFlag | TracksSelectedFlag >> Resolution: stet. Makes sense for non-wave tracks too. >> "Split D&elete" "Ctrl+Alt+K" >> >> Was AudioIOBusyFlag, is same, but should also restrict by >> CanStopAudioStreamFlag to make Bug 814 fix more complete >> "Sto&p" >> >> New Pan sub-menu of Tracks, AudioIONotBusyFlag >> Resolution: leave be; future, permit during play but not record >> "&Left" >> "&Right" >> "&Center" >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> Audacity-quality mailing list >> Aud...@li... >> https://lists.sourceforge.net/lists/listinfo/audacity-quality >> >> > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Audacity-quality mailing list > Aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-quality > > |