pycodedj 0.2.0__tar.gz → 0.2.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {pycodedj-0.2.0 → pycodedj-0.2.1}/CHANGELOG.md +6 -0
  2. {pycodedj-0.2.0 → pycodedj-0.2.1}/PKG-INFO +4 -2
  3. {pycodedj-0.2.0 → pycodedj-0.2.1}/README.ja.md +3 -1
  4. {pycodedj-0.2.0 → pycodedj-0.2.1}/README.md +3 -1
  5. pycodedj-0.2.1/docs/manual.html +1584 -0
  6. {pycodedj-0.2.0 → pycodedj-0.2.1}/docs/manual.ja.md +141 -54
  7. {pycodedj-0.2.0 → pycodedj-0.2.1}/docs/manual.md +136 -55
  8. pycodedj-0.2.1/examples/club_set.py +150 -0
  9. pycodedj-0.2.1/examples/sound_showcase.py +295 -0
  10. {pycodedj-0.2.0 → pycodedj-0.2.1}/pyproject.toml +1 -1
  11. {pycodedj-0.2.0 → pycodedj-0.2.1}/sc/synths.scd +308 -78
  12. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/__init__.py +1 -1
  13. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/__main__.py +1 -0
  14. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/block_parser.py +24 -6
  15. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/engine.py +8 -1
  16. pycodedj-0.2.1/src/pycodedj/mapper.py +95 -0
  17. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/osc_bridge.py +6 -0
  18. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/test_block_parser.py +19 -0
  19. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/test_mapper.py +31 -0
  20. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/test_osc_bridge.py +11 -2
  21. pycodedj-0.2.0/examples/club_set.py +0 -218
  22. pycodedj-0.2.0/src/pycodedj/mapper.py +0 -50
  23. {pycodedj-0.2.0 → pycodedj-0.2.1}/.github/workflows/workflow.yml +0 -0
  24. {pycodedj-0.2.0 → pycodedj-0.2.1}/.gitignore +0 -0
  25. {pycodedj-0.2.0 → pycodedj-0.2.1}/LICENSE +0 -0
  26. {pycodedj-0.2.0 → pycodedj-0.2.1}/docs/CNAME +0 -0
  27. {pycodedj-0.2.0 → pycodedj-0.2.1}/docs/index.html +0 -0
  28. {pycodedj-0.2.0 → pycodedj-0.2.1}/examples/demo.py +0 -0
  29. {pycodedj-0.2.0 → pycodedj-0.2.1}/examples/hello_sc.py +0 -0
  30. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/_loop.py +0 -0
  31. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/analyzer.py +0 -0
  32. {pycodedj-0.2.0 → pycodedj-0.2.1}/src/pycodedj/watcher.py +0 -0
  33. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/__init__.py +0 -0
  34. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/test_analyzer.py +0 -0
  35. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/test_engine.py +0 -0
  36. {pycodedj-0.2.0 → pycodedj-0.2.1}/tests/test_watcher.py +0 -0
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.1] - 2026-05-08
4
+
5
+ ### Docs
6
+
7
+ - `docs/manual.html` — Python シンタックスハイライターのプレースホルダー衝突バグを修正。`PY_NUMBER` がプレースホルダーのインデックス数字にマッチしてコメント・文字列が正しく表示されない問題を解消
8
+
3
9
  ## [0.2.0] - 2026-05-08
4
10
 
5
11
  ### Breaking
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pycodedj
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  License: MIT License with Commons Clause
5
5
 
6
6
  "Commons Clause" License Condition v1.0
@@ -108,6 +108,7 @@ BPM clock is held by SuperCollider's `TempoClock`. Python only sends parameter u
108
108
  | Function definition count | Polyphony voice count (1–4) | Functions = independent voices |
109
109
  | Comment ratio | Reverb depth (0.0–0.8) | More whitespace = more space |
110
110
  | `volume=` argument | Amplitude (0.0–1.0) | Direct performer control over loudness |
111
+ | `eq=` / `low=` / `mid=` / `high=` arguments | Simple 3-band EQ | Per-loop tone shaping |
111
112
 
112
113
  Tempo (BPM) and root pitch are controlled explicitly by the performer, to prevent the foundation of the piece from shifting on every save.
113
114
 
@@ -197,7 +198,8 @@ From here, just write code and save.
197
198
  | File | Contents |
198
199
  | :--- | :--- |
199
200
  | `examples/demo.py` | Intro demo with bass / melody / pad |
200
- | `examples/club_set.py` | Layered club groove using kick_hard / bass_rumble / bass_reese and more |
201
+ | `examples/club_set.py` | EDM groove (8 loops, kick acid bass rave stabs → hoover → shimmer) |
202
+ | `examples/sound_showcase.py` | All 30 synths — evaluate one at a time to audition each sound |
201
203
 
202
204
  ---
203
205
 
@@ -46,6 +46,7 @@ BPMクロックは SuperCollider 側の `TempoClock` が保持します。Python
46
46
  | 関数定義数 | ポリフォニー声部数 (1–4) | 関数=独立した声部 |
47
47
  | コメント率 | リバーブ Depth (0.0–0.8) | 余白の多さ=空間の広さ |
48
48
  | `volume=` 引数 | Amplitude (0.0–1.0) | 演奏者が直接音量を制御する |
49
+ | `eq=` / `low=` / `mid=` / `high=` 引数 | 簡易 3 バンド EQ | ループごとの音質補正 |
49
50
 
50
51
  テンポ(BPM)と基音(Pitch)は演奏者が明示的に制御します。保存のたびに楽曲全体の土台が変わることを防ぐためです。
51
52
 
@@ -135,7 +136,8 @@ pycodedj watch demo.py
135
136
  | ファイル | 内容 |
136
137
  | :--- | :--- |
137
138
  | `examples/demo.py` | bass / melody / pad の 3 ループ入門デモ |
138
- | `examples/club_set.py` | kick_hard / bass_rumble / bass_reese などを重ねた多層クラブグルーヴ |
139
+ | `examples/club_set.py` | EDM クラブグルーヴ(8 ループ、キック アシッドベース レイブスタブ → Hoover → シマー) |
140
+ | `examples/sound_showcase.py` | 全 30 音色を収録 — 1 音ずつ eval して確認できる |
139
141
 
140
142
  ---
141
143
 
@@ -46,6 +46,7 @@ BPM clock is held by SuperCollider's `TempoClock`. Python only sends parameter u
46
46
  | Function definition count | Polyphony voice count (1–4) | Functions = independent voices |
47
47
  | Comment ratio | Reverb depth (0.0–0.8) | More whitespace = more space |
48
48
  | `volume=` argument | Amplitude (0.0–1.0) | Direct performer control over loudness |
49
+ | `eq=` / `low=` / `mid=` / `high=` arguments | Simple 3-band EQ | Per-loop tone shaping |
49
50
 
50
51
  Tempo (BPM) and root pitch are controlled explicitly by the performer, to prevent the foundation of the piece from shifting on every save.
51
52
 
@@ -135,7 +136,8 @@ From here, just write code and save.
135
136
  | File | Contents |
136
137
  | :--- | :--- |
137
138
  | `examples/demo.py` | Intro demo with bass / melody / pad |
138
- | `examples/club_set.py` | Layered club groove using kick_hard / bass_rumble / bass_reese and more |
139
+ | `examples/club_set.py` | EDM groove (8 loops, kick acid bass rave stabs → hoover → shimmer) |
140
+ | `examples/sound_showcase.py` | All 30 synths — evaluate one at a time to audition each sound |
139
141
 
140
142
  ---
141
143