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

proposal: repurposing obsolete event IDs #118

Open
majorcob opened this issue Jun 24, 2024 · 1 comment
Open

proposal: repurposing obsolete event IDs #118

majorcob opened this issue Jun 24, 2024 · 1 comment

Comments

@majorcob
Copy link

The event IDs in question are BEATCLOCK, BEATTEMPO, BEATNUM, REPEAT, and LAST. I've been experimenting with the obsolete event IDs and how pxtone handles them in the modern "v5" ptcop format (which is the only format that the public pxtone lib, and thus ptcollab, can export). The only code associated with them is used when loading a project with an older format, where the events are removed and converted into the appropriate project-level values. It follows, then, that these events are completely inert if somehow present in a v5 project, so Collage will not do anything with them (although selection-based manipulations in Collage will still affect them).

Therefore, if there is interest in adding such functionality, these event IDs could be used "harmlessly" by ptcollab to provide additional features encoded in the ptcop itself that will not break Collage. My personal preference regarding new ptcollab features matches the precedent hitherto, which is to say that:

  1. the rendered output of the project should remain the same between ptcollab and Collage; and

  2. Collage should not clobber the additional features of the project, even if the functionality is not directly replicable in Collage.

For example, snap-Y / non-chromatic pitch is acceptable because it meets both of these criteria, but implementing tempo-change events in ptcollab would cause an output discrepancy between the two programs and would thus not be acceptable IMO.

With that in mind, I would find it valuable to repurpose some unused event ID for a "comment" marker that allow the user to enter very short text, using the 32-bit event value repurposed into an array of 4 UTF-8(?) bytes. I'm imagining that these would appear floating at the top of the piano roll, below any pinned units. They would also be handy as a basic way to separate sections of a song, such that when a comment marker is clicked, the editor would automatically create a selection from that location until the next comment marker.

@yuxshao
Copy link
Owner

yuxshao commented Jun 24, 2024 via email

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

No branches or pull requests

2 participants