c0dev0id
923aa5d41a
Add AM modulation support to parser and exporter
2026-06-24 16:19:24 +02:00
c0dev0id
1706404b7e
Simplify: remove dead code and redundancy across vue app
...
- Delete ObjectBasic (defined, never imported)
- ObjectShort: remove unused node prop
- exporter: export stressorToString; use in patchBarMeta (removes inline duplicate)
- PaneFO: import stressorToString from exporter; extract H4 style constant,
shapeSection() helper, instrOnChange() helper; remove apply param from
makeChangeHandler (was always () => markDirty()); remove unnecessary ?.
on always-initialized arrays (variations, labelSpecs, subvariations)
- PaneSubObjects: explicit hasChildren on all item kinds; bars at score
level get hasChildren based on voices; remove stale kind-list fallback
- ast-parser coerce(): remove unreachable s.trim() check ('' handled above)
- PaneCP: fix post-export synthesisStatus reset to use real field names
2026-06-24 16:08:52 +02:00
c0dev0id
9eb4add695
Make bars navigable and editable with _meta export
...
Navigation:
- SubObjects: bar → voice (with chevron when offsets exist) → offsets
- PaneCP shortView handles voice and offset types
FO pane:
- Bar: editable beats_per_minute, stress_pattern (serialized as
groups string), upper/lower stress bounds and tempo shape via
ShapeEditor; sets bar.isDirty on change
- Voice: read-only name, articles, motifs, offset count
- Offset: read-only tick, stem notes and clusters as label strings
(note re-serialization deferred)
Export:
- exporter.patchScore() now accepts optional bars[] parameter
- Splits rawScoreText by \n---\n; instruments patched in header,
dirty bar _meta blocks regenerated, voice note lines kept verbatim
- ast-parser buildBar() adds isDirty:false
- PaneCP passes scoreModel.bars to patchScore
2026-06-24 13:25:23 +02:00
c0dev0id
4c392927cf
Fix subvariation display, progress bar, and linked-instrument discard
...
- ast-parser: read for_value= prop for sub-variations (was always null,
causing fallback to positional "subvariation N" label)
- StatusPoller: calculate progress from currently_rendered_notes /
notes_in_total; show remaining_time string from status.json
- ShapeEditor/EnvelopeEditor: pass { undo } through onChange so callers
can revert in-place mutations
- PaneFO: makeChangeHandler stashes undo from info arg; discardEdit
calls undo() before clearing pendingEdit; depends_on handler provides
its own undo for the inline node.dependsOn mutation
2026-06-23 21:28:53 +02:00
c0dev0id
c8b8d03e3f
Apply RFC-compliant ast-parser and exporter
...
- ast-parser: railsbackCurve moved to variation level, FM shape child
parsing, buildLabelSpec direct A/S/R handling, bar IDs as opaque strings
- exporter: RFC-compact shape format, correct instrument NAME: key,
patchScore regex fixed, RAILSBACK_CURVE emitted from variationLines
- .gitignore: exclude test-parser.mjs pending author confirmation
2026-06-22 10:52:32 +02:00
Florian "flowdy" Heß
822e2c9f42
Added files generated by Claude, prompted by sdk based on the md files
2026-06-21 19:23:54 +02:00