Skip to content

Editing Constraints #2

Description

@garakmon

List of some constraints to enforce (with sources if I remember) for valid songs. The limiting factors include the gba hardware, the mp2k engine, and the MIDI standard. This should (hopefully) also keep track of the variables which need to be read from the projects.

  1. The regular constraints of a MIDI file should be obvious and do not need outlining.

  2. mp2k limits:

  • 16 tracks maximum [MAX_MUSICPLAYER_TRACKS in include/gba/m4a_internal.h]
  • 12 tracks maximum for direct sound [MAX_DIRECTSOUND_CHANNELS in include/gba/m4a_internal.h]
  • 3 max nested patterns [patternStack in include/gba/m4a_internal.h]
  1. gba limits (because theoretically users could modify the mixer or sound engine):
  • 4 PSG channels [gbatek - GBA Sound Controller]
    • should warn when more than 4 PSG notes are sounding at the same time across the whole song because any more will be stolen
  • (the 2 DMA sound channels get mixed so maybe don't need warnings for DS?)
  • 8-bit sound samples [gbatek - GBA Sound Controller]
    • auto convert to 8-bit? or warn?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions