NoteWorthy Composer Forum

Forums => Tips & Tricks => Object Plugins => Topic started by: Mike Shawaluk on 2015-03-26 04:40 pm

Title: Acciaccatura.ms (version 1.4)
Post by: Mike Shawaluk on 2015-03-26 04:40 pm
This object adds a slash ornament to a grace note (appoggiatura), turning it into an acciaccatura. Playback is optionally available, which will be before the beat.

Paste the following snippet into NWC 2.75, then go to Tools > Manage Objects to install the object.

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|User|Acciaccatura.ms|Pos:-2
|Note|Dur:8th,Grace|Pos:0
|User|Acciaccatura.ms|Pos:-2|Style:Downward
|Chord|Dur:8th,Grace|Pos:0,1
|User|Acciaccatura.ms|Pos:-2
|Note|Dur:8th,Grace|Pos:0|Opts:Stem=Down
|User|Acciaccatura.ms|Pos:-2|Style:Downward
|Chord|Dur:8th,Grace|Pos:-1,0|Opts:Stem=Down
|Bar
!NoteWorthyComposerClip-End

Once the plugin is installed, insert the object to the left of the eighth grace note or chord you wish to ornament. The slash will be automatically added at the correct location on the note's flag. If Class = Standard, only a single grace note will receive the ornament; if Class = StaffSig, all subsequent eligible grace notes, up to the next Acciaccatura.ms object, will be affected. To discontinue automatic acciaccatura marks, insert another object with Class = Standard, or Visibility set to Never. (The first option will ornament a single following grace note; the second option will end ornamentation.)

Also note that for Class = StaffSig, playback will only occur for grace notes within a SPP offset of 32 quarter notes from the location of the user object. Insert additional StaffSig objects in your score if you have grace notes that are too far from the user object, or for the most accurate playback, use Class = Standard objects at each grace note location.

The object has the following parameters:

Rate: Specifies the playback rate for the acciaccatura, expressed as the number of notes per whole note duration. For example, 64 would correspond to a 1/64 note. A value of 0 disables playback, which is the default. Also note that the grace note must be muted for playback to occur.
Down-stem Style: Determines the style for the slash ornament on down-stem notes. Selecting "Upward" will render the slash from lower left to upper right (the same as for up-stem notes), while selecting "Downward" will render the slash from upper left to lower right.  The default is "Upward".

The current object will only affect an unbeamed eighth (quaver) grace note.

Note that playback will currently work correctly only for a single acciaccatura preceding a note. Multiple note playback, as well as beamed notes, are under future consideration.
Title: Re: Acciaccatura.ms (version 0.95)
Post by: Mike Shawaluk on 2015-08-02 11:32 pm
The Acciaccatura.ms user object has been updated, with the following changes:


Please refer to the parent post for a description of the available parameters.

As always, feedback and suggestions are greatly appreciated.

Mike
Title: Re: Acciaccatura.ms (version 0.95)
Post by: Peter Edwards on 2015-09-21 01:44 pm
Could this be adapted to treat all subsequent grace notes as acciaccaturas until another instance cancels it?

I'm imagining something similar to Ottavamatic.
Title: Re: Acciaccatura.ms (version 0.95)
Post by: Mike Shawaluk on 2015-09-22 12:05 am
Thanks for the suggestion. I'm currently exploring a way to change it to a "dual use" object: when Class=Standard, it behaves as it does now, and only modifies the next grace note it finds; when Class=StaffSig, it takes on the new behavior you propose (and inserts a label in the score).

Title: Re: Acciaccatura.ms (version 0.95)
Post by: Lloyd on 2015-09-22 02:40 pm
Hi,

maybe I'm wrong (sorry if it's the case ;)) but I would say that acciaccatura line might be in other direction when stem down...
I mean,  / <--- this direction for stem up (as it does) but  \ <--- this direction for stem down.

What do you think Mike?
Title: Re: Acciaccatura.ms (version 0.95)
Post by: Mike Shawaluk on 2015-09-22 03:03 pm
Hi,

maybe I'm wrong (sorry if it's the case ;)) but I would say that acciaccatura line might be in other direction when stem down...
I mean,  / <--- this direction for stem up (as it does) but  \ <--- this direction for stem down.

What do you think Mike?

Thanks lloyd - a quick check of the Lilypond reference page (http://lilypond.org/doc/v2.18/Documentation/notation/special-rhythmic-concerns#grace-notes) would seem to indicate that you are correct. I followed the examples in this thread (https://forum.noteworthycomposer.com/?topic=8800.msg62293#msg62293) when I created my object. I guess I can correct the slash direction when I make my next update.

EDIT: Per follow-ups on this thread below, it seems the jury is still out. Perhaps I will add a configurable option so people can have it however they like it.

Mike
Title: Re: Acciaccatura.ms (version 0.95)
Post by: Rick G. on 2015-09-22 03:04 pm
maybe I'm wrong (sorry if it's the case ;)) but I would say that acciaccatura line might be in other direction when stem down...
I mean,  / <--- this direction for stem up (as it does) but  \ <--- this direction for stem down.
You are. Who knows?

Title: Re: Acciaccatura.ms (version 0.95)
Post by: Mike Shawaluk on 2015-09-22 03:56 pm
Your example is from Alfred's; the one I linked is from the Lilypond reference, which I have found to be fairly accurate in the past. Do we have a tie-breaker vote? "Behind Bars" perhaps?
Title: Re: Acciaccatura.ms (version 0.95)
Post by: Richard Woodroffe on 2015-09-22 04:49 pm
Behind bars, strangely, does not explicitly say. However, all the examples show that the diagonal stroke is top right to bottom left (/) for tails up and top left to bottom right (\) for tails down.

Title: Re: Acciaccatura.ms (version 0.95)
Post by: David Palmquist on 2015-09-23 05:49 am

Here I go again.  In 50 years of playing woodwind parts in treble clef, sometimes divisi but usually single voice, I don't recall ever seeing a grace note with a downward stem.  Rick's second example shows how limited my experience has been...  ;)

Having said that, if you slope the slash like / care must be taken to make it very obvious the flag on the downstem eighth note isn't confused by the eye into looking like a sixteenth note with no slash.  Rick's second example accomplishes this.

I wouldn't rely on Lilypond as an authority, the developers stand in exactly the same position as Eric - they're software designers with an interest in music, and they don't create the world's notation standards. 

Perhaps there would be some way to make the slash direction user-controllable for downward stem notes.  If a \ stem is mandatory on downstem graces, there's bound to be some in the Noteworthy community who would find it difficult to live with.

Title: Re: Acciaccatura.ms (version 1.0)
Post by: Mike Shawaluk on 2015-10-03 01:01 pm
The Acciaccatura.ms user object has been updated, with the following changes:


