subsequence 0.6.4__py3-none-any.whl

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 (78) hide show
  1. subsequence/__init__.py +231 -0
  2. subsequence/__main__.py +24 -0
  3. subsequence/assets/web/index.html +345 -0
  4. subsequence/cadences.py +113 -0
  5. subsequence/chord_graphs/__init__.py +100 -0
  6. subsequence/chord_graphs/aeolian_minor.py +158 -0
  7. subsequence/chord_graphs/chromatic_mediant.py +113 -0
  8. subsequence/chord_graphs/diminished.py +97 -0
  9. subsequence/chord_graphs/dorian_minor.py +127 -0
  10. subsequence/chord_graphs/functional_major.py +102 -0
  11. subsequence/chord_graphs/hooktheory_major.py +88 -0
  12. subsequence/chord_graphs/lydian_major.py +130 -0
  13. subsequence/chord_graphs/mixolydian.py +98 -0
  14. subsequence/chord_graphs/phrygian_minor.py +76 -0
  15. subsequence/chord_graphs/suspended.py +109 -0
  16. subsequence/chord_graphs/turnaround_global.py +157 -0
  17. subsequence/chord_graphs/whole_tone.py +77 -0
  18. subsequence/chords.py +419 -0
  19. subsequence/composition.py +6099 -0
  20. subsequence/conductor.py +238 -0
  21. subsequence/constants/__init__.py +24 -0
  22. subsequence/constants/durations.py +37 -0
  23. subsequence/constants/instruments/__init__.py +13 -0
  24. subsequence/constants/instruments/gm_cc.py +46 -0
  25. subsequence/constants/instruments/gm_drums.py +53 -0
  26. subsequence/constants/instruments/gm_instruments.py +32 -0
  27. subsequence/constants/instruments/roland_tr8s.py +320 -0
  28. subsequence/constants/instruments/vermona_drm1_drums.py +87 -0
  29. subsequence/constants/midi_notes.py +29 -0
  30. subsequence/constants/pulses.py +17 -0
  31. subsequence/constants/velocity.py +22 -0
  32. subsequence/definitions.py +232 -0
  33. subsequence/display.py +617 -0
  34. subsequence/easing.py +347 -0
  35. subsequence/event_emitter.py +109 -0
  36. subsequence/form_state.py +665 -0
  37. subsequence/forms.py +257 -0
  38. subsequence/groove.py +323 -0
  39. subsequence/harmonic_rhythm.py +83 -0
  40. subsequence/harmonic_state.py +352 -0
  41. subsequence/harmony.py +197 -0
  42. subsequence/held_notes.py +91 -0
  43. subsequence/helpers/__init__.py +0 -0
  44. subsequence/helpers/network.py +58 -0
  45. subsequence/helpers/wing.py +430 -0
  46. subsequence/intervals.py +436 -0
  47. subsequence/keystroke.py +249 -0
  48. subsequence/link_clock.py +128 -0
  49. subsequence/live_client.py +187 -0
  50. subsequence/live_reloader.py +298 -0
  51. subsequence/live_server.py +161 -0
  52. subsequence/melodic_state.py +483 -0
  53. subsequence/midi.py +97 -0
  54. subsequence/midi_utils.py +329 -0
  55. subsequence/mini_notation.py +164 -0
  56. subsequence/motifs.py +2356 -0
  57. subsequence/osc.py +194 -0
  58. subsequence/pattern.py +363 -0
  59. subsequence/pattern_algorithmic.py +2010 -0
  60. subsequence/pattern_builder.py +2589 -0
  61. subsequence/pattern_midi.py +1208 -0
  62. subsequence/progressions.py +1913 -0
  63. subsequence/py.typed +0 -0
  64. subsequence/roles.py +63 -0
  65. subsequence/sequence_utils.py +3123 -0
  66. subsequence/sequencer.py +2086 -0
  67. subsequence/tuning.py +453 -0
  68. subsequence/voicings.py +151 -0
  69. subsequence/web_ui.py +337 -0
  70. subsequence/weighted_graph.py +156 -0
  71. subsequence-0.6.4.dist-info/METADATA +208 -0
  72. subsequence-0.6.4.dist-info/RECORD +78 -0
  73. subsequence-0.6.4.dist-info/WHEEL +5 -0
  74. subsequence-0.6.4.dist-info/entry_points.txt +2 -0
  75. subsequence-0.6.4.dist-info/licenses/LICENSE +661 -0
  76. subsequence-0.6.4.dist-info/scm_file_list.json +193 -0
  77. subsequence-0.6.4.dist-info/scm_version.json +8 -0
  78. subsequence-0.6.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,193 @@
