feat: Add sound theme preset system (v0.1.5)#1
Open
llongmane584 wants to merge 1 commit into
Open
Conversation
- Restructure sounds/ directory with theme-based organization - Add theme.json manifest for theme metadata and sound mappings - Implement theme management functions (list_themes, load_theme_config, etc.) - Add --theme CLI option to select sound themes - Add --theme list command to show available themes - Support custom theme creation by users - Update README.md with theme documentation - Add Japanese README.ja.md - All existing tests pass, new theme tests added Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This pull request adds a sound theme preset system (v0.1.5) that allows users to switch between multiple keyboard sound themes or create custom themes. The implementation is backwards compatible, preserving existing behavior as the "default" theme.
Changes:
- Added theme management system with
--themeCLI option - Reorganized sound files into theme-specific directories (sounds/default/, sounds/tofu-tkl-boba-u4t-pbs-ap1/)
- Added comprehensive test coverage for theme-related functionality
Reviewed changes
Copilot reviewed 8 out of 24 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/human_like/sound.py | Added theme management functions (list_themes, load_theme_config, get_theme_sound_files) and ThemeConfig dataclass |
| src/human_like/cli.py | Added --theme option, handle_theme_list function, and theme validation in daemon commands |
| tests/test_sound.py | Added comprehensive tests for theme functionality (list, load, validate) |
| sounds/default/theme.json | Configuration for default theme with PC keyboard sounds |
| sounds/tofu-tkl-boba-u4t-pbs-ap1/theme.json | Configuration for custom mechanical keyboard theme |
| pyproject.toml | Version bump from 0.1.4 to 0.1.5 |
| README.md | Added documentation for theme system, usage examples, and custom theme creation guide |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a sound theme preset system that allows users to switch between multiple keyboard sound themes or create
their own custom themes.
Backwards compatible - Existing behavior is preserved as the "default" theme, so no breaking changes for
current users.
概要
サウンドテーマのプリセットシステムを追加しました。
複数のキーボード音テーマを切り替えたり、独自のテーマを作成できるようになります。
後方互換性あり - 既存の動作はデフォルトテーマとして維持されるため、現在のユーザーに影響はありません。
変更内容
新機能
--theme <name>オプションでサウンドテーマを指定可能--theme listで利用可能なテーマ一覧を表示sounds/<theme-name>/ディレクトリ +theme.jsonで定義ディレクトリ構成の変更
既存のサウンドファイルを
sounds/default/へ移動し、テーマごとにディレクトリを分離する構成に変更しました。sounds/
├── default/
│ ├── theme.json
│ └── *.mp3
└── custom-theme/
├── theme.json
└── *.mp3
使用例