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

Annotations #2789

Closed
wants to merge 4 commits into from
Closed

Annotations #2789

wants to merge 4 commits into from

Conversation

rragrawal
Copy link
Contributor

This branch implements Annotation support for MuseScore.

@rragrawal rragrawal mentioned this pull request Aug 20, 2016
@@ -134,9 +135,12 @@ static const ElementName elementNames[] = {
ElementName("InstrumentChange", QT_TRANSLATE_NOOP("elementName", "Instrument Change")),
ElementName("Harmony", QT_TRANSLATE_NOOP("elementName", "Chord Symbol")),
ElementName("FretDiagram", QT_TRANSLATE_NOOP("elementName", "Fretboard Diagram")),
ElementName("TextAnnotation", QT_TRANSLATE_NOOP("elementName", "TextAnnotation")),

Copy link
Contributor

Choose a reason for hiding this comment

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

why are these extra blank lines here?

@rragrawal rragrawal force-pushed the Annotations branch 5 times, most recently from 499c437 to c80fc5c Compare August 26, 2016 13:32
Push textannotation

read is working now

Remove reference to annotation.h

Enable layer/tag mechanism for Annotations

Create RangeAnnotation class

Add annotation as a separate menu item

Implement tentative range annotation box

Implement Range based annotation with Highlight - 1

Add highlight for single note

Add highlighting for a single note, remove check for hasAnnotation

Range Annotation works for bass clef staff as well

Single note highlight works for different note durations

Implement range annotation as a spanner

Change back file mode

Compute segment type

complete layoutSystem, edit annotation segment class

Hook up command for range annotation, edit element types

set start element, end element

add rangeannotation to spannermap, complete layoutSegment

Fix seg fault, add range annotation segment to system::add

Set parent as Chordrest as opposed to note

add range annotation to if check

Draw working now

Add margin

Add support for single note highlight

Change color on selection, add to deletion list

Delete working now

Clean up code

Fix seg fault

Edit end tick position depending upon selection

Fix drawing issues, add color control via inspector

Add read/write, handle case for last measure of a system

Tick handling

Draw range annotation at a later point in the hierarchy

Add highlight for a single chordrest

Color is being loaded correctly now

Add border width and opacity as properties

Add property handling

Fix seg fault on loading text annotations

Add handling for multiple staves

correct handling for staff numbers

correct handling for track numbers

Correct staff handling and cleanup

Layout range annotations after staff distances are calculated

Read/write working fine now, draw works for multiple staves as well as multiple systems

Move check for es->rtick earlier

Properties read/write correctly

Implement drawing keeping margins in consideration

Add highlight support for single note

change opacity

change opacity behavior

Implement the inspector for range annotation

File not needed

add .ui file

Change layout implementation to use on system, change inspector ui

Change variable declaration

Implement margin properties in spatium units

Fix color issue and use border width in spatium units

Change steps and range for spinbox

Cleanup

Cleanup musescore#2

Cleanup musescore#3

Implement annotations

Remove gencreatemenu

Implement annotations
@Jojo-Schmitz
Copy link
Contributor

and another rebase needed

@lasconic
Copy link
Contributor

lasconic commented Sep 6, 2016

I'm sitting with Werner. We discussed this PR for a couple of hours now.

  1. There are still many errors in the code (handling of score parent, start track and staff?? Text annotation element being just a empty shell etc..) . Werner will create a branch/PR with some fixes
  2. The UX is not good enough. The user should just be able to drag a box and MuseScore should figure out where to put the annotations and how to store it to store the exact same box
  3. We think that the current model ( start staff, end staff, ticks, margins) is not general enough to handle some annotations cases like for example a box around 3 lyrics or a box around a note. It seems we could find a better way to store annotations in a more general way or have more annotations types. UX wise, MuseScore should determine the best type while user is dragging rectangles.

So we feel it's a good start but if we pull it as it, it will be a pain to support in the future so we'd better do it right on the first time. For this reason, we will not merge this and hope to have the time to do a better version in the future. Happy to discuss this decision further here or on IRC.

@lasconic lasconic closed this Sep 6, 2016
@lasconic
Copy link
Contributor

lasconic commented Sep 6, 2016

See #2810

@IsaacWeiss
Copy link
Contributor

IsaacWeiss commented Sep 6, 2016

@lasconic, if I understand your point 2 correctly, you would like it to work differently than everything else you can add to a score that I can think of. Most things, you make your selection first and then apply the command. I don't think there's anything currently in MuseScore where you choose what you want to add first, then choose the place in the score to add it (though Finale does everything that way, and I find it very hard to work with).

@MarcSabatella
Copy link
Contributor

FWIW, the original intent was that a range annotation be as simple as selecting a range and a box automatically being drawn, with proper handling of changes in where line breaks occur etc. Drawing a specific shape was in the original proposal as well, but it wasn't implemented yet. To me, these are conceptually two separate things, although I guess it's certainly possible to combine them. But for shape drawing, I'd want more options than just rectangles. So indeed, a more general framework would be good. Looking forward to checking out the new PR.

@rragrawal rragrawal deleted the Annotations branch December 4, 2016 04:23
@rragrawal rragrawal restored the Annotations branch December 4, 2016 04:23
@rragrawal rragrawal deleted the Annotations branch December 4, 2016 04:23
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

Successfully merging this pull request may close these issues.

None yet

5 participants