Add writeChartFile() with Song/SyncTrack/Events/unrecognized-section emission - #70
Open
elicwhite wants to merge 1 commit into
Open
Add writeChartFile() with Song/SyncTrack/Events/unrecognized-section emission#70elicwhite wants to merge 1 commit into
elicwhite wants to merge 1 commit into
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
write-ini-file
branch
from
April 20, 2026 04:17
6bd889d to
7545ae1
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 04:18
44124f3 to
0fd5908
Compare
elicwhite
force-pushed
the
write-ini-file
branch
from
April 20, 2026 04:40
7545ae1 to
6791016
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
2 times, most recently
from
April 20, 2026 04:45
82825de to
7215450
Compare
elicwhite
force-pushed
the
write-ini-file
branch
from
April 20, 2026 04:45
6791016 to
4993c9b
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
write-ini-file
branch
2 times, most recently
from
April 20, 2026 05:10
c983ac5 to
9a075ab
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 20, 2026 05:10
fd3c3e6 to
c0ba5d1
Compare
elicwhite
force-pushed
the
write-ini-file
branch
from
April 20, 2026 05:19
9a075ab to
6826cfb
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
write-ini-file
branch
from
April 21, 2026 04:29
6826cfb to
c6a264e
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
3 times, most recently
from
April 21, 2026 05:06
f1c51b7 to
633eee2
Compare
elicwhite
force-pushed
the
write-ini-file
branch
from
April 21, 2026 05:06
c6a264e to
3fbc70b
Compare
elicwhite
commented
Apr 21, 2026
elicwhite
force-pushed
the
write-ini-file
branch
from
April 21, 2026 16:35
3fbc70b to
cd27523
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
2 times, most recently
from
April 21, 2026 16:38
7e366ee to
b8df59e
Compare
elicwhite
force-pushed
the
write-ini-file
branch
2 times, most recently
from
April 21, 2026 16:51
55a24bd to
a269bd0
Compare
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 16:51
b8df59e to
2c17a17
Compare
…emission Port of the non-instrument-track half of the chart writer into scan-chart: - [Song] emits the subset of metadata the chart body supports (Name, Artist, Charter, Album, Genre, Year, Resolution, Offset, PreviewStart, Difficulty). Other fields live exclusively in song.ini. - [SyncTrack] emits tempos as `B millibeats` and time signatures as `TS numerator [denominator-exponent]`, sorted by tick with TS before B at the same tick. - [Events] emits section markers (wrapped as [section name] to survive the parser's greedy trailing-\] regex), end events, unrecognized global events (with bracket-stripping when source is .mid so round-trip to .chart emits naked text), and vocal phrase_start/phrase_end/lyric events from the normalized vocalTracks.parts.vocals. - Unrecognized chart sections are re-emitted verbatim. Instrument tracks ([ExpertSingle] etc.) land in a follow-up PR.
elicwhite
force-pushed
the
chart-writer-core
branch
from
April 21, 2026 23:18
2c17a17 to
78bd890
Compare
elicwhite
force-pushed
the
write-ini-file
branch
from
April 21, 2026 23:18
a269bd0 to
75b92a6
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.

Port of the non-instrument-track half of the chart writer into scan-chart:
Artist, Charter, Album, Genre, Year, Resolution, Offset, PreviewStart,
Difficulty). Other fields live exclusively in song.ini.
B millibeatsand time signatures asTS numerator [denominator-exponent], sorted by tick with TS before Bat the same tick.
the parser's greedy trailing-] regex), end events, unrecognized global
events (with bracket-stripping when source is .mid so round-trip to
.chart emits naked text), and vocal phrase_start/phrase_end/lyric
events from the normalized vocalTracks.parts.vocals.
Instrument tracks ([ExpertSingle] etc.) land in a follow-up PR.