Bugs & Limitations
Known constraints in Margrete RPC, and how to work around them.
Event scanning
Because of a limitation in Margrete, the plugin scans for events instead of reading them directly. This has two practical consequences:
- Events far past the last note may not be read. By default, the scan covers up to 19200 ticks beyond the last note.
- Charts with many events can be slow to open. Dead Soul is a known example containing many scroll-speed events (
TimelineSpeedEvent).
Workarounds
Use the open_edit parameters described in Edit Transactions to control the scan:
with m.open_edit(
# ticks to scan past the last note (default: 19200)
event_scan_lookahead_ticks=1920 * 4,
) as tx:
...Or provide an explicit list of TIL to scan:
with m.open_edit(event_scan_til_ids=[0, 1, 2]) as tx:
...Pass event_scan_til_ids=[] to scan common TIL (0 — 15).
Undo note deletion
When your code deletes notes, pressing Undo in Margrete restores those notes in a duplicated state instead of cleanly reversing the deletion.
Workarounds
- Use
Margrete.undo()instead of undoing in Margrete.