Commit 37f1fd6
committed
Implement audiobook merge functionality
Add complete merge feature to combine MP3 chapters into M4B audiobooks:
- Add MergeService with listr2 progress indicators
- Implement FFmpeg integration with bundled binary
- Add chapter markers using FFMETADATA1 format
- Preserve stereo audio quality (64kbps AAC)
- Add merge command to CLI and interactive menu
- Include comprehensive test coverage (13 new tests)
- Add research documentation for CLI progress libraries
Dependencies added:
- fluent-ffmpeg: FFmpeg Node.js wrapper
- @ffmpeg-installer/ffmpeg: Bundled FFmpeg binary
- listr2: Interactive task list UI
Build configuration:
- Update tsconfig to use CommonJS for Node compatibility
- Fix module resolution for CLI execution
All 201 tests passing.1 parent 8fdea5e commit 37f1fd6
14 files changed
Lines changed: 1991 additions & 144 deletions
File tree
- docs
- src
- __tests__
- commands
- services
- setup/fixtures
- commands
- services
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| 48 | + | |
47 | 49 | | |
| 50 | + | |
48 | 51 | | |
49 | 52 | | |
50 | 53 | | |
| |||
108 | 111 | | |
109 | 112 | | |
110 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
111 | 121 | | |
112 | 122 | | |
113 | 123 | | |
114 | | - | |
| 124 | + | |
115 | 125 | | |
116 | 126 | | |
117 | 127 | | |
| |||
227 | 237 | | |
228 | 238 | | |
229 | 239 | | |
| 240 | + | |
| 241 | + | |
230 | 242 | | |
231 | 243 | | |
232 | 244 | | |
| |||
352 | 364 | | |
353 | 365 | | |
354 | 366 | | |
355 | | - | |
| 367 | + | |
356 | 368 | | |
357 | 369 | | |
| 370 | + | |
358 | 371 | | |
359 | 372 | | |
360 | 373 | | |
| |||
0 commit comments