8 lines
813 B
Markdown
8 lines
813 B
Markdown
# Architecture
|
|
|
|
`core/midi.ts` turns a bounded SMF byte stream into inert tracks and absolute-tick events. Chunk boundaries, four-byte VLQs, running status, event counts, SysEx size, PPQN division and known fixed-length meta events are validated before data is exposed. Editing functions clone this model and preserve stable event ordering.
|
|
|
|
`Workbench.tsx` keeps the last valid document during failed imports or operations. The SVG piano roll renders at most 5,000 notes. Playback maps ticks through the tempo map, creates fixed application-owned sine oscillators and can stop immediately by closing the active `AudioContext`; imported bytes never become code or remote references.
|
|
|
|
All Vite assets use relative paths for nested portal mounting. Release packaging fixes ZIP ordering, timestamps and permissions.
|