Skip to main content
Topic: Glissando.ms (2.8) (Read 38400 times) previous topic - next topic

Glissando.ms (2.8)

This will draw a glissando line between two notes, with optional text above the line. If either of the notes is a chord, the bottom notehead of that chord will be the starting or ending point of the line. Effective with NWC version 2.75a, the object can optionally be configured for playback.

Paste the following snippet into NWC 2.75a, then go to Tools > Manage Objects to install the object.
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Note|Dur:Whole|Pos:-6
|User|Glissando.ms|Pos:0
|Note|Dur:Whole|Pos:8
|Note|Dur:Whole|Pos:8
|User|Glissando.ms|Pos:0|Pen:wavy
|Note|Dur:Whole|Pos:-6
!NoteWorthyComposerClip-End

For details on the object's parameters, refer to the context-sensitive help on object's properties page.

Re: Glissando.ms (version 0.9)

Reply #1
Thanks buddy :)
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Glissando.ms (1.2)

Reply #2
The Glissando.ms object has been updated, with the following changes:
  • Addition of "wavy" option for Pen parameter

Evanescent glissando

Reply #3
In my score the glissando is not visible in edit mode nor in print preview mode but only in viewer mode.
I extracted this small piece and the glissando is never visible.

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:Common
|Dynamic|Style:f|Pos:-8|Visibility:Never
|User|TremoloSingle.ms|Pos:0|Beams:2|Play:N
|Chord|Dur:Half|Pos:-3,#-2,0,2|Opts:Stem=Down,StemLength=8,Muted
|User|TremoloSingle.ms|Pos:0|Beams:2|Play:N
|Chord|Dur:Half|Pos:3,5,7,10|Opts:Stem=Up,StemLength=8,Muted
|User|Glissando.ms|Pos:10|Scale:65
|Bar
|Rest|Dur:Whole|Visibility:Never
|Bar
!NoteWorthyComposerClip-End

Re: Glissando.ms (1.2)

Reply #4
The Glissando object should be between two notes/chords. Not between a note/chord and a rest.

If you need it at the end like that to indicate a sweep down, then use a  muted grace whole note with a blank head

Rich.

Re: Glissando.ms (1.2)

Reply #5
Right!
Since my score has no target note for glissato I overlooked this detail.
thank you.

Re: Glissando.ms (1.3)

Reply #6
The Glissando.ms object has been updated, with the following changes:

  • The Line Weight parameter now affects all line types (straight and wavy)

Please refer to the parent post for additional information.

A key point...

Reply #7
The glissando ignores the key change:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Tempo|Tempo:168|Pos:10|Visibility:Never
|Chord|Dur:4th|Pos:-3,-1,2,3
|Chord|Dur:4th|Pos:-8,-3,-1,#1,3
|Chord|Dur:8th|Pos:n-6,-3,-1,#1,3|Opts:Stem=Up,Beam=First
|Chord|Dur:8th|Pos:#-6,-3,-1,1,3|Opts:Stem=Up,Beam=End
|Rest|Dur:8th
|Chord|Dur:8th|Pos:-5^,-3^,-1^,1^,3^
|Bar
|Chord|Dur:Half|Pos:-5,-3,-1,1,3|Opts:Stem=Up,Muted
|User|Glissando.ms|Pos:1|Playback:WhiteKeys|EndOffsetY:-10|Pen:wavy
|Clef|Type:Bass|Visibility:Never
|Note|Dur:8th,Grace|Pos:-2|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Clef|Type:Treble|Visibility:Never
|Bar
!NoteWorthyComposerClip-End
Of course I can olways write this way, cluttering up a bit the score in edit mode:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Tempo|Tempo:168|Pos:10|Visibility:Never
|Chord|Dur:4th|Pos:-3,-1,2,3
|Chord|Dur:4th|Pos:-8,-3,-1,#1,3
|Chord|Dur:8th|Pos:n-6,-3,-1,#1,3|Opts:Stem=Up,Beam=First
|Chord|Dur:8th|Pos:#-6,-3,-1,1,3|Opts:Stem=Up,Beam=End
|Rest|Dur:8th
|Chord|Dur:8th|Pos:-5^,-3^,-1^,1^,3^
|Bar
|Chord|Dur:Half|Pos:-5,-3,-1,1,3|Opts:Stem=Up,Muted
|User|Glissando.ms|Pos:1|Playback:WhiteKeys|Pen:wavy|EndOffsetY:8
|Note|Dur:8th,Grace|Pos:-21|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
I think it's worth to know

