NoteWorthy Composer Forum

Forums => General Discussion => Topic started by: lawrroc on 2022-08-16 02:45 pm

Title: Arrow between two staves
Post by: lawrroc on 2022-08-16 02:45 pm
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
Title: Re: Arrow between two staves
Post by: Lawrie Pardy on 2022-08-16 03:42 pm
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
Title: Re: Arrow between two staves
Post by: lawrroc on 2022-08-16 06:21 pm
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
Title: Re: Arrow between two staves
Post by: Opagust on 2022-08-16 06:56 pm
Hi Lawrie,

What's that last character of your markup and how did you create it?
Title: Re: Arrow between two staves
Post by: Lawrie Pardy on 2022-08-17 12:27 am
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
Title: Re: Arrow between two staves
Post by: Lawrie Pardy on 2022-08-17 01:04 am
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
Title: Re: Arrow between two staves
Post by: lawrroc on 2022-08-17 04:09 am
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
Title: Re: Arrow between two staves
Post by: lawrroc on 2022-08-20 03:57 am
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
Title: Re: Arrow between two staves
Post by: Flurmy on 2022-08-20 08:42 am
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"...
Title: Re: Arrow between two staves
Post by: lawrroc on 2022-08-20 08:54 am
Grazie, Maurizio, thank you.
Lorenzo
Title: Re: Arrow between two staves
Post by: Lawrie Pardy on 2022-08-20 09:04 am
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:

The characters in the last part of the markup are:
Title: Re: Arrow between two staves
Post by: Lawrie Pardy on 2022-08-20 09:13 am
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.
Title: Re: Arrow between two staves
Post by: Mike Shawaluk on 2022-08-20 09:52 am
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.
Title: Re: Arrow between two staves
Post by: Opagust on 2022-09-03 06:32 am
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.



Title: Re: Arrow between two staves
Post by: Opagust on 2022-09-13 01:38 pm
I have written a dialogue based tool for composing a markup, thanks to hmmueller' documentation (https://forum.noteworthycomposer.com/?topic=9083.msg72513#msg72513) of the plugin markup.rg.

See https://forum.noteworthycomposer.com/?topic=10207.0 (https://forum.noteworthycomposer.com/?topic=10207.0) for more dtails about the markup composer tool.
Title: Re: Arrow between two staves
Post by: William Ashworth on 2022-09-16 12:02 am
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.
Title: Re: Arrow between two staves
Post by: Mike Shawaluk on 2022-09-16 08:57 am
If you don't need the arrowhead, a Glissando.ms object can also be used.