writeChartFile: emit instrument track sections - #71
Open
elicwhite wants to merge 1 commit into
Open
Conversation
This was referenced Apr 20, 2026
Owner
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
This was referenced Apr 20, 2026
elicwhite
marked this pull request as ready for review
April 20, 2026 04:16
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 04:18
44124f3 to
0fd5908
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 20, 2026 04:18
d34492e to
6392059
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 04:40
0fd5908 to
82825de
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 20, 2026 04:40
6392059 to
384bfaf
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 04:45
82825de to
7215450
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 20, 2026 04:45
384bfaf to
6251e3a
Compare
This was referenced Apr 20, 2026
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 05:09
7215450 to
fd3c3e6
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 20, 2026 05:09
6251e3a to
c88be8b
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 05:10
fd3c3e6 to
c0ba5d1
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
2 times, most recently
from
April 20, 2026 05:19
88f54cf to
ae62751
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 05:19
c0ba5d1 to
b8bec0b
Compare
This was referenced Apr 20, 2026
This was referenced Apr 20, 2026
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 04:29
ae62751 to
b9fc02c
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
2 times, most recently
from
April 21, 2026 04:47
5e65d2c to
f1c51b7
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 04:48
b9fc02c to
0c2d229
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 05:06
f1c51b7 to
633eee2
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 05:06
0c2d229 to
0b6770f
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 16:35
633eee2 to
7e366ee
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 16:35
0b6770f to
46def19
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 16:38
7e366ee to
b8df59e
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 16:38
46def19 to
78f6b77
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 16:51
b8df59e to
2c17a17
Compare
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 16:51
78f6b77 to
143d91d
Compare
Completes writeChartFile with per-track section emission: - [ExpertSingle], [HardDrums], etc. named from instrument + difficulty. - Drum tracks: base notes (N 0..4 or 0..5 for 5-lane), cymbal markers (N 66/67/68) only in fourLanePro, accent (N 34..38) and ghost (N 40..44) markers matching the emitted note's eventType, one N 109 flam per group, double kick as N 32 only. - 5-lane round-trip: greenDrum+cymbal emits as N 4 (orange) while plain greenDrum stays at N 5; blueDrums coinciding with greenDrum+cymbal emit as N 5 to keep the parser's drumType detection on fiveLane. - Fret/GHL tracks: notes via the 5-fret and 6-fret maps, tap as N 6, forceUnnatural (N 5) when the note's hopo/strum flag disagrees with the natural-HOPO state. - Star power S 2, activation lanes S 64, flex lanes S 65/66, versus phrases S 0/1, solo sections as E 'solo'/'soloend' (tick + length - 1 for soloend to round-trip). - Per-track text events (including disco flip mix markers). - Disco-flip state transitions per difficulty from red/yellow drum disco/discoNoflip flags → 'mix <diff> drums0[d|dnoflip]' text events. - Coda events: if no 'coda' in unrecognizedEvents, synthesize from drumFreestyleSections where isCoda=true. - hasForcedNotes backstop: if hasForcedNotes is set but no forceUnnatural emitted, append N 5 0 at a vacant tick in the first fret track to preserve the flag on round-trip.
elicwhite
force-pushed
the
chart-writer-tracks
branch
from
April 21, 2026 23:18
143d91d to
914ea70
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 23:18
2c17a17 to
78bd890
Compare
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.

Completes writeChartFile with per-track section emission:
(N 66/67/68) only in fourLanePro, accent (N 34..38) and ghost (N 40..44)
markers matching the emitted note's eventType, one N 109 flam per group,
double kick as N 32 only.
greenDrum stays at N 5; blueDrums coinciding with greenDrum+cymbal emit
as N 5 to keep the parser's drumType detection on fiveLane.
forceUnnatural (N 5) when the note's hopo/strum flag disagrees with
the natural-HOPO state.
phrases S 0/1, solo sections as E 'solo'/'soloend' (tick + length - 1
for soloend to round-trip).
disco/discoNoflip flags → 'mix drums0[d|dnoflip]' text events.
drumFreestyleSections where isCoda=true.
emitted, append N 5 0 at a vacant tick in the first fret track to
preserve the flag on round-trip.