70919b0769
- Replace audioop module (removed in Python 3.13) with NumPy - Implement _apply_volume() method using NumPy for volume adjustment - Update RMS calculation in ducking_sound_received() to use NumPy - Add numpy to requirements.txt - Add silent flag to CachedItemWrapper for join sounds - Join sounds now play without channel announcements - Regular playlist items still respect announce_current_music config - Update CLAUDE.md to document changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
+----------------------------------------------------------+
| <-| URLItem <-- URLFromPlaylistItem |
| BaseItem <-| FileItem |
| <-| RadioItem |
++---------------------------------------------------------+