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

Roles API #9

Closed
btmxh opened this issue Sep 14, 2023 · 2 comments
Closed

Roles API #9

btmxh opened this issue Sep 14, 2023 · 2 comments

Comments

@btmxh
Copy link
Owner

btmxh commented Sep 14, 2023

Replacement API for contain/contributing factors.

Instead of blindly calculating the factors and only including the results in the output files, this API also provide metadata for the relationships between objects, which can be extracted to find out e.g. who is the vocalist of this track, etc.

In the future, all contain/contributing factors would become matrices, so simply evaluating the expression via JS will no longer be sufficient. Previously used number variables like vocal, image, etc. will be turned into a more standardized primitive contributing factors, and one can do arithmetic with them to get the correct roles.

Aside from the primitive roles, there will be helper composite roles like inst=compose+arrange to make things easier, but these roles won't be available in the output files. Also, previously people have been referring to compose as inst/3 (or inst/2 since we removed the lyrics from inst), and this will have a different meaning in the new API, so one would need to correct it back to compose.

@btmxh
Copy link
Owner Author

btmxh commented Sep 14, 2023

ROADMAP:

  • add support in schema
  • add extensions (DAH_entry_roles)
  • add support in parser
  • replace number factors by matrix factors in core NRS
  • migrate nrs-impl

@btmxh
Copy link
Owner Author

btmxh commented Sep 14, 2023

okay maybe this will not be a complete replacement, since stuff like total*0.3 doesn't mean shit, so i think the 2 apis will have to coexist. if you want metadata use this, otherwise use the legacy api

@btmxh btmxh closed this as completed Sep 18, 2023
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

1 participant