Please note that I have decided to leave the slash direction on downward stems as is for now, as discussed above. If someone can convince me that a configurable option is worthwhile, I'll add it.

Please refer to the parent post for a description of the object.

As always, feedback and suggestions are greatly appreciated.

Mike
Title: Re: Acciaccatura.ms (version 1.0)
Post by: Flurmy on 2016-03-03 10:34 pm
Quote
To discontinue automatic acciaccatura marks, insert another object with Class = Standard, or Visibility set to Never.
Yes, but with a difference: setting Visibility to Never works as described; inserting another object with Class = Standard will work for the subsequent grace notes but the first one.
Title: Re: Acciaccatura.ms (version 1.0)
Post by: Mike Shawaluk on 2016-03-03 10:59 pm
This is correct; I've updated the description at the top of the thread to mention this.

Thanks,
Mike
Title: Re: Acciaccatura.ms (version 1.0)
Post by: Haymo on 2016-03-06 02:09 pm
Mike,
just a BIG thank you for a very useful object
(The first which I've tried to use)
At last you've got this 85-year old to venture into the use of objects.
Title: Re: Acciaccatura.ms (version 1.0)
Post by: Flurmy on 2016-05-15 05:20 pm
One little glitch (in my opinion): if I put an acciaccatura object with Class = StaffSig, then all the grace notes have a slash... including the hidden ones, in which case only the slash is visible!  :D
The workaround is simple but I think it should be very easy to "fix" the object.  ;)
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2016-05-15 11:31 pm
The Acciaccatura.ms user object has been updated, with the following changes:


For the programming minded, you can see the code changes here (https://github.com/MikeShawaluk/ms-nwcplugins/commit/d7b26fa1b382ad118bbae268c133ee6379a2abf8?diff=split).

Please refer to the parent post for a description of the object.

As always, feedback and suggestions are greatly appreciated.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2016-05-16 01:05 pm
Thanks a lot, Mike!
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-01-28 04:01 pm
There is a reason for the acciaccatura inserted as StaffSig is no more visible as... I don't remember how it's called.
Let me say: like "PageTxtMaestro".
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-01-29 06:52 pm
There is a reason for the acciaccatura inserted as StaffSig is no more visible as... I don't remember how it's called.
Let me say: like "PageTxtMaestro".
I'm afraid I don't understand your question/request. Is it not displaying in your score? Can you post an example?
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-01-29 07:05 pm
Ops!
Unable to reproduce the effect.
Sorry Mike, forget it all.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-09-30 04:11 pm
I know this plugin is just esthetic, but, Mike, what do you thing about making it also playing?
When the tempo is slow, 1/32 is too long for an acciaccatura and I have to add a staff just for this.
Sometimes also an 1/64 is too slow. The best could be to also allow the fusa (1/128).
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-10-01 04:53 pm
I'm not that familiar with the different types of grace notes, so I wouldn't know how to proceed with adding playback to this object. I would assume that playback would only take place when the ornamented note is muted, but what other parameters should there be to control its playback? Duration? Time offset?  How would its playback differ from a regular grace note? Would it make sense for playback to only occur when the object is in Standard mode (i.e. not StaffSig)?
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-10-01 05:38 pm
Well, I thing the arpeggio is similar but more complicated.
There you already solved the problem of the note duration and of the optional anticipated playing.
Look at the acciaccatura like a... one note arpeggio.
Or did I overlook something?
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-10-02 01:02 pm
I understand what you are saying, and I know how to add playback events to a plugin, but in order to do this correctly, I want to understand the mechanics of the acciaccatura, versus what NWC is already doing with its built-in grace note (which I assume is an appoggiatura).

Said another way: I don't want to "guess" as to how and when to play back the notes. I'm looking for some sort of rules on how to create the MIDI notes, what variations should exist for their playback, and what the default values should be. Hopefully, this can be done in a "mathematical" way. Does that make sense?

One final comment: I've done a bit of searching on the term, and most pages discuss them in terms of specific instruments. Most often it will be piano or flute, with differences in how they are played for those two instruments. Also, there seems to be some differences in how they are played over the years. Maybe some of this is not relevant to the discussion and can be safely ignored, but I know that many NWC users are creating scores for historical pieces, so perhaps I need to address these changes.

I apologize if I am being dense here. When it comes to certain notation, I am a bit of a novice, and I want to "do it right".

Thanks again,
Mike
Title: Re: Acciaccatura.ms (version 1.1)
Post by: hmmueller on 2017-10-02 02:01 pm
Sorry if I chime in - I think you will (or have to) open a can of worms with play back of ornaments (at least, I'm going to open it ...).

First, currently, NWC plays grace notes "wrongly" - by default, they are in today's music almost always played before the beat (so that the main note is on the beat), but NWC plays the grace note on the beat. But at least in older music, and if one wants to stress the ornament, playing it nearer to or right on the beat is also useful or even "correct".

But then, all note playing by NWC is a huge (and, often, not too good) compromise. Just singling out the grace note and maybe the arpeggio may help a few here with a few pieces, but actually the whole concept of "what does it mean to render a score" needs to be revisited. For example, it is, in general, certainly wrong in many cases to play notes exactly as long as they are notated (i.e., up to the start of the next beat minus an epsilon to create an audible break to the next note); and it is often not even clear that notes are to be started when the score says so ("laid back" and "laid forward" playing are typical styles even in classical music!).

To "go meta" even more, I think that one even needs to know for what purpose a sound rendition is made. Even with live performing, you will sing or play very differently if you want to get a crisp and clear rhythm e.g. in early rehearsals - whereas in the actual concert, many decisions on where notes start and how long they sound will be different.

I use NWC to create rehearsal voices for our choir - there, I need "mathematical placement of notes". But I also try to do "more artistic renditions" - and see and hear many limits there.

In some other thread, someone asked about hooking up Kontakt to NWC - I have looked at Kontakt (and some other virtual instruments) a little and found that parameterizing them is a software project of its own. I have some ideas on how this should be done - but mainly I think that revisiting "how to play music from a notation program" needs a "holistic" approach.

For the current topic and plugin, I would therefore say that there is not too much to be gained from deep research - rather, some compromise that makes a few users somewhat more happy would actually be fine.

(I "criticized" the trill object also some time back on the grounds that it is too limited to play "real" or "really good" trills. But exactly because it is not easy - if possible at all - to design a trill that can do "all trills needed", I am happy with the current, simple version. If I need something more versatile - well, I'll probably have to do it - or at least, specify it! - myself ...).

H.M.

P.S. On re-reading, this is sort of rambling along - forgive me if it does not make too much sense ...
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-10-02 02:24 pm
Thanks very much for sharing that information, it was very helpful. I have done a few experiments with the native NWC grace notes, and I'm made the following observations:

As you say, they occur on the beat, and they steal time from the notes they precede. However, I've noticed that when they are muted, they no longer steal playback time from the following notes (which makes sense). Therefore, if an acciaccatura object were applied to a muted grace note (so that it could play in its stead), it would be able to play anticipated (which I would say is the desired effect). However, I don't think it would be able to be played on the beat, since it would overlap the following note's playback (unless that note were ALSO muted, which opens the can of worms slightly wider)

Another challenge for such an object is to not overlap the notes which precede it. Plus, there is the fact that it's not possible to add "before beat" playback on the first note of a score. I have mentioned this in the help file for Arpeggio.ms:
Quote
Note that if playback begins with an anticipated arpeggio, it will play in the normal style, since attempting to begin its playback before the start of the score, or before the user presses the Play button, could result in a causality violation.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: hmmueller on 2017-10-02 02:40 pm
OT: I like the "could" in "could result in a causality violation." You might add ", thereby possibly bringing the known universe to an immediate end" or the like  ;D  :o
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-10-02 07:02 pm
Quote
Sorry if I chime in
Nope: thanks for chiming in, instead.
I completely agree with you. You saved my typing effort.  :D

Quote
I don't think it would be able to be played on the beat, since it would overlap the following note's playback (unless that note were ALSO muted, which opens the can of worms slightly wider)
Exactly as the arpeggio requires...

Quote
another challenge for such an object is to not overlap the notes which precede it.
Exactly like the arpeggio.

Quote
Plus, there is the fact that it's not possible to add "before beat" playback on the first note of a score.
Yes, but a hidden rest on all the staves solves brilliantly the problem.
And the arpeggio has also the problem of not exceeding the length of the chord, otherwise some odd things happen.

As I told, I'm amazed on how you somehow solved all those problem in the arpeggio object.
And if I had time to study Lua (and now it's already more than a year that I formulated that wish), starting with your object I would do it myself.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-10-02 08:40 pm
Okay, so based on the comments from @Flurmy and @hmmueller, I think I am ready to begin work on an Acciaccatura.test object, which will do the following:
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-10-03 08:38 pm
The duration of the playback note will be specified via a parameter, possibly along with a "delay" parameter
Sorry, what do you mean with "delay"? (No, I'm not just requesting a translation  :D )

In looking at "Behind Bars", I notice that she provides examples of acciaccatura markings on multiple beamed notes.
Sorry again. What's "Behind Bars"?
Anyway, yes, it's normal to have multiple notes acciaccatura.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-10-03 09:21 pm
Sorry, what do you mean with "delay"? (No, I'm not just requesting a translation  :D )
Perhaps "delay" was the wrong word. I mean a time "rest" between the end of the grace note and the start of the normal note that follows. Maybe an example would help. Let's say I have a 64th note acciaccatura followed by a quarter note. If the "rest" was zero, then the start of the grace note playback would be 1/64 beat prior to the start of the quarter note. But perhaps you want the note to have a shorter duration, but still start 1/64 beat before the quarter note. You could do this by setting the duration of the grace note to be 1/128, and then having a 1/128th "rest" value.  I have no idea if this makes any sense musically, which is why I asked the question in the first place.  I suppose it would have the same effect to not have the "rest" parameter, and simply add a staccato mark on the grace note (which I also don't know if that makes any sense notation-wise).
Sorry again. What's "Behind Bars"?
This. (https://www.amazon.com/Behind-Bars-Definitive-Guide-Notation/dp/0571514561)
Anyway, yes, it's normal to have multiple notes acciaccatura.
Thanks for the feedback.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Peter Edwards on 2017-10-04 06:07 am
FWIW you can only have one acciaccatura which is played as short as possible immediately before (sometimes with) the principal note. The term is Italian for crushed. Multiple notes would almost certainly be appoggiaturas which have a definite length. They can be lengthened with hidden tied notes, but not shortened. We do need a method of playing them too before the beat.

Title: Re: Acciaccatura.ms (version 1.1)
Post by: hmmueller on 2017-10-04 06:50 am
I mean a time "rest" between the end of the grace note and the start of the normal note that follows ... I have no idea if this makes any sense musically ...
No, this doesn't make sense. On all instruments I know (strings, keys, wind), acciaccaturas are played "quickly", which requires that are they played with a single "movement" (or air breath). If a composer or arranger wanted a gap, she or he could always write it with standard notation - which has become useful, and later customary, anyway from maybe the mid-1800s onward.

H.M.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-10-04 08:25 pm
From the italian version of Wikipedia (the english version is less detailed):
Quote
The acciaccatura is drawn with one or more notes of short value. When it's a single note it has a diagonal stroke to tell it from the appoggiatura.
In the multiple acciaccatura, instead, the notes are two or more and are written as small notes of 1/16, 1/32, 1/64 or 1/128 of duration, without the stroke, slurred to the real note.
(omissis)
The duration of the execution is very short.
(omissis)
It's possible to find simple, double, triple or intermediate (??? Sorry, I don't understand what they mean with this) acciaccature.
The acciaccature are often found before a chord.
In the 1600 the acciaccature were usually played on beat; in the 1800 the were often played anticipated.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Mike Shawaluk on 2017-10-05 01:09 pm
There are limits to what can currently be done with plugin objects. From what I understand, a plugin can add MIDI events at a specified point in time in the score, but plugin itself has no "duration". That is, it takes up no beats in the score. Also, it can't affect the playback parameters of any other notes in the score. This is why I am limited to having "before beat" playback; the note that follows the acciaccatura can't be moved or shortened, so it will play back at its intended spot. I suppose it's possible to insert a hidden rest in front of the main note, but that would leave extra space in the measure and throw off the timing. Also, I don't think that hidden grace rests will steal time from the start of a note. (Someone please correct me if I am wrong on this)
Title: Re: Acciaccatura.ms (version 1.1)
Post by: William Ashworth on 2017-10-05 05:57 pm
....I don't think that hidden grace rests will steal time from the start of a note. (Someone please correct me if I am wrong on this)

I'm pretty sure you're right, Mike. Hidden grace objects (notes and rests) take no time. This is so they can be used to help shape slurs without affecting playback.
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Flurmy on 2017-10-05 06:11 pm
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.75)
|Editor|ActiveStaff:2|CaretIndex:1|CaretPos:0
|SongInfo|Title:""|Author:""|Lyricist:""|Copyright1:""|Copyright2:""
|PgSetup|StaffSize:16|Zoom:4|TitlePage:Y|JustifyVertically:Y|PrintSystemSepMark:N|ExtendLastSystem:N|DurationPadding:Y|PageNumbers:1|StaffLabels:None|BarNumbers:Plain|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|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:"MusikDingsSans"|Size:16|Bold:N|Italic:N|CharSet:0
|Font|Style:User2|Typeface:"MusikTextEuroSans"|Size:10|Bold:N|Italic:N|CharSet:0
|Font|Style:User3|Typeface:"MusikTextEuroSans"|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:"Right hand"|Label:"Harp"|Group:"Standard"
|StaffProperties|EndingBar:Open (hidden)|Visible:Y|BoundaryTop:13|BoundaryBottom:10|Lines:5|WithNextStaff:Brace,ConnectBars|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:1
|StaffInstrument|Name:"Harp"|Patch:46|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Treble
|Key|Signature:Bb|Tonic:F
|TimeSig|Signature:Common
|Dynamic|Style:f|Pos:-8|Visibility:Never
|Tempo|Tempo:63|Pos:14|Visibility:Never
|Bar
|Chord|Dur:16th|Pos:-2,0,5|Opts:Stem=Down,Beam=First
|Chord|Dur:16th|Pos:1,6|Opts:Stem=Down,Beam
|TempoVariance|Style:Ritenuto|Pos:13
|Chord|Dur:16th|Pos:2,7|Opts:Stem=Down,Beam
|Chord|Dur:16th|Pos:1,6|Opts:Stem=Down,Beam=End
|Chord|Dur:16th|Pos:0,5|Opts:Stem=Down,Beam=First
|Chord|Dur:16th|Pos:-1,4|Opts:Stem=Down,Beam
|Chord|Dur:16th|Pos:-2,3|Opts:Stem=Down,Beam
|Chord|Dur:16th|Pos:-3,2|Opts:Stem=Down,Beam=End
|Spacer|Width:225
|Note|Dur:Whole,Grace|Pos:-5x^|Opts:Muted|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y^|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y^|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y^|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y|Visibility:Never
|Note|Dur:8th,Grace|Pos:-4^|Opts:Stem=Up,Beam=First|Visibility:Never
|Note|Dur:8th,Grace|Pos:-2^|Opts:Stem=Up,Beam|Visibility:Never
|Note|Dur:8th,Grace|Pos:1^|Opts:Stem=Up,Beam=End|Visibility:Never
|TempoVariance|Style:Fermata|Pause:4|Pos:11|Justify:Center|Placement:AtNextNote
|Tempo|Tempo:40|Pos:17|Visibility:Never
|Chord|Dur:4th|Pos:-4,-2,1,3|Opts:Stem=Up
|Tempo|Tempo:63|Pos:14|Visibility:Never
|Text|Text:"a tempo"|Font:StaffItalic|Pos:19
|Dynamic|Style:mf|Pos:-11
|Chord|Dur:8th,Triplet=First|Pos:-3,4|Opts:Stem=Up,Beam=First
|Chord|Dur:8th,Triplet|Pos:-2,5|Opts:Stem=Up,Beam
|Chord|Dur:8th,Triplet=End|Pos:-1,6|Opts:Stem=Up,Beam=End
|Bar
|Bar|Style:SectionClose|SysBreak:Y
|AddStaff|Name:"Left hand"|Group:"Standard"
|StaffProperties|EndingBar:Open (hidden)|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|WithNextStaff:Brace,ConnectBars|Color:Default
|StaffProperties|Muted:N|Volume:127|StereoPan:64|Device:0|Channel:2
|StaffInstrument|Name:"Harp"|Patch:46|Trans:0|DynVel:10,30,45,60,75,92,108,127
|Clef|Type:Bass
|Key|Signature:Bb|Tonic:F
|TimeSig|Signature:Common
|Dynamic|Style:mp|Pos:-8|Visibility:Never
|Bar
|User|Arpeggio.ms|Pos:-3|Offset:0|Anticipated:Y
|Chord|Dur:4th|Pos:0,2,5|Opts:Stem=Up,Muted|Dur2:Half|Pos2:-4
|Chord|Dur:4th|Pos:2,5,7|Opts:Stem=Up
|User|Arpeggio.ms|Pos:22|MarkerExtend:Y|Play:N
|Spacer|Width:50
|Note|Dur:8th,Grace|Pos:-1^|Opts:Stem=Up,Beam=First|Visibility:Never
|Note|Dur:8th,Grace|Pos:3^|Opts:Stem=Up,Beam|Visibility:Never
|Note|Dur:8th,Grace|Pos:5^|Opts:Stem=Up,Beam|Visibility:Never
|Note|Dur:8th,Grace|Pos:7^|Opts:Stem=Up,Beam=End|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5x^|Opts:Muted|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y^|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y^|Visibility:Never
|Note|Dur:Whole,Grace|Pos:-5y|Visibility:Never
|Chord|Dur:4th|Pos:3,5,7|Opts:Stem=Up|Dur2:4th|Pos2:-1
|Rest|Dur:4th
|Bar
|Bar|Style:SectionClose
!NoteWorthyComposer-End
A trick from Rick the Wizard...
Title: Re: Acciaccatura.ms (version 1.1)
Post by: David Palmquist on 2017-10-06 01:02 am
Hidden grace objects (notes and rests) take no time. This is so they can be used to help shape slurs without affecting playback.

Doesn't the marker shape slurs now?
Title: Re: Acciaccatura.ms (version 1.1)
Post by: Peter Edwards on 2017-10-06 06:28 am

Hiding grace notes has no effect on playback. Muted ones however are ignored (unless tied).
Grace rests do steal time unless hidden.
Title: Re: Acciaccatura.ms (version 1.2)
Post by: Mike Shawaluk on 2017-10-08 01:43 pm
The Acciaccatura.ms user object has been updated, with the following changes:


Please refer to the parent post for a description of the available parameters.

Title: Re: Acciaccatura.ms (version 1.2)
Post by: Richard Woodroffe on 2017-10-09 08:59 am
There is only one problem with this. 

Your rendition of a playing Acciaccatura is now better and more flexible than the NoteWorthy version of the Appoggiatura.

You can see what's coming can't you ?

Title: Re: Acciaccatura.ms (version 1.2)
Post by: Mike Shawaluk on 2017-10-09 11:01 am
There is only one problem with this. 

Your rendition of a playing Acciaccatura is now better and more flexible than the NoteWorthy version of the Appoggiatura.

You can see what's coming can't you ?
I guess one possible outcome would be for NWC to add a property to a grace note to allow the flag to be shown / not shown, and for playback to begin before or at the beat, which would render the object obsolete.  I am okay with that; it won't be the first object that has been ashcanned because of a new feature (https://noteworthycomposer.com/hh/nwc2/MNU_COURTESYACC.htm).
Title: Re: Acciaccatura.ms (version 1.2)
Post by: Peter Edwards on 2017-10-09 03:16 pm
It didn't work for me until I realised that you needed to mute the grace note. Perhaps this could be mentioned more explicitly in the dialogue box.

And just a thought: if you muted the main note too then could you steal time from it so that we could have a variable appoggiatura on the beat specified by perhaps a minus number.
Title: Re: Acciaccatura.ms (version 1.21)
Post by: Mike Shawaluk on 2017-10-10 03:33 am
The Acciaccatura.ms user object has been updated, with the following changes:

Title: Re: Acciaccatura.ms (version 1.3)
Post by: Mike Shawaluk on 2017-10-14 11:45 am
The Acciaccatura.ms user object has been updated, with the following changes:

Title: Re: Acciaccatura.ms (version 1.3)
Post by: Flurmy on 2017-10-17 07:48 pm
Thank you very much, Mike.
But I found a buglet. Listen here:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|User|Acciaccatura.ms|Pos:2|Class:StaffSig|Rate:64
|Clef|Type:Treble
|Key|Signature:Bb|Tonic:F
|TimeSig|Signature:Common
|Tempo|Tempo:60|Pos:13|Visibility:Never
|Text|Text:"Largo"|Font:StaffItalic|Pos:8
|Rest|Dur:8th
|Dynamic|Style:p|Pos:-14|Wide:Y|Justify:Right|Placement:AtNextNote
|Note|Dur:8th,Slur|Pos:-8|Opts:Stem=Up,Beam=First
|Note|Dur:8th,Grace,Slur|Pos:-6|Opts:Muted
|Note|Dur:8th,Slur|Pos:-7|Opts:Stem=Up,Beam
|Note|Dur:8th|Pos:-8|Opts:Stem=Up,Beam=End
|Bar
!NoteWorthyComposerClip-End
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Flurmy on 2017-10-17 08:02 pm
While I suppose that the previous problem is due to the fact that, using the acciaccatura at the staff signature, the note velocity is decided once for all at the beginning, this problem is more subtle (I think):
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|User|Acciaccatura.ms|Pos:2|Class:StaffSig|Rate:64
|Clef|Type:Treble
|Key|Signature:Bb|Tonic:F
|Tempo|Tempo:50|Pos:16|Visibility:Never
|TimeSig|Signature:2/4
|Dynamic|Style:f|Pos:-11
|Text|Text:"Largo"|Font:StaffItalic|Pos:11
|Chord|Dur:4th,Accent|Pos:-3,-1,2|Opts:Stem=Up
|Chord|Dur:4th,Accent|Pos:-3,0,2|Opts:Stem=Up
|Bar
|Chord|Dur:Half,Accent|Pos:2,3,7|Opts:Stem=Down
|Bar
|Chord|Dur:8th,Accent|Pos:#1,3,6|Opts:Stem=Down,Beam=First
|TempoVariance|Style:Fermata|Pause:2|Pos:6|Justify:Center|Placement:AtNextNote
|Note|Dur:8th|Pos:-6^|Opts:Stem=Down,Beam=End
|Note|Dur:32nd|Pos:-6|Opts:Stem=Up,Beam=First
|Note|Dur:32nd,Slur|Pos:-7|Opts:Stem=Up,Beam
|Note|Dur:32nd,Slur|Pos:-8|Opts:Stem=Up,Beam
|Tempo|Tempo:40|Pos:12|Visibility:Never
|TempoVariance|Style:Rallentando|Pos:8
|Note|Dur:32nd,Slur|Pos:#-9|Opts:Stem=Up,Beam=End
|Note|Dur:16th,Triplet=First,Slur|Pos:-8|Opts:Stem=Up,Beam=First
|Note|Dur:16th,Triplet,Slur|Pos:#-6|Opts:Stem=Up,Beam
|Note|Dur:16th,Triplet=End|Pos:-4|Opts:Stem=Up,Beam=End
|Bar
|Tempo|Tempo:30|Pos:10|Visibility:Never
|Tempo|Tempo:60|Pos:6|Visibility:Never
|Note|Dur:Half,Accent|Pos:0|Opts:Stem=Down
|Bar|Style:Double
|TimeSig|Signature:Common
|Tempo|Tempo:60|Pos:13|Visibility:Never
|Text|Text:"Largo"|Font:StaffItalic|Pos:8
|Rest|Dur:Half
|Rest|Dur:8th
|Dynamic|Style:p|Pos:-14|Wide:Y|Justify:Right|Placement:AtNextNote
|Note|Dur:8th,Slur|Pos:-8|Opts:Stem=Up,Beam=First
|Note|Dur:8th,Grace,Slur|Pos:-6|Opts:Crescendo,Muted
|Note|Dur:8th,Slur|Pos:-7|Opts:Stem=Up,Crescendo,Beam
|Note|Dur:8th|Pos:-8|Opts:Stem=Up,Crescendo,Beam=End
|Bar
|Note|Dur:Half|Pos:-1^|Opts:Stem=Up,Crescendo
|Note|Dur:8th|Pos:-1|Opts:Stem=Up,Crescendo,Beam=First
|Note|Dur:8th|Pos:-3|Opts:Stem=Up,Crescendo,Beam
|Note|Dur:8th,Slur|Pos:-3|Opts:Stem=Up,Crescendo,Beam
|Note|Dur:8th|Pos:-2|Opts:Stem=Up,Crescendo,Beam=End
|Dynamic|Style:mf|Pos:-14|Visibility:Never
|Bar
|Note|Dur:8th,Grace,Slur|Pos:-2|Opts:Stem=Up,Muted
|Note|Dur:8th,Slur|Pos:-3|Opts:Stem=Up,Beam=First
|Note|Dur:8th|Pos:-4|Opts:Stem=Up,Beam=End
|Note|Dur:Half,Slur|Pos:0^|Opts:Stem=Down,Slur=Downward
|Note|Dur:8th,Slur|Pos:0|Opts:Stem=Up,Slur=Downward,Beam=First
|Note|Dur:8th|Pos:-7|Opts:Stem=Up,Beam=End
|Bar
|DynamicVariance|Style:Crescendo|Pos:-14|Placement:AtNextNote
|Note|Dur:8th,Slur|Pos:-7|Opts:Stem=Up,Beam=First
|Note|Dur:8th,Slur|Pos:-8|Opts:Stem=Up,Beam
|Note|Dur:8th,Slur|Pos:#-6|Opts:Stem=Up,Beam
|Note|Dur:8th,Slur|Pos:-4|Opts:Stem=Up,Beam=End
|Note|Dur:8th|Pos:-2|Opts:Stem=Up,Beam=First
|Note|Dur:8th,Slur|Pos:-2|Opts:Stem=Up,Beam
|Note|Dur:8th,Slur|Pos:-3|Opts:Stem=Up,Beam
|Note|Dur:8th|Pos:-6|Opts:Stem=Up,Beam=End
|Bar
|Note|Dur:8th,Slur|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:8th|Pos:-5|Opts:Stem=Up,Beam=End
|Dynamic|Style:f|Pos:-14|Visibility:Never
|Note|Dur:8th,Grace,Slur|Pos:-4|Opts:Stem=Up,Muted
|Note|Dur:16th,Staccato,Slur|Pos:-5|Opts:Stem=Up,Diminuendo,Beam=First
|Note|Dur:16th,Staccato,Slur|Pos:#-6|Opts:Stem=Up,Diminuendo,Beam
|Note|Dur:16th,Staccato,Slur|Pos:-5|Opts:Stem=Up,Diminuendo,Beam
|Note|Dur:16th,Staccato,Slur|Pos:-4|Opts:Stem=Up,Diminuendo,Beam=End
|Note|Dur:8th,Staccato|Pos:-3|Opts:Stem=Up,Beam=First
|Dynamic|Style:p|Pos:-14|Visibility:Never
|Note|Dur:8th,Slur|Pos:-8|Opts:Stem=Up,Beam
|Note|Dur:8th,Grace,Slur|Pos:n-6|Opts:Stem=Up,Muted
|Note|Dur:8th,Slur|Pos:-7|Opts:Stem=Up,Beam
|Note|Dur:8th|Pos:-8|Opts:Stem=Up,Beam=End
|Bar
|Note|Dur:Half|Pos:-1^|Opts:Stem=Up,Crescendo
|Note|Dur:8th|Pos:-1|Opts:Stem=Up,Crescendo,Beam=First
|Note|Dur:8th|Pos:-3|Opts:Stem=Up,Crescendo,Beam
|Note|Dur:8th,Slur|Pos:-3|Opts:Stem=Up,Crescendo,Beam
|Note|Dur:8th|Pos:-2|Opts:Stem=Up,Crescendo,Beam=End
|Bar
|Dynamic|Style:f|Pos:-14|Visibility:Never
|Note|Dur:8th,Grace,Slur|Pos:-2|Opts:Stem=Up,Muted
|Note|Dur:8th,Slur|Pos:-3|Opts:Stem=Up,Beam=First
|Note|Dur:8th|Pos:-4|Opts:Stem=Up,Beam=End
|Note|Dur:Half,Slur|Pos:0^|Opts:Stem=Down,Slur=Downward
|Note|Dur:8th,Slur|Pos:0|Opts:Stem=Up,Slur=Downward,Beam=First
|Note|Dur:8th|Pos:-7|Opts:Stem=Up,Beam=End
|Bar
|TempoVariance|Style:Rallentando|Pos:8
|Note|Dur:8th,Slur|Pos:-7|Opts:Stem=Up,Beam=First
|Note|Dur:8th|Pos:-8|Opts:Stem=Up,Beam
|Note|Dur:8th,Slur|Pos:-5|Opts:Stem=Up,Beam
|Note|Dur:8th|Pos:#-6|Opts:Stem=Up,Beam=End
|Note|Dur:4th,Dotted,Slur|Pos:-2|Opts:Stem=Up
|Note|Dur:8th|Pos:-4|Opts:Stem=Up
|Bar
|Dynamic|Style:f|Pos:-14
|Note|Dur:8th,Slur|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:8th|Pos:-5|Opts:Stem=Up,Beam=End
|Note|Dur:8th,Grace,Slur|Pos:-4|Opts:Stem=Up,Muted
|Note|Dur:8th,Slur|Pos:-5|Opts:Stem=Up,Beam=First
|Note|Dur:8th,Slur|Pos:#-6|Opts:Stem=Up,Beam=End
|Note|Dur:4th|Pos:-5|Opts:Stem=Up
|Tempo|Tempo:40|Pos:10|Visibility:Never
|Rest|Dur:4th
|Bar|Style:MasterRepeatOpen
|Tempo|Tempo:80|Pos:9|Visibility:Never
|Dynamic|Style:mf|Pos:-11
|Note|Dur:4th,Slur|Pos:1^|Opts:Stem=Down
|Note|Dur:16th,Triplet=First,Slur|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:16th,Triplet,Slur|Pos:n0|Opts:Stem=Down,Beam
|Note|Dur:16th,Triplet=End,Slur|Pos:1|Opts:Stem=Down,Beam
|Note|Dur:16th,Triplet=First,Slur|Pos:2|Opts:Stem=Down,Beam
|Note|Dur:16th,Triplet,Slur|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:16th,Triplet=End,Slur|Pos:4|Opts:Stem=Down,Beam=End
|Note|Dur:16th,Dotted|Pos:5|Opts:Stem=Down,Beam=First
|Note|Dur:32nd,Slur|Pos:4|Opts:Stem=Down,Beam
|Note|Dur:16th,Dotted|Pos:3|Opts:Stem=Down,Beam
|Note|Dur:32nd,Slur|Pos:2|Opts:Stem=Down,Beam=End
|Note|Dur:8th,Slur|Pos:1|Opts:Stem=Down,Beam=First
|Note|Dur:8th|Pos:b0|Opts:Stem=Down,Beam=End
|Bar
|Note|Dur:8th,Slur|Pos:0|Opts:Stem=Up,Beam=First
|Note|Dur:8th|Pos:-1|Opts:Stem=Up,Beam=End
|Note|Dur:8th,Grace,Slur|Pos:0|Opts:Stem=Up,Muted
|Note|Dur:8th,Dotted,Slur|Pos:-1|Opts:Stem=Up,Beam=First
|Note|Dur:16th,Slur|Pos:#-2|Opts:Stem=Up,Beam=End
|Note|Dur:Half|Pos:-1|Opts:Stem=Up
|Bar
!NoteWorthyComposerClip-End
Listen attentively to bar 13 and 15...
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Mike Shawaluk on 2017-10-17 08:17 pm
I think the problem is that a plugin object can only insert playback events close to the object. From the API documentation:
Quote
The durationPulses and offsetSPP are restricted to an area near the current play back position (MAXSPPOFFSET)
13 measures is too far away.

Since there is already an issue with the dynamic changes, I think the best solution is to not use the StaffSig option for playback purposes. In fact, I will probably update the object to prevent StaffSig playback, unless someone can convince me that it's possible to overcome these two issues.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Flurmy on 2017-10-17 09:29 pm
Ok, but anyway I don't understand why the grace notes in bars 13 and 15 don't play.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Mike Shawaluk on 2017-10-17 11:16 pm
I didn't explain that very well, so let me try in a bit more detail.

When a plugin object wants to play a note, it needs to indicate when in the score the note starts playing, and how long it should play.  It specifies the starting time as a song pointer position value, or SPP. The units for this position are MIDI pulses, and there are 192 pulses per quarter note. The SPP value that is used is an offset, or distance, between the user object in the score and the location of the note. The NWC plugin API says that the maximum distance that a playback note can be from the location of the object is 6144 MIDI pulses. This can be either on either side of the object (i.e. before or after).

For example, let's look at the grace notes in the 11th and 13th measures.  The StaffSig Acciaccatura.ms is at the very beginning of the score, so it is at location 0.  The first 4 measures of your clip are in 2/4 time, so that adds up to 8 quarter notes of duration. The next 6 measures are in common (4/4) time, so that means another 24 quarter notes of duration. 8 plus 24 equals 32. The grace note in the 11th measure is exactly at the start of the measure, so if we take 32 quarter notes, times 192 pulses per quarter note, we get 6144 pulses, which happens to be the exact maximum distance allowed. Now, the acciaccatura plays in anticipation of the grace note, so the offset is slightly less, and the note plays.   However, the notes in the 13th and 15th measures are farther away - specifically, they are 7872 and 9408 MIDI pulses, respectively. That is why the object can't play them. Please note that this is a limitation set by the NWC plugin API, and is not something I can change.

Now, there are several solutions for this. One would be to put an Acciaccatura.ms plugin in front of each of the notes, in non-StaffSig mode. Then, the SPP distance will be 0, and playback will work as expected. Another option that I don't really recommend is to insert another StaffSig Acciacc. (that is getting tiresome to type!!!) somewhere before the 13th measure, Since each StaffSig Acciacc. object is programmed to only play notes up until the next StaffSig object that it encounters, that subsequent object will play the notes that follow it, which are closer than 6144 pulses away.  However, as you noted in your first message, there are still problems with having a StaffSig object play back notes across multiple measures, since it won't know the dynamics at each location where it is playing notes (an object only "knows" the dynamic volume at the location in the score where the object is.)

Sorry if that was a bit long winded. Please let me know if it makes a little more sense (assuming that I did not put you to sleep).
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Flurmy on 2017-10-18 07:39 pm
Thanks Mike, very clear.
Sorry for having made you typing so much.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Mike Shawaluk on 2017-10-19 11:59 am
Actually the process was beneficial to me. When I started the explanation, I was not certain that the mathematics were going to work out for your example. But as I proceeded (with a little help from Lua debug statements) everything matched my predictions exactly. As a result, I have a better understanding on how these API functions work, and I also have a few ideas on how I can improve this and other objects.
Title: Span?
Post by: Flurmy on 2018-02-17 03:04 pm
Quote
If Class is set to StaffSig, then multiple grace notes will be processed, up to the next Acciaccatura object occurrence.
And if Class is set to Span?
Looking at the code it seems that "Span" is the same as "Standard". So why there is the Span option?
Title: Re: Span?
Post by: Mike Shawaluk on 2018-02-17 04:22 pm
And if Class is set to Span?
Looking at the code it seems that "Span" is the same as "Standard". So why there is the Span option?
I have no control over the value of the Class parameter on a user object; all 3 choices are always available. I don't know how the object would behave if Class were set to Span, but I am not doing anything in the code to handle it, so I would recommend users not pick that setting. The only thing I could do is to force a reset of Class to Standard (or StaffSig) if the user somehow sets it to Span.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Flurmy on 2018-02-17 04:46 pm
I suspected something like that.
Thanks.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Lawrie Pardy on 2018-06-16 05:46 am
Hi Mike,
possible bug report :(
I was just notating a score to fiddle with and came across a problem:

In the following code snippet, the acciaccatura object causes the 3rd high C to playback as C and E chord (same E as the grace note used for the acciaccatura) and the E continues to sound until the acciaccatura (or the grace note it's next to) is reached.

If you remove the object OR unmute the grace note the playback is normal.

Code: [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Key|Signature:F#,C#,G#,D#|Tonic:E
|TimeSig|Signature:2/4
|Note|Dur:4th,Staccato|Pos:8|Opts:Crescendo
|DynamicVariance|Style:Sforzando|Pos:-8|Justify:Center|Placement:AtNextNote
|Note|Dur:4th,Accent|Pos:8
|Bar
|Note|Dur:4th,Slur|Pos:8
|Note|Dur:8th,Tenuto,Slur|Pos:7|Opts:Stem=Down,Diminuendo,Beam=First
|Note|Dur:8th,Tenuto|Pos:6|Opts:Stem=Down,Diminuendo,Beam=End
|Bar
|Dynamic|Style:p|Pos:-8
|Note|Dur:4th,Slur|Pos:5
|Note|Dur:8th,Tenuto,Slur|Pos:4|Opts:Stem=Down,Beam=First
|Note|Dur:8th,Tenuto|Pos:3|Opts:Stem=Down,Beam=End
|Bar
|User|Acciaccatura.ms|Pos:3|Rate:1
|Note|Dur:8th,Grace,Slur|Pos:3|Opts:Muted
|Note|Dur:4th,Slur|Pos:1
|Note|Dur:4th|Pos:2
!NoteWorthyComposerClip-End
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Richard Woodroffe on 2018-06-16 06:34 am
Actually Lawrie, it's trying to do what you told it to do in  a way.

You have the rate option set to 1.  This is equivalent of a whole note length of Acciaccatura.
If you change it to 64 or 128, I think you'll find all is OK.

Title: Re: Acciaccatura.ms (version 1.3)
Post by: Lawrie Pardy on 2018-06-16 07:04 am
Ahh, I didn't realise that.  Clearly I didn't read something...

Thanks Rich
Title: A ghost in my score!
Post by: Flurmy on 2018-06-30 09:35 am
Hi Mike,
at the very end of the attached score I heard a ghost G note (acciaccatura) identical to the one at the beginning of the last measure.
Why?

Remove the grace note at the beginning of the last measure and the ghost disappears.
Put a "|User|Acciaccatura.ms|Pos:0|Rate:32" before the grace note at the beginning of the last measure and the ghost disappears.
Title: Re: A ghost in my score!
Post by: Rick G. on 2018-07-01 12:22 am
I heard a ghost G note (acciaccatura) identical to the one at the beginning of the last measure.
Why?
The acciaccatura objects get invoked according to the musical flow but they schedule playback according to the visual layout:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|TimeSig|Signature:2/4
|Rest|Dur:Half
|Bar|Style:MasterRepeatOpen
|User|Acciaccatura.ms|Pos:0|Class:StaffSig|Rate:16
|Note|Dur:8th,Grace|Pos:-2|Opts:Muted
|Note|Dur:Half|Pos:-1
|Bar
|Ending|Endings:1
|Note|Dur:8th,Grace|Pos:-1|Opts:Muted
|Note|Dur:4th|Pos:0
|Note|Dur:8th,Grace|Pos:-1|Opts:Muted
|Note|Dur:4th|Pos:0
|Bar|Style:MasterRepeatClose
|Ending|Endings:2
|Rest|Dur:Half
|Bar
|Note|Dur:8th,Grace|Pos:0|Opts:Muted
|Note|Dur:Half|Pos:1
!NoteWorthyComposerClip-End
Seems like the way to fix it is to put an acciaccatura object after each Master or Local Repeat Open and after each Special Ending.
Probably 'To Coda' and Coda also need this, but I have not tested.

If there are only a few, it seems easier to use Standard rather than StaffSig.
Title: Re: A ghost in my score!
Post by: Flurmy on 2018-07-01 08:25 am
The acciaccatura objects get invoked according to the musical flow but they schedule playback according to the visual layout:
It took me a bit to understand what you're meaning but I think I got it.

I think it's more straightforward to say that the acciaccatura object at StaffSig doesn't take correct care of the flow.
And, as usual, I forgot what Mike wrote:
Quote
I will probably update the object to prevent StaffSig playback, unless someone can convince me that it's possible to overcome these issues.
So, in a nutshell, if you want to use the acciaccatura object at StaffSig for playing use it at your own risk.
But maybe a little note in the help on the problems flow-related could save (me) some puzzling next time.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Ann Macfarlane on 2018-07-13 10:44 am
I'm very embarrassed to post this, but where exactly should I paste this plugin? I've neglected Noteworthy for a long time now except for a few very minor quick things and have now written a little song in Afrikaans (about frogs) which needs acciaccaturas as a feature. I need the slash and then there's another problem, the crushed note is before a chord and I need the slur to go to the top note in each case - I've battled for a couple of days now to find a way of doing this without resorting to using a hidden extra stave. 
Title: Re: Acciaccatura.ms (version 1.3)
Post by: hmmueller on 2018-07-13 11:00 am
No need to be embarrassed, I'd say ...

Put the plugin at the very beginning of the staff; and set its class to "StaffSig".
(In detail: Place cursor at beginning of staff; press J, select the Acciaacatura object, OK --> now select "StaffSig" as Class [where it says "Standard"]).

Re slurs: I'm not sure what you want exactly, but you can always select a note or chord, open its properties (Alt-Enter), and then select some option under "Slur Direction" - this should move the slur where you want it. If you need more control of slurs, best ask back - there are a few possibilities ("Markers", on the one hand; and the "Slur.ms" object, on the other hand).

I have attached a small example, maybe it helps.

H.M.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Ann Macfarlane on 2018-07-13 01:10 pm
Wow! Thank you so much, Hmmueller for your help, and also to Mike Shawaluk for the plugin. It worked brilliantly and now I'm not so concerned about the slur although it would be nice to have that one day - I had already experimented with the simple up/down option but to no avail as what I need is for the slur to be the underneath type just as the default is, but from the acciaccatura to the top note of the chord. But I'm thrilled with the look of the thing now! Thanks again!
Title: Re: Acciaccatura.ms (version 1.3)
Post by: hmmueller on 2018-07-13 01:49 pm
One more attempt with the slurs ... something like you see in the attachment? - it uses Slur.ms objects with a fair number of custom X/Y and also "Strength" (which controls the bend) adjustments. If the grace notes are far away, giving that slur a nice bend doesn't seem so easy ...

H.M.
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Mike Shawaluk on 2018-07-13 02:17 pm
Actually, if all she wants is a downward slur that connects to the top note in the chord, a marker object does the trick nicely:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|User|Acciaccatura.ms|Pos:0
|Note|Dur:8th,Grace,Slur|Pos:0|Opts:Stem=Up
|Marker|Pos:-0.5
|Chord|Dur:Half|Pos:-3,1
!NoteWorthyComposerClip-End
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Ann Macfarlane on 2018-07-13 10:15 pm
Hi Mike = this is exactly what I was wanting and when i saw your sample in NWC, I selected the entire chord plus acciaccatura and moved the whole thing up and brilliant - the chord moved to the desired stem down, and acciaccatura stayed in position with stem up! When adding this into my file, do I just do what I did with the original plugin and add it to the stave before the clef? I will probably have to use your other script to move the acciaccatura a bit closer. When I'm finished, I'll post the file as a curiosity in the Scriptorium if Richard approves:)
Title: Re: Acciaccatura.ms (version 1.3)
Post by: Mike Shawaluk on 2018-07-13 10:41 pm
Hi Ann,

You can use the Acciaccatura object two ways, either as a Standard or StaffSig class object. When Class is set to Standard, the object will only affect the first grace note which follows it, and the object's marker will be the small teardrop shape. When it is a StaffSig object, it will have the oval label, and it will affect grace notes that follow on that staff, up until the next Acciaccatura object it encounters. I decided to use a Standard one in my sample clip, but this will work with either type.

If you want to move the grace note closer to the chord, you can use a Spacer object to do that. While most people think of spacers as being useful to create extra space between notes, you can also use them to reduce space, since a spacer will take the place of the normal inter-note spacing. See the following example:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|User|Acciaccatura.ms|Pos:0|Class:StaffSig
|Clef|Type:Treble
|TimeSig|Signature:2/4
|Note|Dur:8th,Grace,Slur|Pos:0|Opts:Stem=Up
|Marker|Pos:-0.5
|Chord|Dur:Half|Pos:-3,1
|Bar
|Note|Dur:8th,Grace,Slur|Pos:0|Opts:Stem=Up
|Spacer|Width:75
|Marker|Pos:-0.5
|Chord|Dur:Half|Pos:-3,1
|Bar
|Note|Dur:8th,Grace,Slur|Pos:0|Opts:Stem=Up
|Spacer|Width:50
|Marker|Pos:-0.5
|Chord|Dur:Half|Pos:-3,1
!NoteWorthyComposerClip-End

Title: Re: Acciaccatura.ms (version 1.3)
Post by: Ann Macfarlane on 2018-07-14 02:40 pm
Thanks so much Mike,

It's always exciting learning something new about the program - I've really not experimented enough and had never used the marker insert, and the spacer I had only used before for extra space. You are all so helpful on this group - Thanks to everyone.
Best wishes,
Ann
Title: Acciaccatura.ms (version 1.4)
Post by: Mike Shawaluk on 2023-12-26 01:37 pm
The Acciaccatura.ms user object has been updated to version 1.4, with the following changes:


The parent post has also had additional comments added about the maximum SPP offset.