Re: Glissando.ms (1.3)

Reply #8
There is also a problem with the timing.
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:-13
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2017 <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|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Trumpet"|Patch:56|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:Half|Pos:1|Opts:Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposer-End
If I don't mute the note before the glissato then it plays for all the glissando duration.
If I mute the note before the glissato then it plays for... ever.

And then, how the object knows when to start the glissato?
This sounds good but looks not so well:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:Half|Pos:1|Opts:Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End

Re: Glissando.ms (1.3)

Reply #9
The problem is the tie going into the glissando starting note. When there are two tied notes in NWC, the tie basically tells the first note to play only its "note on" and the second note to play only its  "note off", so they sound as a single note of the combined duration. Muting the second note will suppress its "note off", causing a hanging note. Removing the tie makes it sound better, since there is no longer a hanging note, and the glissando is able to play during the muted half note.

Following is my attempt at a "fix" of the score:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Grace|Pos:1|Visibility:Never
|Note|Dur:Half|Pos:1|Opts:Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
It sounds correct to me, and looks correct in view/print mode.

Re: Glissando.ms (1.3)

Reply #10
Good idea!
Thanks, Mike.

Re: Glissando.ms (1.2)

Reply #11
The Glissando.ms object has been updated with version 2.75a, with the following changes:
  • Addition of interactive editing of the object's parameters, using the numeric keypad.
  • Ability to span systems
  • Playback has been added, both discrete and continuous modes (thanks to @NoteWorthy Online)

Re: Glissando.ms (2.11)

Reply #12
There is something wrong in the "pitch bend" glissato:
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:0
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2017 <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|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Brass Section"|Patch:61|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|Tempo|Tempo:168|Pos:10|Visibility:Never
|TimeSig|Signature:4/4
|Rest|Dur:8th
|Chord|Dur:4th,Accent|Pos:-1,6
|Chord|Dur:4th,Accent|Pos:1,8
|Chord|Dur:4th,Accent|Pos:#1,#8
|Chord|Dur:8th,Accent|Pos:2^,9^
|Bar
|Chord|Dur:4th|Pos:2,9|Opts:Muted
|User|Glissando.ms|Pos:0|Playback:PitchBend
|Note|Dur:8th,Grace|Pos:0|Opts:Stem=Up,StemLength=4.7,Muted|Visibility:Never
|Rest|Dur:Half,Dotted
!NoteWorthyComposer-End

Re: Glissando.ms (2.11)

Reply #13
If you unmute the starting note (the tied-in quarter note), it seems to play back as intended. (And yes, I know that the instructions say that both notes should be muted, but this might be an exception to that rule)

Re: Glissando.ms (2.11)

Reply #14
Yes, much better, but not perfect.
I hear the pitch bend returning rapidly to the neutral position slightly before the playing ends.
It should be slightly after.  ;)

Re: Glissando.ms (2.11)

