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

Add clef map #384

Merged
merged 4 commits into from
Oct 29, 2024
Merged

Add clef map #384

merged 4 commits into from
Oct 29, 2024

Conversation

leleogere
Copy link
Collaborator

This PR adds a new clef_map function, in the continuity of time_signature_map and key_signature_map. As at each time point there are as many clefs as staves, for a n-staves part, the map function will return an array of shape (n, 4):

np.array([
    [1, 0, 2, 0],  # treble clef on staff 1
    [2, 1, 4, 0],  # bass clef on staff 2
    ...
    [n, 2, 3, 0],  # ut3 clef on staff n
])
# each line is: [staff_no, clef_id, line, octave_shift]

@manoskary manoskary changed the base branch from main to develop October 3, 2024 16:26
@manoskary manoskary requested a review from sildater October 3, 2024 16:43
@manoskary manoskary added the enhancement New feature or request label Oct 3, 2024
@manoskary manoskary linked an issue Oct 3, 2024 that may be closed by this pull request
@sildater sildater changed the base branch from develop to clef_map_testing October 29, 2024 10:35
Copy link
Member

@sildater sildater left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice contribution! I changed base to a new testing branch, so I can easily commit minor changes and test against a file with missing clef. I'll open a new PR as soon as I have done this.

@sildater sildater merged commit faa6b52 into CPJKU:clef_map_testing Oct 29, 2024
This was referenced Oct 29, 2024
manoskary added a commit that referenced this pull request Feb 27, 2025
PR for Version 1.6.0.

The following changes were applied:

# Updated Merge Report

below the updated notes for this PR to include most recent changes

## PR for version 1.6.0

This new version addresses multiple changes, bug fixes and new features:

### New features
- Measure refactor for musicxml, match, midi, note array to part in #376
- Measure feature #377
- Clef feature #382
- Clef map #384 #396
- Stem direction #392 
- Support for cross staff voices in mei #397
- Improved parsing of Kern scores #413 
- Fixed import for performance pedal #399 
- Tick Units are now supported for pianoroll creation #412 
- Scores can be loaded directly for URL #404 
- Support for invisible objects in musicxml import #401 
- Support for Fingering annotations in MusicXML and MEI import/export #403 

### Bug fixes
- Corrected `get_time_maps_from_alignment` #360
- Corrected metrical strength features #364
- Corrected offsets for tied notes #366
- Fixed import issue #368
- Fixed Kern parsing #370
- Duration of Chord Notes #418 
- Corrected symbolic note duration #372
- Fixed tuplet bug #387
- Addressed sorting for enharmonic notes #407 
-  Fixes eq bug on performed notes #422
- Fixed timing-tempo change bug #427 

### Other Changes
- Added check for empty note array #361
- Improved documentation #362 #364
- Removed default voice estimation #373
- Added warning #379 
- Removed ordering in musicxml export #391
- Improved Fingering parsing in MusicXML that could result to errors #416
- Replaced Deprecated Scipy Function #417 
- Improved support for input and export in musicxml tuplet object
- New option to force add new segments #410
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: add a clef_map
3 participants