XML Import of expressions (Newbie Question)

I’ve just started here (Dorico) from Finale. My Projects import well apart “fingerings”. My music is very fully fingered classical guitar music (guitarists expect this). My fingerings are hand-positioned expressions in Finale. In Dorico they become text objects, that is absolutely fine. However vertical position is lost, all the fingerings now appear in a cloud above the staff .

Is It at all possible that these objects could appear in their true position after import? Could such a fix appear in the next few months ?

A partial fix for me, would be a multiple-select of all the text objects; and so I could drag them down (Finale allowed multiple select on expression objects by mouse region - then they all could be moved together).

Can I multiply-select a region of text objects?

I do not expect my expressions to become ‘fingerings’ as defined by Dorico - this is Legacy problem but I do have much legacy (perhaps 30 works each of 20 minutes)

Welcome to the forum, @aceastwood. Dorico can import fingerings from MusicXML files, so I suppose the problem must be that these fingerings are not being exported to MusicXML as fingerings in the first place. Would you be willing to attach one of your Finale files here so we can take a look at it?

To select multiple text items, you can make a marquee selection by clicking and dragging a rectangle around them with the mouse. You can also use Ctrl+click (Windows) or Command-click (macOS) to select multiple items. You can also use Ctrl+Shift+A (Windows) or Shift-Command-A (macOS) to “select more” of the selected item, which may sometimes be helpful too.

Hi @aceastwood , welcome to Dorico!

Adding to the suggestions of @dspreadbury , if the fingerings (in your case imported as text) are near/overlapping other objects (which can make the desired selection difficult), you can filter only these text items:
drag a selection with he marquee tool and then right click->Filter (with the “Select only” ticked)->Text, so that only text items stay selected.

Daniel

Thank you for your rapid reply.

RE: marquee selection

Using the mouse I can select multiple text items but I can’t drag them to a new position, even in “Engrave” mode. I can only put them above or below my stave.

All my music I place in the public domain (I compose for fun) so I have no problem attaching a Finale file for you. I would have replied on the forum but I don’t know how to attach pngs.

When you open the xml in Dorico you’ll get this kind of thing. The presence of all those text items makes the systems to overlap.

Originally, as you will see, it looks like:

Overlapping systems is an additional problem. Is there a layout setting that would always prohibit overlapping staves? ( ‘marquee selection’ is hard if the systems overlap).

Finale, has of course no ‘fingering’ category, only articulations and expressions. In Finale I used expressions rather than articulations simply because expressions have less bugs.

I’m not expecting magic here. Any part solution is worth having. A complete solution would have:

  • The correct physical positions on the page
  • A quick method of scaling through text font size down for a selected group of text objects.

Apologies for asking so many newby questions.
I used Finale for 19 years and had StreamDeck & vast AHK script to make it usable.
I have used Dorico for three days and I’m exceedingly impressed so far. All my new work will be in Dorico.

regards
Tony

(Attachment Sonata2-Move1.musx is missing)

Your file attachment is missing, presumably because you’re a new forum member and have not “earned” file attachment permissions. Can you possibly post a link to the file on Dropbox or Google Drive, or something similar?

I’m curious to take a look at it, although I’m not hopeful, based on your pictures…

Daniel

Here finale attached as a zip so as not be rejected

Tony

(attachments)

Sonata2-Move1.zip (228 KB)

One thing I can see in this Dorico screenshot is that many of your text items have come through the XML conversion as staff text objects that get piled one on top of the other on the same beat. This make the systems much taller than they should be, thus the page is overloaded and the result is awful collisions. You will want to delete many of these text items and recreate them semantically with the right types of objects in Dorico: tempo text, fingerings, etc.

I’ve created this public link

Please let me know if it does not work.

I guess what you’re telling me is that appear as fingerings in Dorico my fingerings would have to be in the xml file using the element defined by <xs:complexType name=“fingering”>; rather then whatever element they are in today.

Previous to writing music “for fun” I wrote commercial code and had access to an amazing XML toolkit that would have done that data transformation in an extraordinarily small number of lines of code. Since retiring I don’t have access to the toolkit :unamused:and I never code, If I did I wouldn’t write any music.

So I guess I’ll be re-doing fingerings by hand!