Reply #15
I hear the pitch bend returning rapidly to the neutral position slightly before the playing ends.
You shouldn't. This is the MIDI produced by Measure 2:
Code: (mtx) [Select · Download]
768 Pb ch=1 v=8192
770 Pb ch=1 v=8181
772 Pb ch=1 v=8170
774 Pb ch=1 v=8159
776 Pb ch=1 v=8148
778 Pb ch=1 v=8137
780 Pb ch=1 v=8126
782 Pb ch=1 v=8115
784 Pb ch=1 v=8104
786 Pb ch=1 v=8093
788 Pb ch=1 v=8083
790 Pb ch=1 v=8072
792 Pb ch=1 v=8061
794 Pb ch=1 v=8050
796 Pb ch=1 v=8039
798 Pb ch=1 v=8028
800 Pb ch=1 v=8017
802 Pb ch=1 v=8006
804 Pb ch=1 v=7995
806 Pb ch=1 v=7985
808 Pb ch=1 v=7974
810 Pb ch=1 v=7963
812 Pb ch=1 v=7952
814 Pb ch=1 v=7941
816 Pb ch=1 v=7930
818 Pb ch=1 v=7919
820 Pb ch=1 v=7908
822 Pb ch=1 v=7897
824 Pb ch=1 v=7887
826 Pb ch=1 v=7876
828 Pb ch=1 v=7865
830 Pb ch=1 v=7854
832 Pb ch=1 v=7843
834 Pb ch=1 v=7832
836 Pb ch=1 v=7821
838 Pb ch=1 v=7810
840 Pb ch=1 v=7799
842 Pb ch=1 v=7788
844 Pb ch=1 v=7778
846 Pb ch=1 v=7767
848 Pb ch=1 v=7756
850 Pb ch=1 v=7745
852 Pb ch=1 v=7734
854 Pb ch=1 v=7723
856 Pb ch=1 v=7712
858 Pb ch=1 v=7701
860 Pb ch=1 v=7690
862 Pb ch=1 v=7680
864 Pb ch=1 v=7669
866 Pb ch=1 v=7658
868 Pb ch=1 v=7647
870 Pb ch=1 v=7636
872 Pb ch=1 v=7625
874 Pb ch=1 v=7614
876 Pb ch=1 v=7603
878 Pb ch=1 v=7592
880 Pb ch=1 v=7582
882 Pb ch=1 v=7571
884 Pb ch=1 v=7560
886 Pb ch=1 v=7549
888 Pb ch=1 v=7538
890 Pb ch=1 v=7527
892 Pb ch=1 v=7516
894 Pb ch=1 v=7505
896 Pb ch=1 v=7494
898 Pb ch=1 v=7484
900 Pb ch=1 v=7473
902 Pb ch=1 v=7462
904 Pb ch=1 v=7451
906 Pb ch=1 v=7440
908 Pb ch=1 v=7429
910 Pb ch=1 v=7418
912 Pb ch=1 v=7407
914 Pb ch=1 v=7396
916 Pb ch=1 v=7385
918 Pb ch=1 v=7375
920 Pb ch=1 v=7364
922 Pb ch=1 v=7353
924 Pb ch=1 v=7342
926 Pb ch=1 v=7331
928 On ch=1 n=74 v=0
928 On ch=1 n=86 v=0
928 Pb ch=1 v=7320
930 Pb ch=1 v=7309
932 Pb ch=1 v=7298
934 Pb ch=1 v=7287
936 Pb ch=1 v=7277
938 Pb ch=1 v=7266
940 Pb ch=1 v=7255
942 Pb ch=1 v=7244
944 Pb ch=1 v=7233
946 Pb ch=1 v=7222
948 Pb ch=1 v=7211
950 Pb ch=1 v=7200
952 Pb ch=1 v=7189
954 Pb ch=1 v=7179
956 Pb ch=1 v=7168
960 Pb ch=1 v=8192
As you can see, the notes are turned off long before the Pb is reset.
Registered user since 1996

Re: Glissando.ms (2.11)

Reply #16
Yes, the MIDI is correct.
It's playing inside NWC that sounds wrong.
Indeed the problem is my synth.
If I use an external keyboard or the (in)famous Microsoft GS wavetable there is no problem.
Sorry.

Re: Glissando.ms (2.11)

