Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSON export doesn't include dpcm mapping #104

Open
nstbayless opened this issue Mar 17, 2023 · 0 comments · May be fixed by #105
Open

JSON export doesn't include dpcm mapping #104

nstbayless opened this issue Mar 17, 2023 · 0 comments · May be fixed by #105

Comments

@nstbayless
Copy link

nstbayless commented Mar 17, 2023

Edit: Pull Request

Here's an example from .instruments[0] in a json export from a simple 0cc file containing only a dpcm channel.

You'll notice that there's no way to tell what dpcm samples are mapped to what notes. In this 0cc file, C#3 is keyed to a dpcm sample, but there's no way to tell this looking at the JSON.

{
  "chip": "2A03",
  "dpcm_map": [
    {
      "delta": -1,
      "dpcm_index": 0,
      "loop": false,
      "pitch": 13
    },
    {
      "delta": -1,
      "dpcm_index": 0,
      "loop": true,
      "pitch": 15
    },
    {
      "delta": -1,
      "dpcm_index": 0,
      "loop": true,
      "pitch": 12
    },
    {
      "delta": -1,
      "dpcm_index": 0,
      "loop": true,
      "pitch": 12
    }
  ],
  "index": 0,
  "name": "New instrument",
  "sequence_flags": []
}

I've verified that this information isn't encoded anywhere else in the json output by editing the key mapping in two different ways and diffing the resulting files (identical).

To resolve this, either a new field must be added to the entries in .instruments[].dpcm_map[], or else .instruments[].dpcm_map must be changed from a list to an object keyed by note.

@nstbayless nstbayless linked a pull request Mar 18, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant