Audio Library
The Audio Library is a logged-in Tools page for storing, playing, and linking audio files.
Access
- Browse / play inside Tools:
/audio-library (logged-in web users)
- Upload new audio: admins and users who have the
audio.upload permission
Current behavior
- All signed-in users can open the library page, search the stored rows, and play audio directly in the browser.
- Upload is intentionally narrower than playback. A normal logged-in user can browse the archive without automatically being allowed to add files.
- Files are stored inside the repository under
storage/app/audio-library, which stays commit-friendly instead of living in one ignored runtime-only folder.
- Each stored row can expose:
- an internal signed-in playback URL,
- an internal signed-in download URL,
- an optional direct public playback URL,
- an optional direct public download URL.
Public link switches
When an uploader edits one audio row, two independent public switches are available:
- Publicly playable URL — lets the file be streamed directly through one public URL.
- Publicly downloadable URL — lets the file be downloaded directly through one public URL.
These switches are independent so one file can be:
- playable only,
- downloadable only,
- both playable and downloadable,
- or private to the signed-in Tools GUI only.
Supported audio formats right now
The first slice accepts common audio uploads such as:
mp3
m4a
aac
wav
ogg / oga
flac
opus
webm audio
Typical workflow
- Open
/audio-library.
- Search existing rows if needed.
- Upload a new audio file if your account has upload access.
- Decide whether the file should stay signed-in-only or also expose a direct public playback/download link.
- Copy the generated playback or download URL from the stored row.
Notes
- The first slice is intentionally focused on audio only. It is not a generic all-file storage system.
- Public links are route-based URLs, so the page can keep play/download behavior explicit per file instead of exposing every stored file automatically.
- If a file is deleted from the library, the stored metadata row and the underlying file are removed together.