Reply #17
Sorry for the thread necromancy.
I love this Glissando effect.  I'm using it to do some Flute glissandos and some String glissandos.
However, I'm trying to also use a Crescendo effect, effectively changing note-on velocity for the notes.
The Glissando notes, however, aren't following the Crescendo.  They are ignoring it and using the velocity (dynamic marking) that is before the < marking.
Can you make the Glissando notes adhere to Crescendos and Decrescendo/Graphic Crescendo and Decrescendo rules?
(I'm using the White Notes/Black Notes/Chromatic glissando, not the pitchbend one).

Re: Glissando.ms (2.11)

Reply #18
The Glissando notes, however, aren't following the Crescendo.  They are ignoring it and using the velocity (dynamic marking) that is before the < marking.
Can you make the Glissando notes adhere to Crescendos and Decrescendo/Graphic Crescendo and Decrescendo rules?
You need to use volume, not note velocity.
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:C|Tonic:C
|TimeSig|Signature:4/4
|Rest|Dur:4th
|Dynamic|Style:f|Opts:Velocity=127,Volume=92|Pos:-8
|Note|Dur:4th|Pos:#1
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Note|Dur:8th|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:1^|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Grace|Pos:1|Opts:Diminuendo|Visibility:Never
|Note|Dur:Half|Pos:1|Opts:Diminuendo,Muted
|User|Glissando.ms|Pos:1|Playback:Chromatic|Pen:wavy
|Note|Dur:8th,Grace|Pos:-7|Opts:Stem=Up,Muted|Visibility:Never
|Dynamic|Style:p|Opts:Velocity=127,Volume=45|Pos:-8
|Rest|Dur:Half
|Bar
!NoteWorthyComposerClip-End
Registered user since 1996

Re: Glissando.ms (2.11)

Reply #19
You need to use volume, not note velocity.
Ha. This sounds familiar to me. I may have read this some decades ago :)

Thanks Mike for creating that glissando, and Eric for enabling the object feature :D

 

Re: Glissando.ms (2.11)

Reply #20
I've been notating glissandi that start part way through the duration of the initial note. This can be achieved by starting with a rest chord and inserting an invisible note at the desired position, but the playback isn't correct.

Would it be possible to add a parameter to delay the start of the glissando, both notationally and for playback? 

Re: Glissando.ms (2.11)

Reply #21
According to Behind Bars, this would be achieved notationally by shortening the line. You can do this by using the Start Offset X and Start Offset Y parameters.

Originally when I created the Glissando object, I had no idea that it would ever be able to achieve playback. The playback code currently handles a number of playback options, and has gotten fairly complex; I don't think it will ever be able to achieve every possible playback contingency. For the time being, you may be better off using the standard NWC "tricks" for glissando playback, for your particular situation. If you do come up with a sample score that does what you want, please share it here and I can attempt to model that behavior within the plugin code.

Thanks,
Mike

Re: Glissando.ms (2.11)

Reply #22
I was able to do that, but I don't remember where and how.
I'll try to find out. It wasn't so long ago.

Re: Glissando.ms (2.11)

Reply #23
Ok, got it!
https://forum.noteworthycomposer.com/?topic=9877.0
And the result is:
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:37|SelectIndex:1|CaretPos:-2
|SongInfo|Title:""|Author:""|Lyricist:""|Copyright1:""|Copyright2:""
|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|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Violin"|Patch:40|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:Bb,Eb,Ab|Tonic:E
|Dynamic|Style:ff|Pos:-8
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:4th|Pos:12^|Opts:Stem=Down
|Bar
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:4th|Pos:12^|Opts:Stem=Down
|Bar
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:4th|Pos:12^|Opts:Stem=Down
|Bar
|Note|Dur:8th|Pos:12|Opts:Stem=Down
|Note|Dur:8th,Slur|Pos:12^|Opts:Stem=Down,Diminuendo|Visibility:Never
|Note|Dur:8th,Slur|Pos:12|Opts:Stem=Down,Diminuendo,StemLength=0
|User|Markup.rg|Pos:12.5|Markup:/f1/x0/y-2.4/c124/y-4.4/c124/y-6.4/c124/y-8.4/c124/y-10.4/c124/y-12.4/c124
|Spacer|Width:450
|User|Glissando.ms|Pos:0|Playback:PitchBend
|Note|Dur:8th,Grace|Pos:4|Opts:Diminuendo,Muted|Visibility:Never
|Bar|Style:Double
|Dynamic|Style:mf|Pos:-10.5
|Note|Dur:8th,Slur|Pos:n0|Opts:Stem=Down,Beam=First
|Note|Dur:8th,Slur|Pos:1|Opts:Stem=Down,Beam
|PerformanceStyle|Style:Espressivo|Pos:-9.5
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Slur|Pos:4|Opts:Stem=Down,Beam=First
|Note|Dur:8th,Slur|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:8th|Pos:2|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Slur|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:16th,Slur|Pos:b0|Opts:Stem=Down,Beam
|Note|Dur:16th,Slur|Pos:1|Opts:Stem=Down,Beam
|Note|Dur:16th,Slur|Pos:0|Opts:Stem=Down,Beam
|Note|Dur:16th|Pos:b-1|Opts:Stem=Down,Beam=End
|Bar|Style:Double
!NoteWorthyComposer-End
"With a little help from my friends"... (Rick)