1
+ {
2
+ "files": [
3
+ ".gitignore",
4
+ "pytest.ini",
5
+ "README.md",
6
+ "api-cheatsheet.md",
7
+ "pyproject.toml",
8
+ "LICENSE",
9
+ "sandbox/.gitignore",
10
+ "sandbox/README.md",
11
+ "benchmarks/clock_jitter.py",
12
+ ".github/workflows/tests.yml",
13
+ ".github/workflows/publish.yml",
14
+ ".github/workflows/docs.yml",
15
+ ".github/workflows/type-check.yml",
16
+ "subsequence/held_notes.py",
17
+ "subsequence/link_clock.py",
18
+ "subsequence/midi_utils.py",
19
+ "subsequence/weighted_graph.py",
20
+ "subsequence/harmonic_state.py",
21
+ "subsequence/sequence_utils.py",
22
+ "subsequence/voicings.py",
23
+ "subsequence/definitions.py",
24
+ "subsequence/harmonic_rhythm.py",
25
+ "subsequence/pattern_midi.py",
26
+ "subsequence/groove.py",
27
+ "subsequence/roles.py",
28
+ "subsequence/cadences.py",
29
+ "subsequence/osc.py",
30
+ "subsequence/web_ui.py",
31
+ "subsequence/composition.py",
32
+ "subsequence/display.py",
33
+ "subsequence/chords.py",
34
+ "subsequence/tuning.py",
35
+ "subsequence/event_emitter.py",
36
+ "subsequence/midi.py",
37
+ "subsequence/easing.py",
38
+ "subsequence/forms.py",
39
+ "subsequence/melodic_state.py",
40
+ "subsequence/mini_notation.py",
41
+ "subsequence/pattern.py",
42
+ "subsequence/intervals.py",
43
+ "subsequence/live_reloader.py",
44
+ "subsequence/live_server.py",
45
+ "subsequence/pattern_builder.py",
46
+ "subsequence/progressions.py",
47
+ "subsequence/keystroke.py",
48
+ "subsequence/sequencer.py",
49
+ "subsequence/__main__.py",
50
+ "subsequence/harmony.py",
51
+ "subsequence/pattern_algorithmic.py",
52
+ "subsequence/motifs.py",
53
+ "subsequence/conductor.py",
54
+ "subsequence/form_state.py",
55
+ "subsequence/live_client.py",
56
+ "subsequence/py.typed",
57
+ "subsequence/__init__.py",
58
+ "subsequence/helpers/wing.py",
59
+ "subsequence/helpers/network.py",
60
+ "subsequence/helpers/__init__.py",
61
+ "subsequence/constants/durations.py",
62
+ "subsequence/constants/midi_notes.py",
63
+ "subsequence/constants/pulses.py",
64
+ "subsequence/constants/velocity.py",
65
+ "subsequence/constants/__init__.py",
66
+ "subsequence/constants/instruments/gm_instruments.py",
67
+ "subsequence/constants/instruments/gm_cc.py",
68
+ "subsequence/constants/instruments/vermona_drm1_drums.py",
69
+ "subsequence/constants/instruments/roland_tr8s.py",
70
+ "subsequence/constants/instruments/gm_drums.py",
71
+ "subsequence/constants/instruments/__init__.py",
72
+ "subsequence/chord_graphs/functional_major.py",
73
+ "subsequence/chord_graphs/suspended.py",
74
+ "subsequence/chord_graphs/turnaround_global.py",
75
+ "subsequence/chord_graphs/phrygian_minor.py",
76
+ "subsequence/chord_graphs/dorian_minor.py",
77
+ "subsequence/chord_graphs/hooktheory_major.py",
78
+ "subsequence/chord_graphs/whole_tone.py",
79
+ "subsequence/chord_graphs/aeolian_minor.py",
80
+ "subsequence/chord_graphs/diminished.py",
81
+ "subsequence/chord_graphs/chromatic_mediant.py",
82
+ "subsequence/chord_graphs/lydian_major.py",
83
+ "subsequence/chord_graphs/mixolydian.py",
84
+ "subsequence/chord_graphs/__init__.py",
85
+ "subsequence/assets/web/index.html",
86
+ "scripts/tuner_tone.py",
87
+ "scripts/simulation_gravity.py",
88
+ "scripts/check_docstring_markup.py",
89
+ "scripts/midi_in_observer.py",
90
+ "scripts/generate_cheatsheet.py",
91
+ "examples/bresenham_poly.py",
92
+ "examples/live_patterns.py",
93
+ "examples/labyrinth.py",
94
+ "examples/link_sync.py",
95
+ "examples/live_init.py",
96
+ "examples/demo_advanced.py",
97
+ "examples/iss.py",
98
+ "examples/live_single_file.py",
99
+ "examples/arpeggiator.py",
100
+ "examples/frozen.py",
101
+ "examples/load_patterns.py",
102
+ "examples/emergence.py",
103
+ "examples/subharmonicon.py",
104
+ "examples/demo.py",
105
+ "examples/assets/Swing 16ths 57.agr",
106
+ "tests/test_scheduled_tasks.py",
107
+ "tests/test_tier1_fixes_2026_07.py",
108
+ "tests/test_pattern_algorithmic.py",
109
+ "tests/test_form.py",
110
+ "tests/test_render.py",
111
+ "tests/test_easing.py",
112
+ "tests/test_wing_helper.py",
113
+ "tests/test_weighted_graph.py",
114
+ "tests/test_sequence_utils_density_spread.py",
115
+ "tests/test_velocity_tuple.py",
116
+ "tests/test_midi_input.py",
117
+ "tests/test_detached.py",
118
+ "tests/test_cc_name_map.py",
119
+ "tests/test_motifs.py",
120
+ "tests/test_sequence_utils_scale.py",
121
+ "tests/test_duration.py",
122
+ "tests/test_event_emitter.py",
123
+ "tests/test_harmony_window.py",
124
+ "tests/conftest.py",
125
+ "tests/test_midi_recording.py",
126
+ "tests/test_melody_v2.py",
127
+ "tests/test_review_fixes.py",
128
+ "tests/test_display.py",
129
+ "tests/test_voicings.py",
130
+ "tests/test_mini_notation.py",
131
+ "tests/test_phrases.py",
132
+ "tests/test_key_resolution.py",
133
+ "tests/test_sequencer_dispatch_safety.py",
134
+ "tests/test_progressions.py",
135
+ "tests/test_trigger.py",
136
+ "tests/test_sequence_utils_transforms_list.py",
137
+ "tests/test_intervals.py",
138
+ "tests/test_low_fixes_2026_07.py",
139
+ "tests/test_osc.py",
140
+ "tests/test_instrument_drum_maps.py",
141
+ "tests/test_legato.py",
142
+ "tests/test_sequence_utils_density_combine.py",
143
+ "tests/test_keystroke.py",
144
+ "tests/test_melodic_state.py",
145
+ "tests/test_api_consistency.py",
146
+ "tests/test_hotkeys.py",
147
+ "tests/test_load_patterns.py",
148
+ "tests/test_turnaround_graph.py",
149
+ "tests/test_cc_forward.py",
150
+ "tests/test_motif_placement.py",
151
+ "tests/test_clock_output.py",
152
+ "tests/test_rescheduling.py",
153
+ "tests/test_multi_device.py",
154
+ "tests/test_web_ui.py",
155
+ "tests/test_review_fixes_2026_07.py",
156
+ "tests/test_sequence_utils_density_warp.py",
157
+ "tests/test_cadences.py",
158
+ "tests/test_schedule_context.py",
159
+ "tests/test_definitions.py",
160
+ "tests/test_sequence_utils.py",
161
+ "tests/test_determinism.py",
162
+ "tests/test_live_reloader.py",
163
+ "tests/test_custom_scales.py",
164
+ "tests/test_sequence_utils_transforms_value.py",
165
+ "tests/test_callback_sequence.py",
166
+ "tests/test_midi_helpers.py",
167
+ "tests/test_held_notes.py",
168
+ "tests/test_new_chord_graphs.py",
169
+ "tests/test_chord_quality_registry.py",
170
+ "tests/test_mirror.py",
171
+ "tests/test_sequence_utils_density_to_steps.py",
172
+ "tests/test_mini_notation_integration.py",
173
+ "tests/test_link.py",
174
+ "tests/test_eased_value.py",
175
+ "tests/test_groove.py",
176
+ "tests/test_forms.py",
177
+ "tests/test_latency_compensation.py",
178
+ "tests/test_presets.py",
179
+ "tests/test_live_server.py",
180
+ "tests/test_chord_graphs.py",
181
+ "tests/test_unregister.py",
182
+ "tests/test_composition.py",
183
+ "tests/test_harmony.py",
184
+ "tests/test_harmonic_gravity.py",
185
+ "tests/test_sequence_utils_morse_code.py",
186
+ "tests/test_tuning.py",
187
+ "tests/test_pattern_builder.py",
188
+ "tests/test_conductor.py",
189
+ "tests/test_sequencer_events.py",
190
+ "docs/README.md",
191
+ "docs/build.sh"
192
+ ]
193
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.6.4",
3
+ "distance": 0,
4
+ "node": "gf411c6a7349c3b74737c9e9f1112dd4151f87906",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-19"
8
+ }
@@ -0,0 +1 @@
1
+ subsequence