Skip to main content
Topic: Arrow between two staves (Read 7326 times) previous topic - next topic

Arrow between two staves

Hello everyone.
I should insert an oblique arrow between the stem of one note and the head of another note located on a staff below. Is there a way to carry out this intervention, perhaps with a pleasant result also from a graphic point of view? In the attached image the red arrow would be a great goal. The black arrow is a Yu Gothic UI text font, 330%, but unfortunately it is not orientable.
Thanks.
Good evening.
Lorenzo

Re: Arrow between two staves

Reply #1
Hi Lawrroc,
A massive contributor to these forums, RickG, who has sadly passed away has left us with a huge legacy, part of which is a user object that uses an obscure syntax called "Markup.rg".  Big thanks to hmmueller for his work in deciphering the syntax:
https://forum.noteworthycomposer.com/?topic=9083.msg72513#msg72513

I have used it to create this quick and dirty example.  It isn't exactly what you're looking for and will undoubtedly need tweaking, the angle works in the editor but not so much in print preview, but perhaps it's a start:
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:2|CaretIndex:10|CaretPos:-88
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2022 <Name>"|Copyright2:"All Rights Reserved"
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7.2|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"Staff"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|WithNextStaff:ConnectBars|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Note|Dur:16th|Pos:-2|Opts:Stem=Down
|Note|Dur:16th|Pos:-2|Opts:Stem=Down
|Note|Dur:16th|Pos:-1|Opts:Stem=Down
|Note|Dur:16th|Pos:0|Opts:Stem=Down
|User|Markup.rg|Pos:-7|Markup:/h1/f1/a-70CCCC
|Rest|Dur:8th|Visibility:Never
|Boundary|Style:Collapse
|Bar
|Rest|Dur:Half,Dotted|Visibility:Never
|AddStaff|Name:"Staff-1"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:2
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Rest|Dur:4th|Visibility:Never
|Boundary|Style:EndCollapse
|Spacer|Width:300
|Note|Dur:8th|Pos:0
|Bar
|TimeSig|Signature:3/4
|Spacer|Width:250
|Note|Dur:8th|Pos:1
|Note|Dur:16th|Pos:1
!NoteWorthyComposer-End
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Arrow between two staves

Reply #2
Many thanks, Lawrie. I've already applied your template to my score, but understanding the syntax is another story. I'll try!
Good evening / night.
Lorenzo

Re: Arrow between two staves

Reply #3
Hi Lawrie,

What's that last character of your markup and how did you create it?
Always look on the bright side of life!

Re: Arrow between two staves

Reply #4
Many thanks, Lawrie. I've already applied your template to my score, but understanding the syntax is another story. I'll try!
Good evening / night.
Lorenzo
Yeah, Rick's syntax for this isn't fun, but if you read the thread I linked to, it appears he never expected anyone but himself to actually use it.  Silly boy, it's there so of course some of us will 'ave a go :D
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Arrow between two staves

Reply #5
First a caveat.  This process is obscure and not very portable, but with a fair bit of effort it can be made to work.  If we are to see an easier (and better) result then either a new, purpose written object is required, OR, perhaps Linespan.nw could be modified to allow for angling the line.

What's that last character of your markup and how did you create it?
It's just the accent from the same font as the lines - the system font.  I selected it by opening the text dialogue, selecting "Staff Symbols" as the Display Font and using the Char Map to find something I could use as an arrow head on the end of the line, which comes from characters in the same font.
Once it was in the text entry box I copied it to the clipboard and pasted it into the objects properties dialogue.

I'm sure there are better ways, maybe find a different font that has both a well formed arrow and a line that can be connected with it more seamlessly.  E.G. WebDings3 has lots of arrows, but no lines that might be added to them to extend them.

<wait a few...>

Right, Times New Roman has lines and arrows that might be able to be connected, but the arrowheads are small so enlarging the font size would help...

<wait a few more...>

OK, just tried it - I used the Windows Character map instead of the built-in NWC one to find the characters.  They're pretty far down the font...  The lines don't connect perfectly to the arrow shaft, but they're "near enough for jazz" ;)

