[audacity4blind] Re: JAWS Script for Audacity 2.0RC, Guinea Pigs Wanted

  • From: David Bailes <david_bailes@xxxxxxxxxxx>
  • To: "audacity4blind@xxxxxxxxxxxxx" <audacity4blind@xxxxxxxxxxxxx>
  • Date: Fri, 25 Jan 2013 13:25:18 +0000 (GMT)

Hi Gary,
just to point out that Jaws not reading the controls in the warning dialog when 
importing uncompressed audio files has been fixed in the Audacity code. I think 
it was fixed in 2.0.2. So it can be removed from the script.

David.


________________________________
From: Gary Campbell <campg2003@xxxxxxxxx>
To: audacity4blind@xxxxxxxxxxxxx 
Sent: Thursday, 24 January 2013, 22:01
Subject: [audacity4blind] JAWS Script for Audacity 2.0RC, Guinea Pigs Wanted



Hello,

Dang Manh Cuong and I have made many changes to the Audacity scripts
for JAWS.  Now, we need your feedback.  Although we think this version is quite
stable, we are releasing it as a beta/release candidate.  You should be aware
that this version, particularly the installer, has not been tested with many
different system configurations.  I develop with JAWS 10.0 on a desktop 2.8GHz
Pentium D machine with  1.49GB RAM running Windows XP SP3, and Cuong uses JAWS
13 on a laptop running Windows 7.  

I have not used Audacity for much other than testing the script, which
is not a good way of thoroughly testing a piece of software!  I think Cuong has
used Audacity more than I have, but still different people do things
differently which may uncover defects.  Also, an installer is a tricky piece of
software.

One of my concerns is that we have added a lot of messages to assist
beginning users that may get in the way of experienced users.  I would like to
know if experienced users find particular messages annoying.  I would also like
to hear from beginning users who find messages not helpful.  

The code that detects the program state (playing, stopped, paused, or
recording) uses MSAA to get the pressed state of toolbar buttons.  We had a lot
of problems with this feature on Cuong's laptop.  We think it's fixed, but if
you find that messages are being spoken when Audacity is playing that you think
should only speak when stopped, try pressing JAWSKey+numpadDEL and verify that
the correct status is spoken.  If you do find a problem with this, please send
us your machine configuration and symptoms and I may send you a debug version
of the script to test if you would be willing to help.

Please download the new installer from 
https://dl.dropbox.com/u/47990492/Jaws%20Script%20for%20Audacity.exe.


To install: 
Place the installer in a folder on your machine.
Run it to install the files.  It also allows you to choose which JAWS
versions to install into and whether to install for the current user or all
users.  If you choose the full install type, you will be able to remove it via
Add or Remove Programs, and it will make a folder in your Program Files folder
to store the uninstaller.  If you choose the Just Scripts install type, it will
not be removable from Add or Remove Programs, and it will not create a folder
in your Program Files folder or any registry entries.  
If you choose the Just Scripts install type, the README and What's New
files will be installed in the JAWS scripts folder for each version, and What's
new.txt will be called audacity_whatsnew.txt.  
The installer will compile the script package in each JAWS version.
If you want to modify the installer, or are just curious how it works,
you can install the installer source by selecting the Custom install type and
choosing the Install Installer source component.

If the installer detects a full install of the scripts, it offers to
uninstall it.  If it detects script files for Audacity, it warns that it will
overwrite them.

Try it out and let us know what you think.

Gary Campbell campg2003@xxxxxxxxx and
Dang Manh Cuong <dangmanhcuong@xxxxxxxxx>

P.S.: As I am about to send this message I see that there is a new version
of Audacity!  Obviously, I haven’t tested the scripts with it J.

Below is the description of the changes since version 1.2 of the
scripts.  

