Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Add xmlID as a property of at least note and rest objects when parsing xml/mei scores

Abierto
#1,670 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python, xml
Área
data

Línea de trabajo

Start with the note.Note and note.Rest classes and the base object class that defines priority and sortTuple(), then check how the MusicXML and MEI parsers set element ids. Decide whether xmlID is a new string attribute or reuses priority, which the issue leaves open. Done means Note().xmlID returns None by default and the parsed id for notes and rests from an MEI or MusicXML file, with tests covering both cases.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Motivation

Adding xmlID as a property would be useful to people who want to be able to go between music21 analysis and the score itself easily. This would greatly facilitate taking analysis done with music21 and encoding it into the symbolic notation file itself. This would be similar to how scores parsed in music21 have a "priority" property which is very useful when analyzing kern scores and wanting to go between music21 and the symbolic notation file easily.

Feature summary
Add xmlID as a property on objects of potentially all types, but at the very least notes and rests. Alternatively, since this only applies to xml and mei scores and those file types do not make use of the "priority" property, priority could serve double duty as the xml id property name. Though I believe priority is currently ints and xml ids would have to be strings, and xml ids can't be used in the sort order (object.sortTuple()) like priority can.

Proposed implementation
n = note.Note()
print(n.xmlID) # -> should print "None" for notes that aren't from an xml or mei file (or are but don't have the property), and the xml id string otherwise

Optionally, describe the implementation or the interface, in code or pseudocode.

Intent

I could potentially submit this pr myself if there is interest for it.
[√] I plan on implementing this myself.
[ ] I am willing to pay to have this feature added.
[ ] I am starting a discussion with the hope that community members will volunteer their time to create this. I understand that individuals work on features of interest to them and that this feature may never be implemented.

Lenguaje dominante
Python
Estrellas
2.6k
Forks
459
Merge medio
1 d 7 h
PR fusionados (30 d)
40

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cuthbertLab/music21

Todos los issues de cuthbertLab/music21

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.