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

It’s time to clarify the responsibilities of each repository. #168

Open
NeroBlackstone opened this issue Oct 3, 2023 · 1 comment
Open

Comments

@NeroBlackstone
Copy link
Member

NeroBlackstone commented Oct 3, 2023

I think most of juliaMusic's projects are in disarray. On the one hand, we lack of active community members to maintain them, and on the other hand, we do not clearly define the specific responsibility of each package under the organization.

Therefore, we always add functions to the wrong package.

For example, midi.jl contains IsOctave(), Obviously midi.jl should focus on midi parsing rather than music theory, and this function is more suitable to be placed in MusicManipulation.jl.

Another example is that we can find visualization code in MusicProcessing.jl, while these functions should be present in MusicVisualization.jl.

So, it is time to clearly define the concerns of each package in the form of documentation to prevent such confusion from happening again.

When we merge code or add functionality, we should keep in mind whether we are outside the scope of the package.

@Datseris
Copy link
Member

Datseris commented Oct 3, 2023

MIDI.jl is generally about the "MIDI" representation of musical instruments performances, i.e., the quantized format within musical instrument output is recorded. It is not only read/write. Otherwise it wouldn't have the Notes type or the pitch2string, etc...

MusicManipulations.jl is about handling midi data from the aspect of them representing music. I.e., a structured format. Yes, you are right, is_octave belongs more to MusicManipulations.jl. But don't focus too much on a strict separation, there will always be ambiguous cases.

For the plotting stuff, you are right of course, no plotting should be in music manipulations. But plotting anyways has to be re-written from scratch in Makie.

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