. Adjust JAWS Options (JAWSKey+v) now contains a section for Audacity
options.  It currently contains two options: Announce Messages, which
duplicates the CTRL+` key, and Announce Toolbars, which controls the
announcement of the toolbar name when focus moves from one toolbar to another. 
There is support for the older AdjustJawsVerbosity script, but it has not been
tested.
. Added JAWSKey+v to the jkm file so that options will appear on JAWS
13, which has a new options facility.
. Fixed speaking of position fields.  Previously, .012s was spoken as
12s.  Now speaks time fields containing two zeros as one 0, so 01h00m00.015s is
spoken as 1h0m0.015s.  This is not yet done for formats such as
##h##m##s+##frames.  The "days" format is now supported.  The code
for this function has been rewritten to use more message constants, so it
hopefully will be localizable.
. The extension of the Audacity script settings file has changed from
.Ini to .jsi to conform to the JAWS scripting convention.  You can rename your
existing audacity.Ini file to audacity.jsi and it should work.  
. In the settings file changed key announce to announceMessage.  Script
ResetConfig now deletes the old (announce) key if it exists.
. JAWS no longer says "track table" when moving between
tracks.
. JAWS speaks main window areas: Toolbars, Track Panel, and Selection
Bar, as focus moves between them.
. JAWS speaks the toolbar name when focus moves from one toolbar to
another.
. When focus is in the toolbars pressing CTRL+TAB and Shift+CTRL+TAB
move to the first control on the next toolbar and the last control on the
previous toolbar, respectively.
. JAWSKey+Delete speaks the current program state: stop, play, play
pause, record, or record pause.
. left/right arrow keys Speak cursor position when Audacity is stopped.
. Keystrokes that extend or contract the selection speak the new
position when Focus is in the track panel.
. Functions that use values from the selection bar now speak a message
or silently omit the action requiring the value if the selection bar is not
enabled.
. Track gain and pan controls now only function when the PC cursor is
active.  Otherwise they execute their default mouse movement functions.
. HandleCustomWindows now calls HandleCustomWindows so that this
function in scripts "use"d by this script will be executed.
. In many VST plug-ins, keystrokes move focus to the Presets control
and activate Save/Load Presets.  Hotkey help is available for these keys in
these dialogs.
. In many plug-in dialogs control names and values are now spoken.  Use
JAWSKey+TAB to repeat the current control name/value.
. Added script SayJump and key assignments that bind it to comma,
period, Shift+comma, and Shift+period.
. Added SelectAll announcement.
. JAWS now indicates when no project is open (no tracks in track panel)
for many operations.
. JAWS now speaks an alert message when performing an operation which
requires that the current track be selected but it is not.  Added this
funtionality to the folowing scripts: JAWSDelete, DeleteSelectedAudio,
MoveToStartOfSelectedTracks, SelectToBeginning, SelectToEnd, copy, and cut.
. Scripts CloseFocusTrack, DeleteSelectedAudio, JAWSHome, JAWSEnd,
Copy, and Cut speak an error message indicating that they are not valid when
Audacity is not stopped.
. The CTRL+JAWSKey+v keystroke now performs its default function, and
then speaks the current Audacity script version.  When pressed twice quickly,
it displays this information in the virtual viewer.
. The following now pass keys to the app when in a dialog or menu:
scripts MoveToStartOfSelectedTracks, MoveToEndOfSelectedTracks,
SelectToBeginning, SelectToEnd, SaySelectionStart, SaySelectionEnd,
SayAudacityState, DeleteSelectedAudio, JAWSDelete, and Copy, and Functions
SaySelectionPosition, and SayNoTrackSelected.
. Changed the conditions for not executing the default script in
Start/FinishMarkerLeft/Right and made them perform their default scripts
instead of silently sending their keys through.
. [ and ] can now be used in file name dialogs.
. Function AnnounceMessage now returns in open dialogs.
. JAWS now correctly speaks controls in the warning dialog shown when
importing uncompressed Audio files.  This is done by new function
IsWarningDialog and changes to function HandleCustomWindows and script
SayLine.  Removed old implementation in script AudacitySayFrame because it
works on Cuong's PC only.
. In the Edit Chains dialog F6 toggles between the Chains and Chain
list views.  If the focus is not on the Chains list view, the key moves focus
to the Chains list view.  
. In SayLine added tests for IsPCCursor and not UserBufferIsActive.
. When playing and recording, the ENTER key executes pause.  (It sends
ENTER when stopped and "p" when playing or recording.)  I like this
because the numpad ENTER key is easier to find than "p" if your hands
are off the keyboard.  Try it out and let us know if you like it.

Issues:
. We have had problems getting the state of Play, Pause, Record, and
Stop on some configurations.  In function GetAudacityState there is commented
out code to determine the pressed state of toolbar buttons by testing the
button graphic name.  There are also CS_IMG constants for the pressed state of
the Play, Pause, and Record buttons that must be uncommented as well.  If the
current code doesn't work for you, this might work.  This code needs further
work, so if you need this code please let us know.
. The position fields sometimes are not shortened.  This happens
because the JAWS GetWindowText function returns just the numbers with no h, m,
:, etc.  We do not know what causes this.  I have been able to correct this by
shutting down and restarting Audacity-- or JAWS, I can't find my notes on
this.  This was observed with JAWS 10.
. A side effect of ENTER pausing during record and play is that you
can't select/unselect tracks while playing or recording.  Also, if you redefine
the numpad ENTER key and set JAWS to treat extended keys separately, both ENTER
keys will be mapped to the typing keys ENTER.  If you don't like this feature
you can deactivate it by adding a semicolon on the lines for ENTER and
NumPadEnter in audacity.jkm and removing semicolons on the lines containing /*
and */ before and after script Enter in audacity.jss.                

The audacity4blind web site is at
//www.freelists.org/webpage/audacity4blind

Subscribe and unsubscribe information, message archives,
Audacity keyboard commands, and more...

To unsubscribe from audacity4blind, send an email to
audacity4blind-request@xxxxxxxxxxxxx
with subject line
unsubscribe

Other related posts: