Skip to main content

Messages

This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - Mike Shawaluk

851
Object Plugins / Re: Slur.ms (1.1)
The Slur.ms user object has been updated, with the following changes:

  • End point adjustments to more correctly handle split stem chords and notes on the stem's weak side

Please refer to the parent post for a description of the available parameters.
852
General Discussion / Re: Soundfont - again
I found it too. I'm using it right now with NWC and it works fine, but I don't know if it will solve the problems between Windows 10 and SoundFonts... In the site it says that the software is only for WinXP (SP3), Vista (SP1), 7 (SP1) and 8.x

This could be a good time for someone to test it in W10  ;)

lloyd.
I can confirm VirtualMIDISynth works fine in Windows 10 on my Surface Pro. I had version 1.8.x installed before, when I was running Windows 8.1, and just tried using it now; it would not appear in the MIDI devices list. So I downloaded the latest version (1.15) and installed it, and it now plays nicely.

Mike
853
Object Plugins / Re: ConcertPitch.fso (version 1.0)
... it could be better if the MIDI command can send values between -8192 and 8191, like in MPC
Actually, you should be able to do that:
Quote
nwcplay.midi(#offsetSPP,'Command',#midiData1,[#midiData2])
You should be able to use both midiData1 and midiData2 to construct a 14 bit value. However, I don't know how that would help, since you still need relatively small pitch bend amounts to simulate a slightly different concert pitch.

Mike
854
Object Plugins / Re: ConcertPitch.fso (version 1.0)
Hi lloyd,

I notice in your code that you are sending MIDI pitch bend commands to effectively change the concert pitch, which is probably why you say that this isn't a real 'tuning function'. I also noticed that the values you are sending for the various concert pitches are often non-integer values. I assume you realize that the API will convert those floating point values to the nearest integer, since MIDI can only send integer values from 0-127 for each of the two parameters.

Also, any scores that use a Noteworthy multi-point controller to send pitch bend information will of course override the results of your object.
855
Object Plugins / Re: Slur.ms (version 1.0)
I think the end result of the clip should be as below.
Two points:
Notes on a single stem should only have one slur, but in this instance the slur ending needs to be extended by one unit – in other words: where you would expect it to be with or without the extra notes. (But this is not the case for an upward stem :( )
In the second pair, obviously the slur shouldn't cross the stem.

FWIW I'd make the changes  ;)

Thanks for the feedback and examples, Peter. One change I would make to your first slur is to move the left end point so it is over the "strong" stem side notehead. I.e. so it displays the same as a native slur. The main change I plan to make to the logic is to correctly detect strong vs. weak stem side note heads, which NWC already does correctly for native slurs. In general, the slurs created by Slur.ms should look identical to native NWC slurs when on the notehead side, and should be almost the same on the stem side (I tend to choose to place the vertical location closer to the notehead by default).

Thanks again,
Mike
856
Object Plugins / Re: Slur.ms (version 1.0)
It feels funny to be posting a bug report on my own object, but this is a sort of "heads up" to let people know that I may be making a fix soon, that could affect how slurs behave in other peoples' scores.

I've noticed that the default end point positions for certain types of notes are not "optimal". Generally, this happens with chords that have adjacent noteheads, both for normal and split-voice chords. It is most noticeable when the slur direction is explicitly set to Upward or Downward. Following is a clip that demonstrates both correct and incorrect placement.

There is logic in the object to detect the stem and slur directions of the starting and ending notes, that attempts to determine the best default end point placement. However, that logic isn't working correctly for the note types mentioned, so the user needs to use the start and end offset values to correct things.

I could leave the object as is, and let users adjust the slurs manually in these circumstances, but that doesn't seem like the correct course of action to me. However, I realize that if I change any of the rules, then users who have already tweaked slurs to look correct for these situation may need to "untweak/retweak" them.

If you use this object and have any feedback, comments or suggestions, I'd very much appreciate them.

Thanks,
Mike
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|User|Slur.ms|Pos:-1
|User|Slur.ms|Pos:0|Dir:Downward
|Chord|Dur:4th|Pos:-1,0|Opts:Stem=Down
|Chord|Dur:4th|Pos:1,2|Opts:Stem=Down
|User|Slur.ms|Pos:1|Dir:Downward
|User|Slur.ms|Pos:-1
|Chord|Dur:4th|Pos:3|Opts:Stem=Up|Dur2:4th|Pos2:2
|Chord|Dur:4th|Pos:0|Opts:Stem=Down|Dur2:4th|Pos2:1
!NoteWorthyComposerClip-End
857
Object Plugins / Re: Arpeggio.ms (1.1)
The Arpeggio.ms object has been updated, with the following changes:

  • 'Speed' parameter replaced by 'Rate', with different scaling and more reasonable default value.

Please refer to the parent post for additional information.
858
Object Plugins / Re: Arpeggio.ms (version 1.0)
Since most musicians are by far more familiar with the score note duration than with the MIDI details, I'll suggest the very complicated formula: 4*PPQ/Speed.  ;)
In this case 4 means 1/4, 8 means 1/8 and so on. What's clearer for a musician?  :D
Furthermore, as you said, no restriction to use only integer values.
Default value? 32 (i.e. 1/32) like NWC grace notes.
What you say makes sense; I will make this change. Since the change would affect any scores that people have already created with the Arpeggio.ms object, I will change the name of the parameter from 'Speed' to 'Rate', and there will be an audit event to fix existing arpeggios to use the new parameter and adjusted value when a score is opened.
859
Object Plugins / Re: BarLabel.ms (1.1)
The BarLabel.ms object has been updated, with the following changes:

  • Parameter added to allow label to use prior or next bar number.

Please refer to the parent post for additional information.
860
Object Plugins / Re: Arpeggio.ms (version 1.0)
Another question: since the arpeggio rate is proportional to the score's tempo, I expected "playback speed" related to the usual note duration, so e.g., 32 meaning 1/32.
The value seems instead completely arbitrary and 32 as a default is by far too fast.
As Rich suggested, a value of 10..16 seems far better.
You are right; the current default speed is probably not optimum. However, be aware that the speed value does NOT have to be a whole number.

The default speed is something that is easy enough to change, but of course there would be compatibility issues if I changed it now. But maybe sooner is better than later? What would you (or others) suggest as a more appropriate default speed?

Footnote: The "Speed" parameter is used to set the spacing between successive notes of the arpeggio, via the formula PPQ / Speed, where PPQ is the number of MIDI pulses per quarter note. Thus, a Speed of 1 would represent quarter note spacing for the arpeggiated notes, and 32 would be 128th notes (perhaps a bit too fast, as you say). It depends on the tempo.
861
User Tools / Re: TransposeStaffs.og
This user tool only adjusts the Staff Property Instrument Transposition value; it doesn't adjust the transposition values of any instrument changes within each staff. These changes would also be needed to keep the score sounding right.

Bonus change: if any of the staves contain Ottavamatic.ms objects, these objects need to have their StaffTranspose parameters updated by the same number of steps during a staff transpose.  Stated differently, the object's StaffTranspose parameter is generally set to the same value as the Staff Properties Instrument Transposition setting for the staff it is on.

Also, I agree with @Flurmy  about the file naming; including the NWC plugin ID in the filename will confuse some users into thinking it's a custom object.

862
Object Plugins / Hairpin.ms (1.2)
This object draws a crescendo or decrescendo hairpin at a specified location on the score. The gaps at both
ends, line type and weight are user adjustable, as well as the horizontal and vertical positions of the end points.
This object is ornamental only, and does not affect playback.

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

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|User|Hairpin.ms|Pos:-8.5|Span:5
|Note|Dur:4th|Pos:-6
|Note|Dur:4th|Pos:-5
|Note|Dur:4th|Pos:-4
|Note|Dur:4th|Pos:-3
|Note|Dur:4th|Pos:-2
!NoteWorthyComposerClip-End
For details on the object's parameters, refer to the context-sensitive help on object's properties page.
863
Object Plugins / Re: TremoloSingle.ms (1.1)
The TremoloSingle.ms object has been updated, with the following changes:

  • New parameter added to allow marking and playback of either top or bottom portion of split chords

Please refer to the parent post for a description of the available parameters and a sample clip.
864
Object Plugins / Re: TremoloSingle.ms (version 1.0)
The TremoloSingle object does not work correctly for split voice chords whose durations are different. From what I can tell, it will play all of the notes in tremolo style, but only for the duration of the shorter of the notes/chords. And as you have noticed, it will add the ornament only to the "main" stem.

I will look into adding a way to ornament both stems of a split voice chord.
865
Object Plugins / Re: Note clash
There's a problem if you stop the play and then restart it.
Try to start playing from bar 3 in the following snippet.

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|User|Arpeggio.ms|Pos:0|Speed:4
|Chord|Dur:Whole|Pos:-9^,-7^,-4^|Opts:Stem=Down,Muted
|Bar
|Chord|Dur:Whole|Pos:-9,-7,-4|Opts:Stem=Down,Muted
|Bar
|Rest|Dur:Whole
|Bar
!NoteWorthyComposerClip-End
In order to allow a tied chord to be arpeggiated properly, I am checking for the tie, and inserting just the MIDI Note On for the played note when this is the case. This allows the note at the end of the tie to send the Note Off. However, you are muting both notes, which causes the "stuck note" behavior; the second chord doesn't send the Note Off events that are needed.

Unmute the second chord and you should experience correct playback behavior. This is mentioned in the context-sensitive help for the Play parameter:

Quote
Note that the chord which follows the arpeggio marking should be muted for proper playback. When
this chord is tied to subsequent chords, those chords should *NOT* be muted. This will allow the
arpeggiated chord to play through the tie.
867
Object Plugins / Re: BarLabel.ms (1.0)
Thanks to everyone for their kind words and "likes". I have recently begun creating practice scores for our choir, and the first piece of music I am transcribing has rehearsal marks containing measure numbers. So I created this object as a time-saver for myself, and of course I would share it with the rest of the community here. As always, I appreciate the feedback and comments.

Thanks again,
Mike
868
Object Plugins / BarLabel.ms (1.2)
This object creates bar labels for a score, similar to those created with the BoxMarks fonts. The font can be any of the available NWC font classes, and the size of the box and text can be scaled. The text can either be user specified, or if left blank, the measure number of the prior or next bar will be used.

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

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Rest|Dur:Whole
|Bar
|User|BarLabel.ms|Pos:8|Which:prior
|Rest|Dur:Whole
|User|BarLabel.ms|Pos:8
|Bar
|Rest|Dur:Whole
|Bar
|Rest|Dur:Whole
|User|BarLabel.ms|Pos:8|Text:A
|Bar
|Rest|Dur:Whole
!NoteWorthyComposerClip-End
For details on the object's parameters, refer to the context-sensitive help on object's properties page.
869
General Discussion / Minor anomaly: extra note spacing with whole notes
 I am creating "practice scores" for our choir, in which each voice is on its own staff. Since the soprano/alto and tenor/bass parts each share a staff in the printed score, I am layering them so they will have the same appearance as the printed music.  I've noticed that when Extra Note Spacing is applied to a whole note, it appears to only add enough spacing for a regular notehead, so the resulting notes overlap a bit more than they should. Please see the following clip for an example of this. The top staff shows a chord with the two notes, which correctly compensates for the whole note widths. The notes on layered staves are a bit too close together.

I know of available workarounds (e.g. including a separate layer with the chorded notes) but I am presenting this as something that might be handled better in a future version of NWC (i.e. one that allows fractional extra note spacing values).

Thanks,
Mike

Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.75)
|Editor|ActiveStaff:1|CaretIndex:1|CaretPos:0
|AddStaff|Name:"Staff"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:12|BoundaryBottom:12|Lines:5|Color:Default
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Chord|Dur:Whole|Pos:-3,-2
|AddStaff|Name:"Staff-1"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|WithNextStaff:Layer|Color:Default
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Note|Dur:Whole|Pos:-3
|AddStaff|Name:"Staff-2"|Group:"Standard"
|StaffProperties|EndingBar:Section Close|Visible:Y|BoundaryTop:10|BoundaryBottom:10|Lines:5|Color:Default
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Note|Dur:Whole|Pos:-2|Opts:Stem=Down,XNoteSpace=1
!NoteWorthyComposer-End
870
Object Plugins / Re: Trill.ms (1.0)
The Trill object has been updated, with the following changes:
  • Graduation from ".test" to ".ms". Use the "Change Object Type" user tool to update any scores which contain the .test object.

As previously noted, "cue notehead in parens" accidental style has been reserved for future implementation.

Thanks,
Mike
871
Object Plugins / Re: Acciaccatura.ms (version 1.0)
The Acciaccatura.ms user object has been updated, with the following changes:

  • Help text is updated
  • StaffSig option is added, allowing multiple grace notes to be ornamented with a single object instance.

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
873
General Discussion / Note spacing/layering question
Hello all,

I am creating a score with a piano part, and am having some difficulties getting a few measures to look the way they do in the original sheet music. It is basically a "split voice" chord where a half-note is on the same beat as a dotted quarter, but the notes overlap, so extra note spacing is needed; please see the attached clip to see what I'm talking about. I am using layered staves and extra note spacing, but of course that spacing increment has to be whole note space values, so the spacing between the two notes is a bit more than I want; in the original music, the spacing is closer to 1.5 noteheads.

I've tried to insert spacers in lieu of (and in addition to) extra note spacing, but I can't get that to have the desired effect, because it seems to always move both notes/chords together. I thought I would ask the experts here (especially those whose initials are RG) to see if there is a trick I'm missing.

Thanks in advance,
Mike

P.S. The answer to this might be "your original piano arrangement is doing it wrong." I am okay with that being the case.

EDIT: I have added a nwctxt clip below; sorry for the previous omission.
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.75)
|AddStaff
|StaffProperties|WithNextStaff:Layer
|Clef|Type:Treble
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:4/4
|Chord|Dur:4th,Dotted|Pos:0,7|Opts:Stem=Down,XNoteSpace=2
|Chord|Dur:8th|Pos:-1,6|Opts:Stem=Down
|Chord|Dur:4th|Pos:1,2,5|Opts:Stem=Down
|Chord|Dur:4th|Pos:1,2,6|Opts:Stem=Down
|Bar
|AddStaff
|Clef|Type:Treble
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:4/4
|Note|Dur:Half|Pos:3|Opts:Stem=Up
|Rest|Dur:Half|Opts:Stem=Up|Visibility:Never
|Bar
!NoteWorthyComposer-End
874
General Discussion / Re: Extra Sharp in RCs
Check the attached: two staves, one with one note having one sharp accidental; the other with two notes, one having one sharp accidental.  Now layer the staves.  From whence the extra sharp??
Thank you.
There are only 2 sharps showing, but they are overlapping, giving the appearance of a 3rd sharp between them.

To correct this, highlight the chord in the lower staff , go to Properties, and set its Extra Accidental Spacing to 1.

Mike
876
Object Plugins / Re: Acciaccatura.ms (version 0.95)
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 would seem to indicate that you are correct. I followed the examples in this thread 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
877
Object Plugins / Re: Acciaccatura.ms (version 0.95)
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).

878
Object Plugins / Re: Test: Trill.test (0.5)
The Trill.test object has been updated with the following changes:
  • Parameter "Auxiliary Note Offset" has been replaced by "Auxiliary Note Interval", which has a default setting of "Auto", which will automatically determine the pitch of the auxiliary note based on the current key signature and effective accidentals on the staff, as modified by the "Accidental" parameter. For instances where this does not work, you can choose an explicit interval between -5 and 5.
  • Parameter "Accidental" now includes "Double Sharp" as a choice.
It should be noted that the Auto setting described above can result in a zero-interval trill for certain notes and accidental symbols (i.e. in the key of C major, a trilled B with a flat accidental). I'm assuming such cases are "nonsense notation".

Also please note I haven't yet implemented the "cue notehead in parens" accidental style. It remains on my ToDo list.

Please let me know if you think the accidental/trill logic needs adjusting.

Thanks,
Mike
879
General Discussion / Re: Fermata export to MIDI file
There is no MIDI file equivalent to a fermata ...
That is true, but a fermata can have a performance pause associated with it. Might it make sense to insert an appropriate pause in the MIDI file for this? I have since done a little research on standard MIDI files, and I understand now that there is not support for a "pause". Some MIDI file export programs simulate a pause by inserting tempo changes, but this is not a perfect solution.
880
Object Plugins / Re: PageTxtMaestro.nw
I've noticed one other anomaly, that limits the usefulness of having both PageNum and PageNumRaw. Namely, unless you check the Page Numbering checkbox in Page Setup > Options, the From: number will always be set to 1. Therefore, when the printing of page numbers is suppressed (as it will probably be when PageTxtMaestro is being used), PageNum and PageNumRaw will always be the same value.

PageNumFrom,X does seem to provide the necessary numbering function when offset page numbers are needed.

Mike
882
Object Plugins / Re: Test: Trill.test (0.4)
Thanks David. You posted a lot of quotes, and it probably doesn't make sense to respond to each one, other than say "I agree" and "The current object should allow this." As you might have seen, I got rid of a couple of parameters and put Span back, because it seems to provide a simple way to control the extend of a slur, including the marker line. As for this:

Going back to a question I posted a couple of years ago, using this example:
Quote
[a piece in] D major that has two accidentalized notes marked to trill sharp.
The note progression is A tr  A#tr#  B tr    B#tr#    C#      D        D#        E
Since the composer's wishes for the trilled A# and B# are ambiguous (read, "confusing to many musicians"), a solution is to show the upper note of the trill as a bracketed target note over the beginning of the trill squiggly. I think the script or LUA (I'm easily confused) should allow for such a ghost-note as well as an accidental.
Another notation I've seen is a stemless cue notehead in parens, positioned on the staff line/space with optional accidental, in lieu of the accidental symbol above/next to the "tr". I am planning to support that in the next version.

Thanks for the feedback,

Mike
883
Object Plugins / Re: Test: Trill.test (0.4)
Hello all,

Other than Bill's reply, I haven't heard any feedback about the Trill 0.4 posting. I am assuming (hoping) that no news is good news, and that it's working as intended.

I'm working on a change, per a few private suggestions from Eric, that should allow the object to more automatically tell which interval to use for the second note. If that works, it may change the number and type of parameters that are needed. In any case, if you have any feedback or experiences (positive or negative) to share, now would be the time to share them, so they can be incorporated in the upcoming update.

Thanks,
Mike
884
Object Plugins / Re: PageTxtMaestro.nw
This looks very useful. I can think of a few enhancements to this object pair:

  • Allow a particular text element to be more than one line of text, perhaps separated by \n. Alternately, allow for multiple elements at each of the 6 locations (with appropriate offsets) as @lloyd has suggested.
  • Substitution of the current page number into an element (check for # or some other character?)
  • A way to make a particular PageTxt element conditional for even/odd page numbers.

Thanks,
Mike
885
User Tools / Re: Help with Global_Mod
Okay, I have looked at the PHP code a bit, and I think this might work:

User|Arpeggio.ms Speed=8

But it is only an educated guess, since I can't actually run it to try it yet. If you want to give it a shot, let me know if it does work. It should change all Arpeggio.ms Speed to 8, whether or not the speed is set explicitly already (i.e. whether or not it is the default value).

But it's only a guess that it will work! Did I say that?

Thanks,
Mike
886
User Tools / Re: Help with Global_Mod
I just did a search online, and I think I found the source for Global_Mod here. It looks like the current (2011) version has been updated by Eric to support nwctxt:

//  2011-12-19 2.1 nwsw Support most nwctxt objects

I'm not at my NWC computer right now, but I have a few ideas on making this work. One is that the User object type (i.e. Arpeggio.ms) is not being seen by the tool as an "option" because it doesn't have a value associated with it, as other options do (i.e. there is no ":" present)

Since Eric has made changes to this tool before, he may know exactly what's needed to make it handle User objects.
887
User Tools / Re: Help with Global_Mod
Hi Lawrie,

I suspected that Global_mod was a very old tool, given that it's written in PHP. I wasn't suggesting that you quit using it, but was just saying that for the task at hand, Filtered Properties might be an answer; it was most likely not a feature when Global_Mod was created.

I will experiment with the tool to see if I can come up with syntax options that work with custom objects. You are probably on the right track with the "." since that is a wildcard character in regular expressions. There is still the issue that @Opagust mentions, about being able to add the Speed parameter if it is not already present, and change it if it is. But I would suspect that Global_Mod would know how to do this, since NWCTXT behaves this way for a number of native objects (i.e. it excludes elements or values that are in their default state)

Mike
888
User Tools / Re: Help with Global_Mod
I have never used this Global_Mod user tool, so please explain my ignorance... but if your goal is to change Speed=8 to all of the Arpeggios in a selection, why not use Filtered Properties to do this (using a Filtered Expression of "|User|Arpeggio.ms")?

Edit: I see now that Global_Mod will operate on the entire file, rather than a single selection, which is the case for Filtered Properties.
891
Object Plugins / General note: Trill.test font requirements
All (especially Lawrie),

I remarked earlier that one of the reasons I picked the "text only" approach, and use of the StaffSymbols font, for Trill.test was to allow the alternate NWC2* fonts in the PardyPack to be usable by this object. However, in my testing, I've found that those other fonts don't work, because they don't have shapes defined for the characters used for the tr, "small space" and "squiggle" characters (` _ - ~). However, the accidental symbols I am using are rendered correctly in those fonts, although that is a small consolation.

I've noticed that tr followed by 2 squiggles, as well as standalone 2- and 3-squiggle clusters, are characters in BOXMARKS2 and several of the other PardyPack fonts, but those combined characters don't really lend themselves to programmatic trill drawing. I'm not sure how much effort would be involved in creating the separate characters in the alternate NWC2* fonts so that these sorts of trills would work correctly. Or, perhaps I have overlooked the separate characters in the PardyPack suite?


EDIT: As Emily Litella would say... "Never mind!"  Turns out I had older (1.00a) copies of the NWC2 fonts installed. I've updated to 1.1, and everything works fine!

Thanks,
Mike
892
Object Plugins / Re: Test: Trill.test
Or, possibly like this:
Code: (nwc) [Select · Download]
!NoteWorthyComposer(2.75)
|PgSetup|StaffSize:18|DurationPadding:N
|StaffProperties|EndingBar:Open (hidden)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|RestChord|Dur:Half|Opts:Stem=Down,HideRest|Dur2:Whole|Pos2:0^
|Spacer|Width:200
|User|Trill.test|Pos:8.5|Span:2|AuxiliaryOffset:1|LineType:Jagged
|Note|Dur:Half|Pos:x-1|Opts:Stem=Down|Visibility:Never
|Spacer|Width:200
|Bar
|Note|Dur:Whole|Pos:0|Opts:Muted
|Spacer|Width:400
|Bar
!NoteWorthyComposer-End
That's tricky - I tried to create that option, but it did not occur to me to use an A double-sharp to prevent the broken tie. (The hidden note should probably  be muted for playback)

Thanks,
Mike
893
Object Plugins / Re: Test: Trill.test
The is one occurrence I've seen that doesn't seem to have been discussed.

Unfortunately I don't have an example to show, but imagine a semibreve with the trill symbol appearing later in the bar than the note, OR a pair of tied notes with the trill appearing over the second note OR partway along the tie.

It seems to me they all mean to hold the note steady for a while (half the duration?) indicated by the location of the trill symbol and then start trilling.
Hi Lawrie,

I'd forgotten to reply to your message, so I am doing so now. In the examples and "specifications" I've seen for trills, I haven't encountered any examples of the first or third types that you mention. The second type is handled by the current test object, as shown below:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Treble
|TimeSig|Signature:4/4
|Note|Dur:Half|Pos:0^
|User|Trill.test|Pos:8.5|Span:2|AuxiliaryOffset:1|LineType:Jagged
|Note|Dur:Half|Pos:0^|Opts:Muted
|Bar
|Note|Dur:Whole|Pos:0|Opts:Muted
|Bar
!NoteWorthyComposerClip-End
If you aren't worried about a version that plays back correctly, it could also be done by inserting a trill before the beginning semibreve, and using Start Offset to push the start of the trill to the right by the desired amount.

Let me know if the above choices would fit the bill.

Mike
894
Object Plugins / Re: Test: Trill.test - version 0.4 posted
Thanks, Mike. Looks good. I haven't tested it extensively yet, but it seems trouble-free so far. I appreciate the offset ability for the end of the slur. Not so sure about the wavy line (I'd prefer thicker and a bit more angular), but I'll probably get used to it.
Thanks for the feedback. Actually, it isn't difficult to add yet another option, allowing for either the "wavy" or "jagged" character. I know that Rick prefers the wavy line, and for some reason I though you did as well.

