Completed Proposal Timer Record Improvements Phase-1

From Audacity Wiki
Revision as of 12:45, 21 August 2017 by PeterSampson (talk | contribs) (Text replace - "" to "")
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This page is a proposal to improve Timer Record
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.

  • Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.

Following earlier small fixes by Vaughan and Leland, the outstanding items in this proposal were fixed by new developer Mark Young for 2.1.3.

The Problems

There are many existing feature requests for Timer Record lodged in the Wiki relating to usability improvements. For example:

  • As TR is normally "unattended recording" an automatic Save and/or Export on completion would be useful. (Fixed by Mark Young for v2.1.3.)
  • It is possible to accidentally stop Timer Record (Waiting or Recording) by pressing the Spacebar. (Fixed by Mark Young for v2.1.3.)
  • It is possible to set a timer record event that will cause disk overflow. (Fixed by Mark Young for v2.1.3.)
  • The Cancel button in the "Progress" box can be dangerous and non-intuitive for users, causing them to lose data. (Fixed by Vaughan for v2.0.1.)
  • The "Progress" box is un-necessarily wide, inconsistently so compared with other Audacity progress boxes. (Fixed by Leland Presumably as part of his wx3 widgets work)

Proposed Features

  1. Add optional forced Save or Export on Timer Record completion and optional ability to close Audacty or the computer.
    • 2.1.0 has an automatic/forced Save - the interface could benefit from improvement
  2. Improvements to the "waiting to start" dialog.
  3. Add a Confirm dialogue when the user uses Stop/Spacebar/Esc (while Waiting or Recording) to prevent accidental stoppage
  4. Error handling (or warning) on potential disk full.
  5. Improvements to the Progress dialog - show completion acions
  6. Re-size the "Progress" box smaller.
  7. Remove the Cancel button from the Progress box (still allow power user to cancel with window Close or ESC)

Developer/QA Backing

  • Peter Sampson: I support the facility for an automatic save/export on Timer Record completion (with the optional ability to close Audacty or the computer).
  • Gale: Am in agreement with the general thrust of improvements here.

Use Cases

  1. User sets up an overnight recording, some time after TR completion the computer crashes (or is rebooted by Microsoft due to updates). User then has to resort to Recovery.
  2. User inadvertently enters an erroneous date causing a timer record event for which there is insufficient disk space.
  3. While Timer Record is recording, user erroneously presses Cancel to halt the recording then presses record, their original one-off recording is irretrievably lost. See this thread in the forum. (Fixed by Vaughan for v2.0.1.)
  4. The "Progress" box is un-necessarily wide and thus has much empty gray space which adds nothing and is visually un-pleasing.
  5. Accidental use of the Spacebar when Timer Record is waiting or recording can cause a Timer Record to be inadvertently stopped.


The previously untackled changes have now been fixed by new developer Mark young. They are pulled into the main trunk of Audacity - so should be in 2.1.3
  • Optional forced Save and/or Export on Timer Record completion: add tools to optionally auto-save/export and optionally close down the computer and/or input stream. Would require extensions to the setup dialog box.
    • An option to auto-save and/or auto-export at successful completion of the recording event, to a user-specified name and location (and specified format for export). Would need to be specified at event set-up which would require extensions to the setup dialog box.
    • Optionally close Audacity on successful event completion.
    • Optionally shut down the computer on successful event completion.
    • Optionally disconnect the internet stream (if appropriate) on successful event completion.
  • Peter 24Feb15: For 2.1.0 Vaughan has provided an automatic Save on TR completion if the user has Saved the project prior to starting the timed recording, otherwise on completion the user is invited to make the save. This interface need a little more work for the next release as the behavior is somewhat opaque and not very discoverable.
  • Peter 22Mar16: Mark Young has been working on implementing the changes requested in this proposal with an extension to the Timer Record dialog box giving access to the new options for Automatic Save, Automatic Export and completion action. This makes the automatic save much more "discoverable". There is no explicit option for disconnection from an internet stream that a recording may have been made from, but if the user chooses "Shutdown System" or "Restart System" as the completion option then the webstream will de facto be disconnected.

  • Waiting for Start dialog enhancements:
    • Under "Waiting to start recording at: dd-mmm-yy hh:mm:ss", add duration and scheduled stop time:
      • Recording duration: hh:mm:ss
      • Scheduled to stop at: dd-mmm-yy hh:mm:ss
    • Add post completion actions selected:
      • Automatic Save Enabled: Yes/No
      • Automatic Export Enabled: Yes/No
      • Post Timer Recording Action: <action(s)>
    • Remove "Elapsed Time: hh:mm:ss". It adds nothing is of no real clue to the user.
    • Rename "Remaining Time: hh:mm:ss" to "Recording will commence in: hh:mm:ss"

  • Progress dialog enhancements:
    • Add post completion actions selected:
      • Automatic Save Enabled: Yes/No
      • Automatic Export Enabled: Yes/No
      • Post Timer Recording Action: <action(s)>
Now that the "Waiting for Start dialog" is being enhanced as above, it is noticeably lacking in this dialog.

  • Add a Confirm dialogue when the user uses Stop/Spacebar/Esc:
    • Effected (while Waiting or Recording) to prevent accidental stoppage.
    • Simple Yes/No two-button dialogue
    • "No" to be the default
      • Thus two accidental presses on the space bar cannot halt the ongoing Timer Record.
Peter 01Apr16: The recording/waiting can easily be accidentally stopped while waiting or recording by a single press of the spacebar. This is due to the fact that focus is on the "Stop" button in the dialog.

  • Error handling (or warning) on potential disk full situation
    • When a single Timer Record event is created (or set of Timer Record events if the multi-event feature is added) that would exceed the potential remaining available record time that Audacity calculates (and which would lead to a full disk and a failed recording) generate either an error message (or possibly a warning to enable the user to free up disk space).
    • Would need to be further invoked if the Ability to change the event times as below is implemented
  • Peter 03Apr16: Mark Young is working on this, The space checking takes account of the settins for: channels, sample rate and sample format. This will be a warning rather than an error condition.

  • Re-size the "Progress" box smaller
    • The "Progress" box is un-necessarily wide at 22 cm
    • Reduce the width of the "Progress" box to 10.5 cm to match the width of the "Waiting for Start" box
    • This would still leave the progess bar wide enough to be useful (cf. progress boxes for Effects and Analyze tools which are only about 8.25 cm wide).
      • This has been completed by Leland with his WXwidgets upgrade work for 2.1.2

  • Remove the Cancel button from the Progress box
    • Simply remove this button from the box
    • The box has a de facto cancel already in the X in the top-right corner
    • A second de facto cancel is available by use of the ESC button
    • User can achieve the same effect by using the Stop and then optionally deleting the recorded track if required (this is safer).
      • (Fixed by Vaughan for v2.0.1.)

GUI Examples

See Manual page Timer Record.