Skip to content

Commit 77c9169

Browse files
committed
docs: tidy repo structure
1 parent f31d888 commit 77c9169

13 files changed

+202
-167
lines changed

HELP.md

Lines changed: 0 additions & 82 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.

docs/HELP.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# YT Audio Workbench — Help
2+
3+
## Table of Contents
4+
- [Table of Contents](#table-of-contents)
5+
- [Getting StartedThe primary purpose of this tool is to create high-quality, consistent MP3 backups from a YouTube URL (either a single video or a playlist).](#getting-startedthe-primary-purpose-of-this-tool-is-to-create-high-quality-consistent-mp3-backups-from-a-youtube-url-either-a-single-video-or-a-playlist)
6+
- [Paste a YouTube URL into the top field.](#paste-a-youtube-url-into-the-top-field)
7+
- [Select an Output folder where the files will be saved.](#select-an-output-folder-where-the-files-will-be-saved)
8+
- [Choose your desired Bitrate and Sample Rate.](#choose-your-desired-bitrate-and-sample-rate)
9+
- [Click Run.](#click-run)
10+
- [Main Window Explained### URL & Output**Playlist or video URL:** The source URL from YouTube.](#main-window-explained-url-outputplaylist-or-video-url-the-source-url-from-youtube)
11+
- [Cookies**Cookies file:** You can provide a `cookies.txt` (Netscape format) or a `.json` file exported from a browser extension like "Cookie-Editor". The application will automatically convert `.json` files.](#cookiescookies-file-you-can-provide-a-cookiestxt-netscape-format-or-a-json-file-exported-from-a-browser-extension-like-cookie-editor-the-application-will-automatically-convert-json-files)
12+
- [Download & Formatting**Sample rate:** Enforces a consistent audio sample rate for all files. `44100 Hz` is standard for CD quality, while `48000 Hz` is common for video.](#download-formattingsample-rate-enforces-a-consistent-audio-sample-rate-for-all-files-44100-hz-is-standard-for-cd-quality-while-48000-hz-is-common-for-video)
13+
- [Filename & Options**Add numbering:** Prefixes filenames with a number (e.g., `001 - ...`, `002 - ...`).](#filename-optionsadd-numbering-prefixes-filenames-with-a-number-eg-001---002---)
14+
- [Joining**Join into one MP3:** Enables joining to combine all downloaded MP3s into a single large file.](#joiningjoin-into-one-mp3-enables-joining-to-combine-all-downloaded-mp3s-into-a-single-large-file)
15+
- [System Dependencies**Verify Tools:** Checks if `yt-dlp`, `ffmpeg`, `ffprobe`, and `mp3gain` are installed and accessible.](#system-dependenciesverify-tools-checks-if-yt-dlp-ffmpeg-ffprobe-and-mp3gain-are-installed-and-accessible)
16+
- [Controls & Log**Run/Cancel:** Starts or stops the current process.](#controls-logruncancel-starts-or-stops-the-current-process)
17+
- [Troubleshooting### Tool Not Found (ffmpeg, mp3gain)If the log reports a tool is "missing" even after you've installed it, try restarting the application so PATH changes are picked up.](#troubleshooting-tool-not-found-ffmpeg-mp3gainif-the-log-reports-a-tool-is-missing-even-after-youve-installed-it-try-restarting-the-application-so-path-changes-are-picked-up)
18+
- [Downloads are Slow or FailingTry increasing the **Delay between items** to 5 seconds or more. Check your internet connection. The video may have been removed or be region-locked.](#downloads-are-slow-or-failingtry-increasing-the-delay-between-items-to-5-seconds-or-more-check-your-internet-connection-the-video-may-have-been-removed-or-be-region-locked)
19+
- [Private/Members-Only Videos Not WorkingThis almost always means there is an issue with your cookies. Ensure you are logged into YouTube in your browser. Use a browser extension like "Cookie-Editor" to export your YouTube cookies to a `.json` file. Select that `.json` file in the "Cookies" section of the app and try again.](#privatemembers-only-videos-not-workingthis-almost-always-means-there-is-an-issue-with-your-cookies-ensure-you-are-logged-into-youtube-in-your-browser-use-a-browser-extension-like-cookie-editor-to-export-your-youtube-cookies-to-a-json-file-select-that-json-file-in-the-cookies-section-of-the-app-and-try-again)
20+
21+
Welcome to the help documentation for YT Audio Workbench. This guide will walk you through the main features and options available in the application.
22+
23+
## Getting StartedThe primary purpose of this tool is to create high-quality, consistent MP3 backups from a YouTube URL (either a single video or a playlist).
24+
25+
**Basic Workflow:**
26+
## Paste a YouTube URL into the top field.
27+
## Select an Output folder where the files will be saved.
28+
## Choose your desired Bitrate and Sample Rate.
29+
## Click Run.
30+
31+
## Main Window Explained### URL & Output**Playlist or video URL:** The source URL from YouTube.
32+
**Output folder:** The main directory where all files and logs will be saved.
33+
**Use per-run subfolder:** (Recommended) When checked, each time you click "Run", a new subfolder with a timestamp (e.g., `run_20250824_193000`) will be created inside your output folder. This is the safest way to keep download sessions separate and ensures the "Join" feature works correctly.
34+
35+
### Cookies**Cookies file:** You can provide a `cookies.txt` (Netscape format) or a `.json` file exported from a browser extension like "Cookie-Editor". The application will automatically convert `.json` files.
36+
**Use browser cookies:** Alternatively, select a browser and the application will attempt to use its live cookie data.
37+
38+
### Download & Formatting**Sample rate:** Enforces a consistent audio sample rate for all files. `44100 Hz` is standard for CD quality, while `48000 Hz` is common for video.
39+
**Bitrate (kbps):** Sets the quality of the MP3 file. `192` is good quality, `320` is the highest quality for MP3.
40+
**Delay between items (s):** A pause between downloading each item in a playlist to avoid being rate-limited by the server.
41+
**Playlist format:** Creates a playlist file (`.m3u` or `.m3u8`) of the downloaded tracks for easy playback.
42+
43+
### Filename & Options**Add numbering:** Prefixes filenames with a number (e.g., `001 - ...`, `002 - ...`).
44+
**Include YouTube ID in filename:** Appends the unique YouTube video ID in brackets (e.g., `... [dQw4w9WgXcQ].mp3`). *Note:* Brackets can cause issues with some older media players.
45+
**Sanitize filenames:** (Recommended) Removes special characters from filenames that can cause problems with playlists or scripts.
46+
**Use download archive:** The app will keep a record of downloaded files in `download_archive.txt`. If you run the same playlist again, it will skip any files it has already downloaded.
47+
**Normalize with MP3Gain:** Uses the mp3gain tool to adjust the volume of all tracks to a standard level without losing quality.
48+
**De-duplicate artist in filename:** Removes duplicated artist names from filenames (e.g., `Artist - Artist - Title``Artist - Title`).
49+
**Validate with ffprobe:** Validates sample rate/format using `ffprobe` after conversion.
50+
**Verbose yt-dlp logging:** Runs yt-dlp in verbose mode for troubleshooting.
51+
**Fallback to progressive:** If standard DASH download yields no audio, retry with progressive HTTP streams.
52+
53+
### Joining**Join into one MP3:** Enables joining to combine all downloaded MP3s into a single large file.
54+
**Name:** Filename for the final combined MP3.
55+
**Write CUE for joined file:** Creates a `.cue` file with accurate `INDEX 01` markers.
56+
**Embed ID3 chapters:** Embeds chapter markers directly into the joined MP3 (requires `mutagen`).
57+
**Randomize order when joining:** Shuffles the playlist before combining.
58+
**Keep temp WAVs:** Keep intermediate WAVs from the join pipeline (useful for debugging).
59+
**Write VLC segment playlist:** Creates an `.m3u` playlist that points to chapter start/stop times inside the joined MP3 for VLC.
60+
61+
### System Dependencies**Verify Tools:** Checks if `yt-dlp`, `ffmpeg`, `ffprobe`, and `mp3gain` are installed and accessible.
62+
**Check & Install System Deps:** Attempts automatic installation (Windows: `winget`; macOS: `brew`; Linux: `apt/dnf/pacman`).
63+
64+
### Controls & Log**Run/Cancel:** Starts or stops the current process.
65+
**Progress Bar:** Shows determinate progress during downloads and joining.
66+
**Log Window:** Displays detailed information about the ongoing process. Right-click to copy or clear the log.
67+
68+
## Troubleshooting### Tool Not Found (ffmpeg, mp3gain)If the log reports a tool is "missing" even after you've installed it, try restarting the application so PATH changes are picked up.
69+
70+
### Downloads are Slow or FailingTry increasing the **Delay between items** to 5 seconds or more. Check your internet connection. The video may have been removed or be region-locked.
71+
72+
### Private/Members-Only Videos Not WorkingThis almost always means there is an issue with your cookies. Ensure you are logged into YouTube in your browser. Use a browser extension like "Cookie-Editor" to export your YouTube cookies to a `.json` file. Select that `.json` file in the "Cookies" section of the app and try again.
Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,82 @@
1-
## Developer Onboarding Guide
2-
3-
Welcome to the project! Here’s how to get your development environment set up in a few minutes.
4-
5-
### 1. Prerequisites
6-
7-
Before you begin, make sure you have the following installed on your system:
8-
9-
* **Python 3.11+**
10-
* **Git**
11-
* **ffmpeg** & **ffprobe**
12-
* **mp3gain** (optional, but recommended)
13-
14-
*You can run the `check-deps.sh` (macOS/Linux) or `check-deps.ps1` (Windows) script in the repository to verify the external tools.*
15-
16-
---
17-
18-
### 2. Project Setup
19-
20-
The project includes setup scripts that will handle creating a virtual environment and installing all necessary Python packages.
21-
22-
1. **Clone the repository:**
23-
```bash
24-
git clone <repository-url>
25-
cd <repository-folder>
26-
```
27-
28-
2. **Run the setup script for your OS:**
29-
30-
* For **Windows** (in PowerShell):
31-
```powershell
32-
.\setup-venv.ps1
33-
```
34-
* For **macOS / Linux** (in your terminal):
35-
```bash
36-
bash setup-venv.sh
37-
```
38-
39-
3. **Activate the virtual environment:**
40-
41-
* For **Windows** (in PowerShell):
42-
```powershell
43-
.\.venv\Scripts\Activate.ps1
44-
```
45-
* For **macOS / Linux** (in your terminal):
46-
```bash
47-
source .venv/bin/activate
48-
```
49-
50-
---
51-
52-
### 3. Running the Application
53-
54-
With the virtual environment active, you can run the application with a simple command:
55-
56-
```bash
57-
python yt_audio_backup_gui.py
58-
```
59-
60-
---
61-
62-
### 4. Development Workflow
63-
64-
This project uses standard tools to maintain code quality.
65-
66-
* **Linting & Testing:** Use the `Makefile` for common tasks.
67-
```bash
68-
# Run all linters and type checkers
69-
make lint
70-
71-
# Run a quick smoke test
72-
make test
73-
```
74-
75-
* **Pre-commit Hooks (Recommended):** The project is set up with pre-commit hooks to automatically format code and run checks before you commit. To enable this, run:
76-
```bash
77-
# Install the hooks into your local .git folder
78-
pre-commit install
79-
```
80-
81-
82-
That's it! You're ready to start developing.
1+
## Developer Onboarding Guide
2+
3+
Welcome to the project! Here’s how to get your development environment set up in a few minutes.
4+
5+
### 1. Prerequisites
6+
7+
Before you begin, make sure you have the following installed on your system:
8+
9+
* **Python 3.11+**
10+
* **Git**
11+
* **ffmpeg** & **ffprobe**
12+
* **mp3gain** (optional, but recommended)
13+
14+
*You can run the `check-deps.sh` (macOS/Linux) or `check-deps.ps1` (Windows) script in the repository to verify the external tools.*
15+
16+
---
17+
18+
### 2. Project Setup
19+
20+
The project includes setup scripts that will handle creating a virtual environment and installing all necessary Python packages.
21+
22+
1. **Clone the repository:**
23+
```bash
24+
git clone <repository-url>
25+
cd <repository-folder>
26+
```
27+
28+
2. **Run the setup script for your OS:**
29+
30+
* For **Windows** (in PowerShell):
31+
```powershell
32+
.\setup-venv.ps1
33+
```
34+
* For **macOS / Linux** (in your terminal):
35+
```bash
36+
bash setup-venv.sh
37+
```
38+
39+
3. **Activate the virtual environment:**
40+
41+
* For **Windows** (in PowerShell):
42+
```powershell
43+
.\.venv\Scripts\Activate.ps1
44+
```
45+
* For **macOS / Linux** (in your terminal):
46+
```bash
47+
source .venv/bin/activate
48+
```
49+
50+
---
51+
52+
### 3. Running the Application
53+
54+
With the virtual environment active, you can run the application with a simple command:
55+
56+
```bash
57+
python yt_audio_backup_gui.py
58+
```
59+
60+
---
61+
62+
### 4. Development Workflow
63+
64+
This project uses standard tools to maintain code quality.
65+
66+
* **Linting & Testing:** Use the `Makefile` for common tasks.
67+
```bash
68+
# Run all linters and type checkers
69+
make lint
70+
71+
# Run a quick smoke test
72+
make test
73+
```
74+
75+
* **Pre-commit Hooks (Recommended):** The project is set up with pre-commit hooks to automatically format code and run checks before you commit. To enable this, run:
76+
```bash
77+
# Install the hooks into your local .git folder
78+
pre-commit install
79+
```
80+
81+
82+
That's it! You're ready to start developing.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.

0 commit comments

Comments
 (0)