Removing the attack at the end of glissando

Reply #24
How can I remove the attack of the note at the end of glissando?

Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:0
|SongInfo|Title:""|Author:"<Name>"|Lyricist:""|Copyright1:"Copyright © 2019 <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|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Recorder"|Patch:74|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Tempo|Base:Quarter Dotted|Tempo:88|Pos:12
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:6/8
|Note|Dur:Half|Pos:2^
|Marker|Pos:6|Target:Articulation|Visibility:Never
|Note|Dur:4th,Tenuto|Pos:2
|User|Glissando.ms|Pos:0|Class:Span|Playback:PitchBend
|Bar
|Note|Dur:Half,Dotted|Pos:3^
|Bar
|Note|Dur:Half,Dotted|Pos:3
!NoteWorthyComposer-End

Re: Removing the attack at the end of glissando

Reply #25
How can I remove the attack of the note at the end of glissando?
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.751)
|AddStaff|Name:"Staff"
|StaffInstrument|Name:"Recorder"|Patch:74|BendRange:24
|Clef|Type:Treble
|Tempo|Base:Quarter Dotted|Tempo:88|Pos:12
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:6/8
|Note|Dur:Half|Pos:2^
|Note|Dur:4th|Pos:2|Opts:Muted
|User|Glissando.ms|Pos:0|Playback:PitchBend
|Bar
|MPC|Controller:pitch|Style:Absolute|TimeRes:Eighth|SweepRes:32|Pt1:0,8875|Pt2:12,8192|Pos:8
|Note|Dur:Half,Dotted|Pos:3^|Opts:Muted
|Bar
|RestChord|Dur:Half|Opts:Stem=Up,Muted,HideRest|Dur2:Half,Dotted|Pos2:3
|Rest|Dur:8th,Dotted|Visibility:Never
|Note|Dur:4th,Grace|Pos:2^|Opts:Muted|Visibility:Never
|Note|Dur:4th,Grace|Pos:2|Visibility:Never
|Rest|Dur:16th|Visibility:Never
!NoteWorthyComposer-End
Registered user since 1996

Re: Glissando.ms (2.11)

Reply #26
Rick the wizard, of course. Who else?  ;)
Thank you, Rick!

Re: Glissando.ms (2.11)

Reply #27
Hey Mike,
I was wondering if the pitchbend implementation could be modified so as to (maybe optionally) not start the bending the pitch until about half the duration of the starting note has passed?  This seems to be normal practice, at least for trombone players...  Perhaps the starting point could be set as a percentage of the starting note duration.

I was also wondering if this object could be either extended OR used as a basis for a new object that could provide the following jazz articulations:
plop (bend)
plop (smooth)
scoop
lift
doit (bend)
doit (smooth)
fall (bend)
fall (smooth)

All would be implementations of pitchbends with appropriate markings.  See here for examples:
https://steinberg.help/dorico/v2/en/dorico/topics/notation_reference/notation_reference_jazz_articulations_c.html


I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Glissando.ms (2.11)

Reply #28
I was wondering if the pitchbend implementation could be modified so as to (maybe optionally) not start the bending the pitch until about half the duration of the starting note has passed?
I met this problem many times.
Good idea!

Re: Glissando.ms (2.11)

