audacity / audacity/audacity

Permit opening a project read-only

Open
#5,394 2 comments 0 reactions 0 assignees View on GitHub
Enhancement Request minor feature project file
Dominant language
C++
Stars
18.4k
Forks
2.7k
Avg merge
3d 3h
Merged PRs (30d)
85

Description

### Your idea

It would be useful to allow a project (.aup3 file) to be opened read-only, that is, for a `.aup3` file which has been marked as read-only in the filesystem to be opened without error.

### Problem to be solved

At present, when a read-only `.aup3` file is opened, Audacity produces an error ‘Project is read only (Unable to work with the blockfiles)’, and refuses to work further with the file.

I have a number of audio clips in a project resources.aup3, which are for cut-and-pasting into other projects. I've created these quite carefully, and so want to avoid accidentally changing or deleting them, so I tried making the file read-only (ie, at the filesystem level). But that makes the resources unreachable.

Perhaps it's impossible to handle a read-only file (perhaps because Audacity does some unavoidable internal bookkeeping inside the block files?). If instead there were a way of setting a flag somewhere so that Audacity would carefully avoid making substantive/non-bookkeeping changes, then that would work too. I'm just trying to avoid the consequences of fat fingers.

### Prior art

_No response_

### Additional context

I'm using Audacity 3.3.3 on macOS 13.5.1

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure with a filesystem read-only .aup3 on macOS 13.5.1, then trace Audacity's project-opening and blockfile handling. Done means the project opens without the current error, remains protected from substantive changes, and still supports the requested cut-and-paste use; add coverage where the existing project tests belong.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.