Skip to content

Commit d21df44

Browse files
slhckclaude
andcommitted
docs: synchronize "What's New" section between README and docs
- Add Version 1.35.0 batch/album normalization feature to docs/index.md - Add "Album Batch normalization" to Features list in docs/index.md - Update CLAUDE.md with Documentation Synchronization section - Fix markdown linting issues in CLAUDE.md (blank lines around lists/headings) - Ensure both README.md and docs/index.md stay in sync for future updates This ensures users see consistent information whether they're viewing the GitHub README or the hosted documentation site. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 2611e75 commit d21df44

2 files changed

Lines changed: 42 additions & 7 deletions

File tree

CLAUDE.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,19 @@ The tool supports three normalization types defined in `NORMALIZATION_TYPES`:
6969

7070
When committing, YOU MUST use conventional commits.
7171

72+
### Documentation Synchronization
73+
74+
When updating the "What's New" section or the "Features" list, YOU MUST keep **both** files in sync:
75+
76+
1. **README.md** (root of repository) - The "🆕 What's New" and "✨ Features" sections
77+
2. **docs/index.md** (documentation homepage) - The "🆕 What's New" and "✨ Features" sections
78+
79+
These sections should always contain identical content. When adding a new feature or version announcement:
80+
81+
- Update both files simultaneously
82+
- Ensure formatting and wording are consistent
83+
- Verify links work in both contexts (GitHub links in README, relative links in docs)
84+
7285
### CLI Changes Checklist
7386

7487
When adding, removing, or modifying CLI options, YOU MUST:
@@ -81,23 +94,28 @@ When adding, removing, or modifying CLI options, YOU MUST:
8194
This ensures users have accurate documentation and working shell completions for all CLI flags.
8295

8396
### Dependencies
97+
8498
The project uses:
99+
85100
- `tqdm` for progress bars
86101
- `ffmpeg-progress-yield` for FFmpeg progress monitoring
87102
- `colorlog` for colored logging
88103
- `mutagen` for metadata handling
89104
- `colorama` (Windows only) for colored terminal output
90105

91106
### File Structure
107+
92108
- `src/ffmpeg_normalize/` - Main package directory
93109
- `tests/` - Test files and test media samples
94110
- `docs/` - MKdocs documentation source
95111
- `completions/` - Shell completion scripts
96112

97113
### Testing
114+
98115
Tests use pytest and include actual media files in the `tests/` directory. The test suite calls the CLI directly using `python -m ffmpeg_normalize` to test the full pipeline.
99116

100117
### Requirements
118+
101119
- Python 3.9+
102120
- FFmpeg binary must be available in PATH
103121
- The tool checks for FFmpeg loudnorm filter availability at runtime

docs/index.md

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,37 @@ Batch processing of several input files is possible, including video files.
2727
- **Docker support** — Run via Docker container
2828
- **Python API** — Use programmatically in your Python projects
2929
- **Shell completions** — Available for bash, zsh, and fish
30+
- **Album Batch normalization** – Process files jointy, preserving relative loudness
3031

3132
## 🆕 What's New
3233

33-
**Version 1.34.0** brings selective audio stream normalization! You can now:
34+
- Version 1.35.0 has **batch/album normalization** with `--batch`. It preserves relative loudness between files! Perfect for music albums where you want to shift all tracks by the same amount.
3435

35-
- **Normalize specific audio streams** with `-as/--audio-streams` (e.g., `-as 1,2` to normalize only streams 1 and 2)
36-
- **Normalize only default audio streams** with `--audio-default-only` (useful for files with multiple language tracks)
37-
- **Keep other streams unchanged** with `--keep-other-audio` (copy non-selected streams without normalization)
36+
Example:
3837

39-
Example: `ffmpeg-normalize input.mkv -as 1 --keep-other-audio` normalizes stream 1 and copies all other audio streams unchanged.
38+
```bash
39+
ffmpeg-normalize album/*.flac --batch -nt rms -t -20
40+
```
4041

41-
**Recent additions:**
42+
shifts the entire album so the average RMS is -20 dB, preserving the original relative loudness as mastered.
4243

43-
- **Shell completions** (v1.31.0) — Tab completion for bash, zsh, and fish shells. See the [completions directory](https://github.com/slhck/ffmpeg-normalize/tree/master/completions) for installation instructions.
44+
- Version 1.34.0 brings **selective audio stream normalization**! You can now:
45+
46+
- Normalize specific audio streams with `-as/--audio-streams` (e.g., `-as 1,2` to normalize only streams 1 and 2)
47+
- Normalize only default audio streams with `--audio-default-only` (useful for files with multiple language tracks)
48+
- Keep other streams unchanged with `--keep-other-audio` (copy non-selected streams without normalization)
49+
50+
Example:
51+
52+
```bash
53+
ffmpeg-normalize input.mkv -as 1 --keep-other-audio
54+
```
55+
56+
normalizes stream 1 and copies all other audio streams unchanged.
57+
58+
Other recent additions:
59+
60+
- **Shell completions** (v1.31.0) — Tab completion for bash, zsh, and fish shells. See the [installation guide](../getting-started/installation/#shell-completions) for setup instructions.
4461
- **`--lower-only` option** — Prevent audio from increasing in loudness, only lower it if needed (works with all normalization types).
4562

4663
See the [full changelog](about/changelog.md) for all updates.

0 commit comments

Comments
 (0)