Proposal Safe Project Overwrite

From Audacity Wiki
Jump to: navigation, search
Proposal pages help us get from feature requests into actual plans. This proposal page is about safely allowing a closed project to be overwritten, using SaveAs
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.


Previously we could SaveAs over an existing closed project, and overwrite it. This however was NOT SAFE as we didn't know the project was closed and not in use. The proposed new feature is to allow this (once again), but this time safely.


  • Trying to Save As to another open project:
01 Save As - open project.png
  • Trying to Save As to another closed project
02 Save As - closed project warning.png
  • Trying to Backup Project to another open or closed project
03 Backup error.png

Proposed Feature

Allow the "Save As" operation to overwrite an existing project, with the following precautions:

  • Pop up a warning message before overwriting the existing project.
  • The confirmation dialog should default to "No" (don't overwrite).
  • Ensure that the project being overwritten is not open.
  • Ensure that the project being overwritten is fully deleted to avoid orphan blockfiles.


  1. What is the purpose of the feature? -
  2. What are the relative importances of the different features in it? (this is used to justify having a large button, a small button or just a menu item, for example) -
  3. Does the feature have modes, and if so how easy are the modes to get out of? (stuck in a mode) -
  4. Does the feature have invalid states that can be greyed out? -
  5. What is the factorisation of the feature? (e.g. pin/unpin can operate on its own, independent of scrub/seek). -
  6. What are the justifications for 'novelty' in the design? (e.g. RSI free operation, lack-of-precision in conventional sliders). -
  7. Is VI use integral? (e.g. labels added a label editor dialog, essential for VI, useful for non ). -

Developer Backing

  • Steve