This example has the previous long arrow but moved to the left, a new arrow with a small font size (also a little to the left), and a new arrow in the original position but using a larger font size for comparison.
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:3|CaretPos:-7
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2022 <Name>"|Copyright2:"All Rights Reserved"
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:0|StaffLabels:None|BarNumbers:None|StartingBar:1
|Font|Style:StaffItalic|Typeface:"Times New Roman"|Size:10|Bold:Y|Italic:Y|CharSet:0
|Font|Style:StaffBold|Typeface:"Times New Roman"|Size:8|Bold:Y|Italic:N|CharSet:0
|Font|Style:StaffLyric|Typeface:"Times New Roman"|Size:7.2|Bold:N|Italic:N|CharSet:0
|Font|Style:PageTitleText|Typeface:"Times New Roman"|Size:24|Bold:Y|Italic:N|CharSet:0
|Font|Style:PageText|Typeface:"Times New Roman"|Size:12|Bold:N|Italic:N|CharSet:0
|Font|Style:PageSmallText|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User1|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:1
|Font|Style:User2|Typeface:"Times New Roman"|Size:16|Bold:N|Italic:N|CharSet:1
|Font|Style:User3|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User4|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User5|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|Font|Style:User6|Typeface:"Times New Roman"|Size:8|Bold:N|Italic:N|CharSet:0
|PgMargins|Left:1.27|Top:1.27|Right:1.27|Bottom:1.27|Mirror:N
|AddStaff|Name:"Staff-2"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|WithNextStaff:ConnectBars|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:3
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Note|Dur:16th|Pos:-2|Opts:Stem=Down
|Note|Dur:16th|Pos:-2|Opts:Stem=Down
|User|Markup.rg|Pos:-7|Markup:/h1/f1/a-70CCCC
|Note|Dur:16th|Pos:-1|Opts:Stem=Down
|User|Markup.rg|Pos:-7.5|Markup:/h0.5/f4/a-70——→
|Note|Dur:16th|Pos:0|Opts:Stem=Down
|User|Markup.rg|Pos:-7|Markup:/h0.5/f10/a-70–→
|Rest|Dur:8th|Visibility:Never
|Boundary|Style:Collapse
|Bar
|Rest|Dur:Half,Dotted|Visibility:Never
|AddStaff|Name:"Staff-3"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:4
|StaffInstrument|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Rest|Dur:4th|Visibility:Never
|Boundary|Style:EndCollapse
|Spacer|Width:300
|Note|Dur:8th|Pos:0
|Bar
|TimeSig|Signature:3/4
|Spacer|Width:250
|Note|Dur:8th|Pos:1
|Note|Dur:16th|Pos:1
!NoteWorthyComposer-End
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Arrow between two staves

Reply #6
For now I am satisfied with this. Between almost absolute ignorance of the English language and absolute ignorance of the computer language, for the moment I am more than satisfied.
Thank you.
Good day.
Lorenzo

Re: Arrow between two staves

Reply #7
Good morning to you. I studied markup.rg, within the limits of my computer skills, which are immense. I ask what character is the last of the series: it would seem a high point, but in the ASCII characters I have not found it. This is what the arrowhead shows in this case.
Thank you.
Lorenzo

Re: Arrow between two staves

Reply #8
Yes, you're right, it's not ASCII, it's Unicode with code 8594.
I'll leave to Lawrie to explain how he inserted it. Searching it with the NWC "Char map..." requires a patience I haven't... ;)
I'd rather use the "Char map" program from Windows, selecting "Character set: Unicode", "Group by: subcategory Unicode", "Arrows".
A posteriori, you can always keep <alt> pressed and type in the numeric pad "08594"...

Re: Arrow between two staves

Reply #9
Grazie, Maurizio, thank you.
Lorenzo

Re: Arrow between two staves

Reply #10
Good morning to you. I studied markup.rg, within the limits of my computer skills, which are immense. I ask what character is the last of the series: it would seem a high point, but in the ASCII characters I have not found it. This is what the arrowhead shows in this case.

I assume you're referring to the very first example I gave you.  The markup.rg command is:
/h1/f1/a-70CCCC

Let's break it down:
  • /h1 is a directive to move the starting point of the markup, in this case the starting point of the first character,  one note space to the right
  • /f1 is a directive to use the FIRST font available.  To get some idea of what fonts are available go to the text entry dialogue <X> and run through what's in the "Display Font:" box.
    You will see the following:
    Staff Symbols...
    Staff Cue Symbols...
    Staff Italic...
    Staff Bold...
    Staff Lyric...
    Page Text...
    Page Title Text...
    Page Small Text...
    User 1...
    User 2...
    User 3...
    User 4...
    User 5...
    User 6...

    These are recognised in numerical order with Staff Symbols... as "1" and User 6... as "14"
  • /a-70 is a directive to angle the text downwards to the right at 70 deg from the horizontal
  • CCCC is the text to be displayed.  The box on the end is because the character is non-printable in your browser.