Actually, I decided to go ahead and do it. Give version 0.4 a shot and let me know what you think. While comparing the two types side by side, it seems to me that the "jagged" character was a bit too big compared to the "wavy" one, so I've included an internal scale factor. Let me know if it needs adjusting.

Mike
895
Object Plugins / Re: Test: Trill.test - version 0.3 posted
Alright, everyone please calm down :)  As it turns out, I am "cheating" on this for now; please read on for more information.

An updated Trill.test object has been uploaded, with significant overhauls:
  • Span has been put back, and has a dual use: when set to 0, it suppresses the wavy line; when it is non-zero, it specifies the extent of the trill line, as well as the playback duration.
  • ExtendToBar and MinMarks are gone. The wavy line now automatically extends either to the next bar, or to the note or rest that follows the Span region, as appropriate.
  • I've added a fourth accidental style: above the tr.
  • It plays. The start note is specified via parameter Play Which First, and the trill speed is specified by Playback Note Type (current choices are Sixteenth, Thirtysecond and Sixtyfourth. More can obviously be added if needed)
  • To specify the trill interval, I have added a parameter with the awkward name of Auxiliary Note Offset, which specifies the number of half-steps. It can be positive or negative, so downward trills are also possible.  It can also be 0, in which case it produces a rather odd-looking single note tremolo. (I realize this might be a bit of a "cop out" but this was easier than adding logic to determine the current key. Perhaps I'll give that a shot later.)

I've also tweaked the draw code a bit to improve the appearance. By popular demand, it now uses the "wavy" character to draw the line.

As always, feedback and suggestions (and bug reports) are appreciated. (Foremost among suggestions are better names for some of the parameters)
896
General Discussion / Re: Create Template
If you are running Windows Vista or later, the C:\Program Files folder (or C:\Program Files (x86) if you are running a 64-bit version of Windows) is protected, can't be saved to directly from within Noteworthy Composer; you will need to first save your template NWC file to a non-restricted location (e.g. your desktop). Then, using Windows File Explorer, move the file to the templates location, which is generally C:\Program Files\Noteworthy Software\NoteWorthy Composer 2\Template or C:\Program Files (x86)\Noteworthy Software\NoteWorthy Composer 2\Template. You will see a prompt similar to the attached image. Click Continue and the file will be moved.

Also, I believe that the top level Template folder is reserved for NWC templates, so you should probably save your template in the Template\CUSTOM folder. Alternately, you can create addition sub-folders in the Template location, and they will show as separate tabs when you do New...

Let me know if this works for you.

Mike
897
Object Plugins / Re: Test: Trill.test
Having been away from my computer for the last several messages, I haven't been able to Bill & Rick's replies and counter-replies. I see what Rick is saying, but I was thinking more in terms of knowing whether the aux. note was itself already sharped or flatted (per the current key signature), as well as determining whether the subsequent interval would be.

I am currently wondering if it might be simpler for now for the object to have a parameter that tells it the number of steps to use as the interval (most likely defaulting to 2), separate from the accidental symbol. At a minimum, this is how I will do it initially, so I can actually release something that people can play with.

Thanks again,
Mike
898
Object Plugins / Re: Test: Trill.test
Well, you can probably ignore the downward trill. However, the choice of whether to start the trill on the upper note (the trill note) or the lower note (the principal note: the note that is written in the score) does need to be handleable. If the playback recognizes a grace note or acciaccatura before the trilled note, it can probably be handled that way. Better would be if the object had an option for which note to begin the trill on, and would draw the grace note or acciaccatura itself.
This is becoming a bit of "information overload" - I am learning more about trills than I ever thought I would. I'm feeling like I would need several additional parameters in order to handle all of the special cases in the article Rick has linked. One of them might need to be "Year of composition" :)  Perhaps it's time to invoke the 80-20 rule...

Configuring the starting note to be upper or lower won't be difficult; probably just a checkbox. However, concerning a leading grace note/acciaccatura, could you answer me this: if that note will be playable anyway, then why not insert a "real" one when needed, and let it play, and then let the trill play the rest of the notes? Automating the placement to include the grace note and its slur can be done via a selector. (I'm not saying that automatically drawing a 'fake' grace note can't be done, but then extra space has to be reserved for it, the slur would have to be drawn, etc.). Also, if needed, the trill object can check for the presence of the grace note and adjust its playback accordingly.

These are all great suggestions; thanks again to everyone who has joined in.

Mike
899
Object Plugins / Re: Test: Trill.test
I am interested in playback, and I have a somewhat different set of suggestions from Rick's.

I agree with his observation that a trill over notes with a shared stem requires all notes on that stem to be trilled, but I would observe that trilling more than two notes at a time on just about any instrument is impossible, and most can only trill one note at a time (keyboards are the principal exception, although a really good string player can pull it off). I think if users want more than one note trilled simultaneously, though, they should write them on separate staves, layering if they really want the finished music to be on only one staff. If the object encounters a chord, I would lean toward having it trill just the top note and sound the others normally. Others may have a different opinion, and it might be necessary to allow a choice between top and bottom notes.
Rick gives the example of two flutes playing a pair of trills, so that might make the case for being able to handle a trilled "chord". However, this manner of playback would not be much different from tremolo chord playback, which has already been done, so I think it would not be that difficult to do here. However, it might be more straightforward to just play the top note as trilled. (Although playing the other notes "normally" might be more of a challenge, given that the entire chord needs to be muted for trill playback to work.)
On speed, I like your idea better than Rick's. However, two questions remain: (1) whether to start the trill on the written note or the trill note, and (2) whether to trill up or down. I think these should be handled as options. Default should be to start on the written note and trill up. The method I'm familiar with to indicate starting on the trill note is to place it before the principal note as a grace note or acciaccatura. Trilling to the note below is uncommon, and I know of no standard way to indicate it, although I don't do enough performing to be sure there isn't one.
From my limited reading, I thought that the optional accidental symbol gave the cue on how to play the trill:
  • No symbol = play up one "note" from the principal note, in the current key (i.e a half step for 'mi' or 'ti', a full step otherwise)
  • Accidental = the auxiliary note is the note above principal note with the accidental applied. (Again, the current key needs to be known)
Any other step size, including downward, seems to require the stemless cue notehead in parens, And, that style can be used for upward trills too, I guess.

Thanks everyone for these ideas. I'll try to have something with playback to test soon.

Mike

900
Object Plugins / Re: Test: Trill.test
Here are the options I am planning to implement:
  • Play - true/false, default = true. As for tremolos/arpeggios, it will require the actual notes be muted.
  • Speed - I am thinking of a drop-down with note durations (i.e. 8th, 16th, 32nd, 64th). Is that enough? Too much? Triplet or dotted needed?

Also, I assume that the trill should always be an even number of notes - like a 2-note tremolo.

And one final question: is it ever possible for a trill to be applied to a chord? If not, and the object does encounter a multi-note chord, should it play nothing, or modulate the top/bottom note of that chord?