Reply #29
Pops up several times in Souvenir by F.Drdla , first time around 0:21 . www.youtube.com
Since 1998

Re: Glissando.ms (2.11)

Reply #30
Hey Mike,
I was wondering if the pitchbend implementation could be modified so as to (maybe optionally) not start the bending the pitch until about half the duration of the starting note has passed?  This seems to be normal practice, at least for trombone players...  Perhaps the starting point could be set as a percentage of the starting note duration.
This should be possible to do, but there is a small complication: I didn't write the pitch bend playback code in the plugin. That was graciously added by @NoteWorthy Online. I was looking at that code just now, and it will take some studying and experimentation to figure out how it works, before I know for sure how to make the enhancement you're suggesting. It also doesn't help that it's been over 3 years since I last updated that plugin (how time flies!) That said, if any of the other plugin whiz kids here is looking at the code and can suggest a way to add this, I'm all ears.
I was also wondering if this object could be either extended OR used as a basis for a new object that could provide the following jazz articulations:
plop (bend)
plop (smooth)
scoop
lift
doit (bend)
doit (smooth)
fall (bend)
fall (smooth)

All would be implementations of pitchbends with appropriate markings.  See here for examples:
https://steinberg.help/dorico/v2/en/dorico/topics/notation_reference/notation_reference_jazz_articulations_c.html
I recall looking at those ornaments/articulations before, as possible plugin candidates. Several of them (smooth plop, doit and fall, and lift) are already possible using a "hanging" straight line gliss, using a hidden muted grace note, but the bend versions would work better as a designed object.

I notice that Dorico implements these only as ornaments, and does not play them back. That would seem to be a reasonable starting point for a NWC implementation.

Re: Glissando.ms (2.11)

Reply #31
This should be possible to do, but there is a small complication: I didn't write the pitch bend playback code in the plugin. That was graciously added by @NoteWorthy Online. I was looking at that code just now, and it will take some studying and experimentation to figure out how it works, before I know for sure how to make the enhancement you're suggesting.
<snip>
Hey Mike, that's cool.  It would be nice though  :)
Quote
I recall looking at those ornaments/articulations before, as possible plugin candidates. Several of them (smooth plop, doit and fall, and lift) are already possible using a "hanging" straight line gliss, using a hidden muted grace note, but the bend versions would work better as a designed object.

I notice that Dorico implements these only as ornaments, and does not play them back. That would seem to be a reasonable starting point for a NWC implementation.

I can already achieve the visual from my *Dings fonts.  It's the playback with the visual I was hoping for.  Not easy to please everyone with this kind of thing though as they are all subject to interpretation by the players.

If I was any kind of programmer I'd have a go, but my IT skills were never in that area - I was a network engineer.
I plays 'Bones, crumpets, coronets, floosgals, youfonymums 'n tubies.

Re: Glissando.ms (2.2)

Reply #32
@Flurmy has graciously made changes to Glissando.ms that add a new parameter, to delay the start of pitch bend playback. As noted previously, the pitchbend playback code was previously added by @NoteWorthy Online , and I don't completely understand all of the code involved, so I will trust that he's done it right. If there are issues uncovered by other users, we'll have to tackle them the best we can :)

Many thanks to him for this addition!

Re: Glissando.ms (2.2)

