-
e09fbbae45
Fix OSC receiver port binding, add long attack/decay envelope
path_navigator_app
Michael Winter
2026-04-01 21:53:33 +0200
-
2a17339edc
Add octave offset for play-freq, adjustable via UI input
Michael Winter
2026-04-01 18:39:13 +0200
-
990e59b1d6
Fix edge bug: add broke flag to match Python for-else behavior
Michael Winter
2026-04-01 18:01:09 +0200
-
7259cd67bd
Add weighted cross-chord edges: 100x weaker than regular edges
Michael Winter
2026-04-01 17:48:47 +0200
-
ab7e949f07
Clean up unused API endpoints and server code
Michael Winter
2026-04-01 17:14:15 +0200
-
b4d6ea81a1
Fix: use change event instead of input for spinner buttons
Michael Winter
2026-04-01 17:02:08 +0200
-
c1f11184af
Add input listener back for spinner buttons
Michael Winter
2026-04-01 16:57:00 +0200
-
e819c374e4
Fix fundamental setting: remove input listener that spams server, only send on Enter/arrows
Michael Winter
2026-04-01 16:55:29 +0200
-
5b92e4ff83
Fix calculate_cents - use simple math.log2 instead of broken bit_length logic
Michael Winter
2026-04-01 16:47:45 +0200
-
8f332fac52
Add batch API endpoints for cents calculation, client fetches cents from server
Michael Winter
2026-04-01 16:44:20 +0200
-
c6bb3a12ce
Move graph computation from server to client
Michael Winter
2026-04-01 16:37:45 +0200
-
79e1259f5b
Add filepath input for loading any JSON file via API
Michael Winter
2026-04-01 16:33:13 +0200
-
a93ade34b4
Simplify UI: remove file dropdown, auto-send fundamental on keypress
Michael Winter
2026-04-01 13:18:09 +0200
-
94b34b4dc4
Add Shift+click for siren and k/K for kill
Michael Winter
2026-04-01 13:01:50 +0200
-
6ab162003e
Add OSC playback to path navigator webapp
Michael Winter
2026-04-01 11:23:24 +0200
-
dff8a4e6c2
Add all-chords continuous canvas with xforce bounds and pan navigation
Michael Winter
2026-04-01 09:59:30 +0200
-
2b7c882bc9
Fix column width in chord panel tables
Michael Winter
2026-04-01 09:18:39 +0200
-
e0bacce10a
Apply sleek black theme and table format for chord panels
Michael Winter
2026-03-31 19:17:37 +0200
-
00cfac2e5c
Add Cytoscape.js with custom xforce layout for chord visualization
Michael Winter
2026-03-31 18:44:47 +0200
-
88a9528e12
Add Flask server with Python backend for Path Navigator
Michael Winter
2026-03-30 22:38:52 +0200
-
2a027ba552
Add prev/current/next graph panels to Path Navigator
Michael Winter
2026-03-30 22:17:01 +0200
-
6924c85d19
Add vertical node positioning by frequency in Path Navigator
Michael Winter
2026-03-30 22:09:07 +0200
-
27d34fdafc
Add Path Navigator webapp for visualizing chord paths
Michael Winter
2026-03-30 21:06:14 +0200
-
3e0f2bc906
Add target register oscillations, amplitude, and fix negative target_register
main
Michael Winter
2026-03-30 20:47:20 +0200
-
dfdc0497a0
Add independent voice control to OSC sender with improved display
Michael Winter
2026-03-28 17:13:51 +0100
-
1dff1022ce
Add custom dims support via --dims-custom and update JSON output format
Michael Winter
2026-03-28 15:12:14 +0100
-
bb7a9ccb21
Add DIMS_3 support and fix dim_diff for prime 11
Michael Winter
2026-03-28 13:51:05 +0100
-
7dd7f23611
Fix uniform symdiff to fallback to other symdiff groups when no valid candidates
Michael Winter
2026-03-27 10:14:33 +0100
-
863423ca7a
Add uniform symdiff selection and store symdiff in graph edges
Michael Winter
2026-03-27 10:05:14 +0100
-
74aa937ec2
Add --target-register-power option to curve target register progression
Michael Winter
2026-03-26 15:41:41 +0100
-
8ea5c4fe0c
Use --fundamental for frequencies output as well as OSC
Michael Winter
2026-03-25 10:28:04 +0100
-
44506eed14
Add source_node and destination_node to path_steps.json
Michael Winter
2026-03-25 10:23:44 +0100
-
c1ff66265d
Fix max-path to represent total chord count instead of edge count
Michael Winter
2026-03-24 11:57:04 +0100
-
6245ce5e27
Make JSON output more readable - each pitch on one line
Michael Winter
2026-03-24 11:04:21 +0100
-
4804c0c244
Add LilyPond transcriber documentation to README
Michael Winter
2026-03-23 20:09:03 +0100
-
0f419a15b5
Add dynamic date placeholder to score template
Michael Winter
2026-03-23 20:01:51 +0100
-
c0ffaac95f
Use SemiStaffGroup in generated score
Michael Winter
2026-03-23 20:00:21 +0100
-
4ffbcc79d2
Fix score block structure - wrap staves in StaffGroup
Michael Winter
2026-03-23 19:55:48 +0100
-
6bf97e5abe
Make LilyPond template dynamic - title and staves generated from parameters
Michael Winter
2026-03-23 19:54:50 +0100
-
306de8b5c2
Add --transcribe option to CLI for generating LilyPond transcriptions
Michael Winter
2026-03-23 19:46:00 +0100
-
9dbde6a63d
Fix PDF output location and set default name
Michael Winter
2026-03-23 19:23:53 +0100
-
a0723e5ae3
Show dimension markup for first chord using refs within same chord
Michael Winter
2026-03-23 19:15:49 +0100
-
658837b83e
Fix transcriber to compute ref and dim_diff from chord data
Michael Winter
2026-03-23 19:12:22 +0100
-
d0bd15574d
Fix asymmetric connectivity in voice leading graph
Michael Winter
2026-03-23 18:46:14 +0100
-
dd637e64e2
Add LilyPond transcriber module
Michael Winter
2026-03-23 10:00:44 +0100
-
326ae9da1b
Add OSC Sender documentation to README
Michael Winter
2026-03-20 06:58:00 +0100
-
8326fc1d11
Add interactive OSC sender with preview mode and chord navigation
Michael Winter
2026-03-19 15:57:17 +0100
-
4a1e1f7ec2
Simplify quit: use Escape key instead of Ctrl+C
Michael Winter
2026-03-17 17:41:09 +0100
-
d2c88ccc3f
Use select with timeout for keyboard input
Michael Winter
2026-03-17 17:26:23 +0100
-
fd4b89670e
Fix Ctrl+C handling in OSC playback
Michael Winter
2026-03-17 17:19:52 +0100
-
ea3acf9efe
Replace --osc-enable with --osc-play
Michael Winter
2026-03-17 17:10:37 +0100
-
1ccab2088f
Add OSC sender for real-time playback
Michael Winter
2026-03-17 16:47:30 +0100
-
e687087e76
Fix fraction representation in output
Michael Winter
2026-03-17 15:30:05 +0100
-
e4b6d2cfdc
Rename 'target range' to 'target register' throughout
Michael Winter
2026-03-17 14:11:21 +0100
-
24709c3eda
Update README with complete CLI docs and rename args
Michael Winter
2026-03-17 09:11:25 +0100
-
146918c596
final weight is now product of factors raised to an exponent rather than sum
Michael Winter
2026-03-17 08:41:18 +0100
-
7809fa5a76
Refactor: Move factor methods to Path class, add normalized_scores
Michael Winter
2026-03-16 18:59:13 +0100
-
482f2b0df5
Refactor: Rename sustain/last_visited fields for consistency
Michael Winter
2026-03-16 17:35:07 +0100
-
861d012a95
Refactor: Unify Candidate and PathStep, fix DCA Hamiltonian
Michael Winter
2026-03-16 16:53:22 +0100
-
400f970858
Rename graph.py to pathfinder.py
Michael Winter
2026-03-16 16:13:19 +0100
-
b349ee89bc
Extract DIMS to separate dims.py module
Michael Winter
2026-03-16 15:50:02 +0100
-
ed13c006b0
removing errant session file
Michael Winter
2026-03-16 15:34:14 +0100
-
6d3cbd83e9
Fix cent_diffs to store signed values
Michael Winter
2026-03-16 14:53:13 +0100
-
1eb95ffad7
Refine melodic threshold to continuous scoring
Michael Winter
2026-03-16 14:11:27 +0100
-
1926930c3d
Refactor PathStep to represent edges with source/destination and before/after state
Michael Winter
2026-03-16 14:00:10 +0100
-
c682a1df02
Fix voice stay count to match master behavior
Michael Winter
2026-03-16 02:27:21 +0100
-
f2b785c98e
Encapsulate voice-leading in Path.step()
Michael Winter
2026-03-16 01:11:15 +0100
-
66669de00f
Add Path and Candidate classes for path state tracking
Michael Winter
2026-03-16 00:39:32 +0100
-
b20f02b60f
Fix DCA Hamiltonian: normalize by max instead of sum
Michael Winter
2026-03-15 13:04:00 +0100
-
218d7a55ff
Refactor DCA factor: rename to DCA Voice Movement and DCA Hamiltonian
Michael Winter
2026-03-15 12:20:12 +0100
-
8cdbe90501
Normalize edge weights with sum normalization
Michael Winter
2026-03-15 12:04:08 +0100
-
ebbb288844
Implement weighted contrary motion factor
Michael Winter
2026-03-15 11:31:24 +0100
-
559c868313
Fix Hamiltonian analysis and add DCA stay count metrics
Michael Winter
2026-03-15 11:13:24 +0100
-
34a6ebfabd
Add per-factor analysis metrics
Michael Winter
2026-03-15 10:48:06 +0100
-
16ecb192d1
Add analysis tool for chord sequences
Michael Winter
2026-03-15 10:42:22 +0100
-
0dbdfe02cb
Start target range from first chord average
Michael Winter
2026-03-14 03:24:04 +0100
-
cc3c1ab971
Use average cents for target range tracking
Michael Winter
2026-03-14 03:09:46 +0100
-
2fe8737cfe
Improve target range factor with relative distance
Michael Winter
2026-03-14 03:05:23 +0100
-
737f1e4886
Refactor edge weights with DCA and CLI improvements
Michael Winter
2026-03-14 02:44:30 +0100
-
61149597c9
Add target range weight for rising register
Michael Winter
2026-03-13 22:04:48 +0100
-
4ae83f857b
Add tests for src module (Pitch, Chord, HarmonicSpace)
Michael Winter
2026-03-13 19:11:50 +0100
-
8a03269298
Stop tracking session and AGENTS files
Michael Winter
2026-03-13 19:05:29 +0100
-
a17a7e448c
Clean up: remove ipynb/txt, move scd to supercollider/, update gitignore
Michael Winter
2026-03-13 19:02:24 +0100
-
cd9c9ce037
Add README and GPLv3 LICENSE
Michael Winter
2026-03-13 18:51:28 +0100
-
3e22346cf9
Add legacy code from compact_sets_sandbox
Michael Winter
2026-03-13 18:45:13 +0100
-
0698d01d85
Refactor into src/ module with caching and CLI improvements
Michael Winter
2026-03-13 18:38:38 +0100
-
dd9df2ad33
Fix Hamiltonian to track untransposed graph nodes
Michael Winter
2026-03-13 05:07:24 +0100
-
40a8996b4e
Rename _calc_symdiff_expanded to _calc_symdiff
Michael Winter
2026-03-13 04:35:17 +0100
-
2df55d8c16
Fix outdated docstring in _build_movement_maps
Michael Winter
2026-03-13 04:33:17 +0100
-
a5efc548e5
Clean up code: remove unused imports, variables, and functions
Michael Winter
2026-03-13 04:27:55 +0100
-
cfab07da88
Sort chords in generate_connected_sets and simplify voice crossing detection
Michael Winter
2026-03-13 04:16:48 +0100
-
ba3ded82d8
Fix voice crossing detection
Michael Winter
2026-03-13 01:25:18 +0100
-
c63b6cb1d4
Add frequency output file (fundamental=100Hz)
Michael Winter
2026-03-13 01:11:18 +0100
-
b89ff9c184
Add hamiltonian weight to favor unvisited nodes
Michael Winter
2026-03-13 01:06:57 +0100
-
f04b1baa49
Fix import: move permutations to top-level
Michael Winter
2026-03-13 00:59:22 +0100
-
fa19b7877f
Clean up unused code
Michael Winter
2026-03-13 00:55:27 +0100
-
c44dd60e83
Fix transposition deduplication and rename expand to project
Michael Winter
2026-03-13 00:28:34 +0100
-
69f08814a9
Store edge properties at build time: cent_diffs, voice_crossing, is_directly_tunable
Michael Winter
2026-03-12 20:06:14 +0100
-
b7b95bb849
Remove movement_size weight as redundant with melodic threshold
Michael Winter
2026-03-12 19:41:48 +0100
-
e13e9ba3bc
Add voice crossing check - reject edges where voices cross
Michael Winter
2026-03-12 19:19:47 +0100