Incidentally providing most (not all) classical guitar fingerings automatically is not a difficult problem; It’s only a matter of creating a suitable model of the guitar fingerboard, and some house style rules. I haven’t even looked yet at what Dorico provides in this area as am focused on getting a current choral work completed, before this Monday I wasn’t even expecting to be using Dorico at all :grinning: Maybe I will be pleasantly surprised.

Sorry about this. Fingerings export better from Finale if they are entered as articulations rather than expressions.

Daniel

Now I’ve been encouraged to look at the xml I have one precise question.

Looking at this screenshot I can see my fingerings have ‘relative-x’ and ‘default-y’ offsets. So why does the Dorico importer ignore them?

Surely it should just apply them and hence my “fingerings” would appear in the right places.

To get round some Finale bugs (!) I used to export from Finale to XML and re-import to Finale. In that round trip the fingerings came back at the right position. Is there ambiguity in musicxml-4.0’s schema?

many thanks

Tony

In order to use those offset values, Dorico has to know where they are offset from, and that depends on the function of the text, which is not specified in the code. Thus they come through as generic staff text, which has its own default position, and there would be no point in offsetting them from that position.

The problem is that the code is missing the semantics, because the fingerings and other things were entered (I’m assuming) with the text tool in Finale. (Correct me if I’m wrong.)

Mark

I understand your answer perfectly. You are nearly correct: fingerings were entered with the EXPRESSION (rather then TEXT) tool in Finale. Although the Finale GUI 'gives the impression" that expressions are either positioned relative to a note or a measure start it looks like that is lost on export.

However, Finale can 'round trip:’ so those position must reference to ‘something.’ Are you sure that won’t be generic staff text?

I quite understand: this is a Finale bug, not a Dorico bug, :grinning:but maybe you could add a default case to do ‘something’ when there is no node semantic: where something means look up the parent tree (i.e. ‘measure’ then ‘part’)?

regards

Tony

It’s true that the relative-x value is application dependent, and thus less helpful for interchange, but default-y and default-x are defined as being from the top staff line and the start of the measure, respectively. Usually relative-x is interpreted as being from the current note position.

Great to know, thank you!

In general, MusicXML tries to define things in terms of how they look in a paper score. It couldn’t have been the “Finale way” or the “Sibelius way” or there would have been even more resistance to adopting the format. Each program then needs to convert from these standardized definitions to their own implementation.

3 Likes

Yes: there is a very clear description in the DTD common.mod file lines #262 to #327.

(I really stop myself looking at this - after 40 years of software development the habit is hard to break; it is too fascinating: however, Christmass looms and my Christmass Motet is not ready to show to the conductor)

However if you can load my fingerings into the correct positions it will save me approximately nine months of work. I will be immensely grateful.

To Daniel Spreadbury [Product Marketing Manager]

Daniel

Has nothing happened for this issue since my last post? Please could it be given an assigned managed priority for your development team. Is there a ticket number in the bug tracking system?

To summarize the discussion above:

  1. The current Dorico MusicXML importer converts many of the “measure/direction/direction-type/word” to “staff text objects”. [Presumably objects unknown to Dorico]

  2. MusicXML’s DTD (or XML schema) fully defines the position of “measure/direction/direction-type/word” objects.

  3. There is a bug in the Dorico MusicXML importer because that fully defined position is ignored. So “staff text objects” are scattered all over the score.

  4. Fixing the bug is simply applying the correct coordinate arithmetic.

  5. We only expect Dorico to recognize these unkown objects as staff text objects" - no other changes are required.

This is a very simple importer change, it must be “low hanging fruit”. :grinning:

Today I have over 200 (35Mb) of Finale .musx files. Almost all are fully fingered original guitar compositions. Many will require “maintenance”, i.e. corrections of fingering errors, revisions, reuse in other contexts or orchestrations. I would simply love to get everything into Dorico. Today I cannot do that. I can only work from pdf and re enter everything by hand. As it is I’m left battling with Finale :frowning_face:for five or six substantial but incomplete compositions I have right now :frowning_face:

Going on I don’t want to leave anything in Finale. Even though the Finale license service may continue to run for many years it is inevitable that an update out of Redmond (Micro$oft) will eventually break Finale functionality.

Even if you couldn’t schedule this bug fix for two years I can hang on until it’s ready. Please let me know what can be done.

Many thanks

Tony Eastwood

It is long established practice that the development team never discloses on this forum what they are working on, nor when enhancements will be released.

OK point taken and understood. But I’m pretty heavily stuck