Reply #33
This plugin ignores the clef changes and the octave shifts!  :(
And my Lua is quite rusty.  :'(

Re: Glissando.ms (2.2)

Reply #34
Mine is getting rusty too. It would help if you could provide an example that doesn't do what you expect.

A bit of a disclaimer: the playback code in Glissando.ms was an afterthought that was added to a very old object - I think that this was the first one I ever made. Also, as I've stated before, I did not write the code that does the pitchbend playback, if that's what is not behaving correctly.

Re: Glissando.ms (2.2)

Reply #35
This plugin ignores the clef changes and the octave shifts!  :(
And my Lua is quite rusty.  :'(

My Lua is rusty too, but this page may be a help?
Always look on the bright side of life!

Re: Glissando.ms (2.2)

Reply #36
No, it's not restricted to pitchbend.
Here follows a simple example.

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Bass
|Key|Signature:C|Tonic:C
|Note|Dur:Half|Pos:-4|Opts:Muted
|User|Glissando.ms|Pos:5|Class:Span|Playback:Chromatic
|Clef|Type:Treble
|Note|Dur:4th|Pos:5
|Note|Dur:4th|Pos:5
!NoteWorthyComposerClip-End

Thanks, Opagust. Of course I was already aware of that page.

Re: Glissando.ms (2.2)

Reply #37
I think I see what is going wrong, but I'm not sure how to fix it. I will describe what I am observing and perhaps someone out there with better NWC user object skills than me can figure out a solution.

For my description, I will refer to the source code line numbers in the current object version, which is Version 2.2 Flurmy 1/2022.

First, a few observations. If I play Flurmy's score sample, it of course plays incorrectly; there are too few notes, starting from the expected note and then making a sudden jump to the highest note.  If I move the user object immediately after the clef change, it plays differently - now there is a normal-sounding glissando, but it begins as though the first note is an E (treble clef) and again there are too few notes.

In the _play(t) function, which begins at line 214, the following two statements attempt to determine the MIDI pitch of the starting and ending notes:
Code: (lua) [Select · Download]
  local v1 = nwcplay.getNoteNumber(priorNoteidx:notePitchPos(1))
  local v2 = nwcplay.getNoteNumber(nextNoteidx:notePitchPos(1))
Before these statements are executed, the pointers priorNoteidx and nextNoteidx are positioned at the starting and ending notes of the glissando. The nwcplay.getNoteNumber() function attempts to determine the MIDI note number of the specified note. The API instructions for the nwcplay methods say that the values returned will take into account the various staff properties in effect, including clef, transposition, etc.  However, what appears to be happening is that the playback properties being returned are those for the SPP position of the user object, not the notes in question. I have searched high and low through the API instructions, and I can't figure out a way for the nwcplay methods to return values based on a different SPP position (i.e. that of the starting or ending note.) I know there is a way to determine the SPP offset of a particular note: nextNoteidx:sppOffset() (see line 248). However, there doesn't seem to be a way to give that position to nwcplay.getNoteNumber() because there is only a single parameter, the staff position of the note.

Please let me know if any of the above does not make sense, and I will try to explain further if that is the case

Re: Glissando.ms (2.2)

Reply #38
Hello all,
After thinking about the problem a bit more, I have come up with a potential solution which I am attaching to this post in advance of an official release. The fix is the addition of a new parameter called End Note Shift, which specifies an optional pitch shift for the final note of the glissando. It defaults to 0 for backward compatibility with previous object versions. For @Flurmy's example, a shift of 20 will produce the expected playback. If it is being used across a 8va or 8va bassa, a shift of ±12 would be appropriate.

@Flurmy, if you can test this new version with a few different glissando types, that would help me greatly.  I will post the changed object to the forum once I know it works correctly for the various conditions.

Re: Glissando.ms (2.2)

Reply #39
I am having a problem with how it sounds the 2nd time. Both notes are supposed to sound by themselves with a slide between them. The violin will be playing both holding down the same finger and shifting.

Thanks for your work on this!
Since 1998

Re: Glissando.ms (2.2)

Reply #40
Playback for the Glissando.ms object occurs during the duration of the starting note of the glissando. Because both of your starting notes are very short duration, this will result in a rapid sweep. The Gliss Delay parameter will delay the start of the glissando, but will speed up the sweep because there is less time remaining for the moving portion.  Also, pitch bend glissandos work best with both the starting and ending notes muted.

I also noticed that your score's staff instrument has a pitch bend range of 7 semitones. The documentation for Glissando.ms recommends a pitch bend range of 24 semitones.

Re: Glissando.ms (2.2)

Reply #41
I just came back from a travel abroad.
I'll take a look.

Re: Glissando.ms (2.2)

Reply #42
Alas, there are many cases in which we must reinvent the wheel.
Many routines are for sure already implemented in the NWC "core" but they are not exposed in the API, so we have no choice than to redo them from scratch in the plugins/user tools. Very error prone!
This seems one of those cases.

There are a lot of possibilities to consider so the burden is excessive but, still keeping the workaround implemented by Mike, maybe we could try to manage automatically the most simple and common ones. I'm thinking about limiting to clef and octave change (instrument transpose).
My feeling, however, is that even this is too much work for too little.
Probably the Mike's workaround is the best we can do.

Thanks, Mike.

Re: Glissando.ms (2.3)

Reply #43
The Glissando.ms object has been updated to version 2.3, with the following changes:
  • Reorganize properties screen to combine X & Y offsets on a single line, to save space
  • Add EndNoteShift parameter, to handle glissandos which span a clef change or other staff transposition

Re: Glissando.ms (2.3)

Reply #44
Using glissando with a play mode different from pitch bend it is now necessary to mute the first (left) note.
But see what happens in this case:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Note|Dur:Whole|Pos:4^|Opts:Muted
|Note|Dur:4th|Pos:4
|User|Glissando.ms|Pos:-4|Class:Span|Playback:Chromatic
|Note|Dur:4th|Pos:-4
!NoteWorthyComposerClip-End
Possible solution: adding a note off of the starting note before starting the glissato. (positive side effect: no need to mute any note, an annoying task)

More: what if the glissato needs to be the whole length of the tied first notes?

Re: Glissando.ms (2.3)

Reply #45
One more problem:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Rest|Dur:4th,Triplet=First
|Note|Dur:8th,Triplet=End|Pos:1|Opts:Stem=Down
|User|Glissando.ms|Pos:3|Pen:wavy|Text:|Playback:PitchBend
|Note|Dur:8th,Grace|Pos:-3|Opts:Muted|Visibility:Never
|Spacer|Width:100
|Rest|Dur:4th
!NoteWorthyComposerClip-End
Probably an incorrect computation of the times. (I didn't check the source)

Edit: Easily solved: simply muting the first note. But why we get that odd effect otherwise?
Exporting to MIDI has no problem.
Because in a case the bending starts from 0 and goes to target, then quickly return to 0 while the note is still somehow sounding. In the other case the bendings starts from target and ends to 0.
Better think more... sorry.

Re: Glissando.ms (2.3)

Reply #46
Similar problem:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"Alto Sax"|Patch:65|Trans:0|BendRange:24|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Note|Dur:8th|Pos:1|Opts:Stem=Down
|User|Glissando.ms|Pos:3|Pen:wavy|Text:|Playback:PitchBend
|Note|Dur:8th|Pos:-1^|Opts:Muted
|Note|Dur:Half|Pos:-1
!NoteWorthyComposerClip-End
If the target note is unmuted there is an unwanted attack instead of a smooth continuation.

Re: Glissando.ms (2.3)

Reply #47
The following is from the help text for the Playback parameter:

Most play back methods are best when the target (left side) note is muted.
PitchBend also supports muting the right side note, which will result in a seamless note event that bends from one pitch to the other.


I'm not certain why I didn't say "For playback, the left note must be muted."  I think it was because you don't want to mute it for certain pitch bend (continuous) glissandos. But I didn't write that code and I rarely use continuous glissandos, so my memory requires jogging.

Re: Glissando.ms (2.3)

Reply #48
I feel like I should post a sort of "apology" here. If memory serves me correctly, the Glissando object was one of my earliest (or perhaps the very first) objects that I wrote, back in the time before playback was available. It drew a straight or wavy line between two notes, with a bit of slanted text, so the code was very simple. When I first added playback, I did piano-style glissandos which were either white notes, black notes or chromatic, and later @NoteWorthy Online provided code for pitch bend playback, which significantly increased the amount of code in the object. Since then, our own @Flurmy has added code for two additional playback parameters, for which I have thanked him already.  Part of me feels like this isn't my object anymore; it is all grown up and has gained a life of its own out in the real world. :)

Re: Glissando.ms (2.3)

Reply #49
Well, Mike, if you don't mind, I could take the baton and try to update it.