Skip to content

Extending event encoding beyond notes — prior findings & contribution interest? #1

Description

@OrlandoMuse

Hi Jon — first, thank you for LogicProFormatWriter; synthesizing native .logicx
from pure Python is remarkable work.

I'm building a composition tool that generates orchestral MIDI with dense
continuous controller data (CC1/CC11 expression, pitch bend, pressure), and I'm
evaluating LPW as the foundation for native Logic project export. Notes-only
output isn't viable for my use case, so I'm preparing a donor-diffing effort to
map the remaining region event encodings — and before I start, I'd rather not
re-discover anything you already know.

A few questions, any partial answers hugely appreciated:

  1. Have you mapped (even partially) how CC, pitch bend, pressure, or program
    change events are encoded in region data? Is this on your roadmap?
  2. Are there checksums, length totals, or counted indexes elsewhere in
    ProjectData that must stay consistent when event records are added?
  3. When Logic writes a software-instrument track, which records reference it,
    and how are IDs/indices allocated? Any experience cloning a track at the
    record level?
  4. Have you attempted embedding plug-in (AU) state natively rather than as
    sidecar files — and if so, where did it stall?
  5. What are the known ways to trigger Logic's repair prompt or silent
    normalization on save? Happy to trade: I'll be building a corpus of
    one-difference donor fixtures across these event types.
  6. Which Logic builds have you verified output against, and has anything
    broken across updates?
  7. If my work produces working CC/bend/pressure encoders with fixture tests,
    would you accept PRs upstream?

I'd be glad to contribute donor fixtures, test tooling, and encoders back
under MIT. Thanks for any pointers — even "unknown, good luck" is useful signal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions