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

Split dotGroups to its own subclass

Abierto
#1,969 0 comentarios 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
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
backend

Línea de trabajo

The change centres on the Duration class and its dotGroups attribute, which the issue says exists on every Duration. Start by finding where dotGroups is set and read, then see how a dotted-dotted duration is currently expressed in medieval and renaissance transcription. Done means a DottedDottedDuration subclass carries dotGroups, ordinary durations no longer do, and the existing duration tests still pass. Confirm the design with the maintainers before editing, since this changes a core class.

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

Descripción

enhancement

Motivation

Music21 -- Goal 1: representing so much of the world's music. Goal 2: easy of use and speed.

DotGroups are part of goal 1 -- they are used in the transcription of medieval and renaissance music to represent things like a dotted-dotted-half note (not a doubled dotted half note; a full measure of 9/8).

They're not used anywhere else.

But DotGroups exist in every Duration.

Instead make a DottedDottedDuration and move dotGroups there.

This should give a good simplification and speedup to 99.99% of durations, while still allowing modern editions of medieval music to express these important durations.

Also gives an implementation hint about how CrumbDots could exist.
https://prolatio.blogspot.com/2013/10/advanced-dotting.html

Intent

[x] 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.