The characters in the last part of the markup are:
  • 4* "C"s - The "C" is the character that is used in the NWC System Symbol font for a Tenuto "_"
  • The "" is actually a rendition of the character used in the NWC System Symbol font for an Accent ">" - N.B. it is NOT the GreaterThan sign I used do demonstrate it here.  You can select and copy it from a text entry dialogue and paste it into the "markup.rg" properties dialogue
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Arrow between two staves

Reply #11
Yes, you're right, it's not ASCII, it's Unicode with code 8594.
I'll leave to Lawrie to explain how he inserted it. Searching it with the NWC "Char map..." requires a patience I haven't... ;)
I'd rather use the "Char map" program from Windows, selecting "Character set: Unicode", "Group by: subcategory Unicode", "Arrows".
A posteriori, you can always keep <alt> pressed and type in the numeric pad "08594"...
Ahh, I appear to have answered the wrong question...  :P

Flurmy is quite correct, I found the character using the Windows Char Map application, copied it to the clipboard, and pasted it into the markup.rg properties dialogue.  The other characters that constitute the extended line come from the same general area of the font and were inserted in the same way.  I only used Times New Roman as the font because it is the default when creating a new file in NWC, and it happened to have suitable characters to test with.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Arrow between two staves

Reply #12
I agree with the other comments that it can be tedious to use the Charmap program to find arrow characters. However, I've discovered that if one uses their favorite search site and types "unicode arrow characters", there are sites out there that have collected/sorted the various Unicode arrow symbols, from which you can copy/paste into NWC.  Two such sites I found are:

http://xahlee.info/comp/unicode_arrows.html

https://unicode-table.com/en/sets/arrow-symbols/#right-arrows

There are others as well.

Re: Arrow between two staves

Reply #13
I assume you're referring to the very first example I gave you.  The markup.rg command is:
/h1/f1/a-70CCCC
  (...)
The characters in the last part of the markup are:
  • 4* "C"s - The "C" is the character that is used in the NWC System Symbol font for a Tenuto "_"
  • The "" is actually a rendition of the character used in the NWC System Symbol font for an Accent ">" - N.B. it is NOT the GreaterThan sign I used do demonstrate it here.  You can select and copy it from a text entry dialogue and paste it into the "markup.rg" properties dialogue

You can replace "" by "A" and get the same result, because, like the "C" is the character that is used in the NWC System Symbol font for a Tenuto "_", the "A" is the character that is used in the NWC System Symbol font for an Accent ">".
You get the same cahracters by entering <Alt+67> en <Alt + 65> respectively.

I discovered this by looking at the file 'AllStaffSymbols.nwctxt' in the topic
https://forum.noteworthycomposer.com/?topic=9083.msg72513#msg72513
from hmmueller, where he documented the markup.rg plugin.

See this file in the attachment and a detailed screen shot from the accent and the tenuto symbols.

If we look at the markup string of this example
Quote
f4 62 = /c062 = /f1/c062/r-20/f4 64 = /c064 = /f1/c064/r-30/f4 65 = /c065 = /f1/c065/r-40/f4 66 = /c066 = /f1/c066/r-50/f4 67 = /c067 = /f1/c067/r-60/f4 68 = /c068 = /f1/c068/r-70/f4 69 = /c069 = /f1/c069/r-80/f4 70 = /c070 = /f1/c070/r-90/f4 71 = /c071 = /f1/c071
,
you can see that the line "65 = A = >" is obtained by the markup part
Quote
/f4 65 = /c056 = /f1/c065
,
or in human terms:
- font: Staff Bold
- text " 65 = "
- special character "065", which shows as "A"
text " = "
- font: Staff Symbols
- special character "065", which shows as an accent.

But in the last part "/f/c065" can be replaced by "/f1A" to receive the same result.

Conclusion: hmmueller's file 'AllStaffSymbols" can be used as a excellent reference if you want to include staff symbols via a markup plugin: just lookup the staffsymbol you want, say a segno, take the character in front of it (x) and put "/f1x" (or "/f2x" for a small segno) in the markup.



Always look on the bright side of life!


Re: Arrow between two staves

Reply #15
Here's my quick-and-dirty method for drawing angled lines from one staff to another, using a beam. It doesn't have an arrowhead, but it gets the idea across.

Re: Arrow between two staves

Reply #16
If you don't need the arrowhead, a Glissando.ms object can also be used.