Skip to main content

Show Posts

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

Messages - Mike Shawaluk

1
Object Plugins / Re: Trill.ms (2.4)
The Trill.ms object has been updated to version 2.4 with the following changes (to the user tool only):
  • Multiple notes can be trilled/untrilled at one time.
  • The trill vertical position will default to a nicer value.
  • Trill objects will be avoided when a trill note is tied.
  • Parameters for new trills will be inherited from prior trills on the staff.
Thanks to @Flurmy for these additions.
2
General Discussion / Re: View from DownUnder?
A well-known "feature". Since the object in question is a RestChord, the stem direction is that of the rest. This means that the note/chord is pointed in the opposite direction. (At least this is how I remember @NoteWorthy Online explaining it to me.)

(As I say this, I smile and give you a Vegemite sandwich.)
4
Object Plugins / Re: GuitarChord.ms (2.2)
The GuitarChord.ms object has been updated to version 2.2, with the following change:
  • Corrected a bug where playback did not honor current staff transposition.

Please refer to the parent post for a description of the available parameters and a sample clip.
5
Object Plugins / Re: ChordPlay.nw
If neither of you experts can think of a case where you wouldn't want transposition, then it seems silly to add an option to enable/disable it. Look for an update shortly.
6
Object Plugins / Re: ChordPlay.nw
So, it is up to @NoteWorthy Online to decide if he wants to make this change to the object official. I can see that there could be circumstances in which might not be desirable to transpose the playback (such as when Ottavamatic.ms is being used). For GuitarChord.ms, I was considering an additional checkbox parameter "Prevent transposed playback" which, when checked, would disable the new behavior. While I normally try to implement a new parameter with backward compatibility, I think it makes more sense for this to have a default value of unchecked, so that transposed playback is on by default.  I would be interested in your opinions as to whether this makes sense, or if an additional parameter is even needed.
8
Object Plugins / Re: ChordPlay.nw
I should add a caveat to that fix. Namely, if you are using ChordPlay.nw in a passage that uses the Ottavamatic.ms object, you will get some strange sounding chords in the 8va sections :)
9
Object Plugins / Re: ChordPlay.nw
And... it turns out the fix is very simple.  The API has a convenient function named nwcplay.getTransposition() which will take into account staff transpositions, as well as octave shifts for a treble clef.

Make these changes to the code toward the end of the play_ChordPlay() function:

   local noteCount = #k
   local arpeggioShift = (strum ~= 'No') and math.floor(math.min(duration,nwcplay.PPQ)/math.max(12,noteCount+1)) or 0
   local trans = nwcplay.getTransposition()
   for i, v in ipairs(k) do
      local thisShift = math.min(duration-arpeggioShift, arpeggioShift * ((strum == 'Down') and (noteCount-i) or i))
      nwcplay.note(thisShift, duration-thisShift, startPitch+v+nshift+trans)
   end


(Note: I would have used the "code" block feature, but that wouldn't let me use colored text)
10
Object Plugins / Re: ChordPlay.nw
It turns out that this problem isn't unique to ChordPlay.nw.  GuitarChord.ms has the same problem. (I was going to add Banjo.ms and Ukulele.ms to the list, but then I remembered that those objects don't include playback.)

When I saw this, I thought that perhaps more of my objects that have playback would suffer from this, but it appears that objects that look at existing notes, like Arpeggio and Trill, are getting the staff transposition information.  I will look at the code for GuitarChord.ms to see if there is an easy fix for this, which hopefully could be applied to the other objects.
11
Object Plugins / Re: TremoloSingle.ms (2.1)
You might be wondering why the tremolo beams are positioned so high on some of the notes, especially the eighth note (quaver) in measure 2. The object sets the default vertical position of the beams/strokes differently for single notes with plain stems, single notes with flags, beamed notes, and whole notes. The position is a small offset from either the end of the stem, the tip of the flag, or the inside edge of the beam closest to the notehead. In general, the preferred way to adjust the vertical position is to increase the note's stem length, but if you don't care if the tremolo beam collides with the note's actual beam or flag, you can use the Offset parameter, which I see you have already done in a few cases.
12
Object Plugins / Re: TremoloSingle.ms (2.1)
This is the relevant page from "Behind Bars". Perhaps I didn't state things clearly, but it seems to agree with what Wikipedia says. Namely, each tremolo beam (which Behind Bars calls "strokes") has the same effect as an additional beam, regarding the duration of individual tremolo notes.
13
Object Plugins / Re: TremoloSingle.ms (2.1)
Once you're aware of it it's not absurd, but maybe changing it to take care of the already present beams would be more intuitive.
In this optic, there is also the problem of manually lengthen the note stem to make room for the tremolo.
There's not much I can do on that account. A user object can't tell NWC to draw (or change the playback of) its notes differently. If this were possible, it wouldn't be necessary to mute notes for effects that have playback. Perhaps if there is ever a "next generation" of NWC, it will allow for this sort of interaction between objects and native notes.

At least now it is easier to lengthen/shorten note stems on the fly, using Alt+Up/Down arrow.
14
Object Plugins / Re: TremoloSingle.ms (2.1)
So I looked at the code, and I am fairly certain I am implementing things correctly according to "Behind Bars". It is unfortunate that I call the parameter "beams"; it should probably be "strokes" as is used in BB. Basically, the duration of the individual notes played for the tremolo are the same as a note with that many beams/flags, if the tremolo note is a note with no flags/beams (i.e. quarter note or longer). If the tremolo is on a beamed/flagged note, then the individual note duration is the sum of the note's beams and tremolo strokes.  And the number of notes played is however many will fit in the original note's duration.

Does that make sense?
15
Object Plugins / Re: TremoloSingle.ms (2.1)
I recently made the same discovery.
The fact is that the speed of the tremolo is computed by dividing the note duration by the number of beams of the tremolo.
So, if the note already has some beams...
Indeed, if you lengthen the note stem as you should to have something decent to show, the thing starts having sense.

I thought that this is how tremolos are supposed to work. If it is not, please explain how it should be, and I'll make the necessary fixes.
16
Object Plugins / Re: TremoloSingle.ms (2.1)
I expect I missed out years ago (again) on the explanation as to why the User object mutes the relevant notes, and why they nevertheless sound...
The short answer is that the user object plays the tremolo sound, which needs to replace the sound that a plain note would have made. So the note needs to be muted so you don't hear the sustained note on top of the tremolo sound.

And that; is precisely the problem in your score. You don't have the tremolo notes muted, so they are sounding along with the tremolo playback. And NWC does not give us a way of muting only one side of a split chord. The way to fix this would be to use layered staves, with the tremolo notes on one staff and the slurred part on the other.
17
Object Plugins / Re: TremoloSingle.ms (2.1)
When I opened some old compositions (having rearranged my Plugins folder, I was warned that Noteworthy had "detected 71 unkown objects".  I warily did not then save the compositions, but now I am wondering how to put things back in a sensible place, and how to let Noteworthy know where that is, so that I don't lose all my previous Tremolo work...

Thanks again (and in advance!)

Jonathan

I'm not sure how you "rearranged" your plugins folder, but if NWC says it detected 71 unknown objects, it sounds like it couldn't find your plugins folder. It might have created a new empty folder in its place.

If you go to Tools > Options and go to the Folders tab, it will show you the locations of the various file types. For Object Plugins, it should say something like ":programdata:\Noteworthy Software\nwc2\UserPlugins". If you moved the plugins folder somewhere else, you can modify that entry to point to the new location.
18
Object Plugins / Re: TremoloSingle.ms (2.1)
A further thought:  if you recommend me not to use the Make Tremolo user tool, am I still able to select a whole passage of several bars and apply the tremolos all in one go - or shall I need to apply them to each note/chord separately?
The TremoloSingle.ms: Apply auto tool will also apply tremolos to multiple notes at once. However, after some experimentation, I see that if you select a range of notes that already includes tremolos, it will remove the existing ones when it adds the new ones. So that is not a viable way to add two tremolo objects per note, which is what you need if you want both ends of a split chord to have a tremolo. I think the best way to do this is by simple cut and paste.
19
Object Plugins / Re: TremoloSingle.ms (2.1)
Hi Jonathan,

You don't need to install the TremoloSingle.ms object, because it comes with NWC. You will just need to make sure you have the latest version, by going to Tools > Manage Objects... and clicking on the "Online Synch..." button, and following the prompts. If you haven't done this in a while, there may be a bunch of objects that are in need of updating. The program will automatically pull the current version that is posted in the forum, so you don't need to download any files.

Once the object is updated to the latest version (which is 2.1a), all you need to do is insert two TremoloSingle.ms objects before a split chord. Set the "Split Chord Member" parameter on one of the objects to "top" and set that parameter on the other one to "bottom". Each side of the split chord can have a different number of beams.

I don't recommend using the old "Make Tremolo.ms" user tool, since user objects can now have built-in tools. If you go to the User Tool... menu, there is a .Plugins group, which has tools for each plugin that implements them. The tool "TremoloSingle.ms: Apply" is the one you want to use. Just highlight the note and run the tool. It will prompt for the number of beams, create the plugin and mute the note. Run it a second time to get the object for the bottom note (It doesn't currently prompt for top vs. bottom, so you will have to change the property on one of your objects to point to the bottom note).

Let me know if this answers your questions.

Mike
23
Object Plugins / Re: Glissando.ms (2.6)
The Glissando.ms object has been updated to version 2.6 by @Flurmy, with the following changes:
  • A new glissando playback type of "Harp" has been added.
  • Corrected playback for the last note in non-pitchbend modes  when the note is muted and there is a clef change.
24
Object Plugins / Re: Glissando.ms (2.5)
The Glissando.ms object has been updated to version 2.5 by @Flurmy, with the following changes:
  • Playback for tied left notes was not handled properly and has been fixed.
  • Handling of several special cases, including a glissando at the end of the score and terminating on (muted/unmuted) grace notes, is now implemented.
25
Object Plugins / Re: Glissando.ms (2.4)
The Glissando.ms object has been updated to version 2.4, with the following changes:
  • Many changes to playback code, graciously provided by @Flurmy . Effective with these changes, glissando playback now works best with both the leading and trailing notes muted. The object attempts to detect clef changes, ties across bar lines and other conditions which may have not been handled correctly in previous versions. The standard disclaimer remains that for certain score situations, it may be desirable to disable the object's playback and use a hidden staff.
27
Object Plugins / Re: Glissando.ms (2.3)
There is some code in the object (supplied by @NoteWorthy Online ) that says it is playing muted notes, which I don't quite understand. Perhaps it is supposed to make sure there are properly paired Note On and Note Off events that extend through the pitch bend.

Those sax players, always behind the beat! :)
28
Object Plugins / Re: Glissando.ms (2.3)
Was that MIDI stream created with the version that contains the grace note? The unmuted grace note should generate a Note Off for the F5.
29
Object Plugins / Re: Glissando.ms (2.3)
As posted earlier, I think the correct solution is to always mute the left note on a pitch bend glissando, unless that is a tied-into note. In that circumstance, a hidden grace note should work.
30
Object Plugins / Re: Glissando.ms (2.3)
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:
(snip)
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?
The problem here is caused by the tie. You can't properly mute the tied-into note, because that will suppress its note-off, and you get a hanging note. (I am not certain why you muted the tied-from note; I would think you want that to sound.)

The easy solution for this would be to insert a hidden (but not muted) grace note of the same pitch between the whole and quarter notes, and mute the starting note of the glissando, but not the whole note:
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^
|Note|Dur:8th,Grace|Pos:4|Visibility:Never
|Note|Dur:4th|Pos:4|Opts:Muted
|User|Glissando.ms|Pos:-4|Playback:Chromatic
|Note|Dur:4th|Pos:-4
!NoteWorthyComposerClip-End
To me, this sounds correct.
31
Object Plugins / Re: Glissando.ms (2.3)
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. :)
32
Object Plugins / Re: Glissando.ms (2.3)
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.
33
General Discussion / Re: :-)
"Curious", said Alice...
As a matter of interest I looked into how to create this and if you press<,> before pressing <Space> you can actually create this construct in the UI, BUT if you place the rest, then highlight and attempt to make it staccato, you can't.
Is the dot supposed to appear? Or does the stacatto only live in the nwctxt?
34
General Discussion / Re: The impossible triplet
This has been stated before, by forum members more eloquent than me, but while I like the ability to do split voice chords, they are really second class citizens in NWC.  You can only beam, triplet or annotate either the upper or lower, and stem lengths can't be specified separately for each direction. I and others have dabbled with objects that try to make them work as though those limitations didn't exist, but those are still workarounds. Putting the parts on separate layers is the better solution, but that approach also has shortcomings, such as the need to manually adjust stem lengths and note spacings to keep everything lined up. The way that other music programs let you put up to 4 parts on each staff, but where the stems and noteheads know how to line up and stay out of each others' way seem to be more natural, at least to me. If there is further activity on NWC, I hope that this issue can be looked at and adjustments made to make things easier to do the kinds of things that we use layers for.
35
General Discussion / Re: The impossible triplet
Well, all I did for Flurmy's red notes was to change the stem direction of one or the other, and then I was able to apply the triplet. Once the triplet is applied, the stem direction buttons are greyed out (at least for split voice chords).

One thing that is interesting about split voice chords is that Pos and Pos2 change places when you reverse the stem direction. This is probably because there is an "Opts" for the main voice, and there is no "Opts2" for the second voice (which has Pos2 and Dur2)
36
General Discussion / Re: The impossible triplet
I think the answer is fairly simple. For triplets to work, the stem directions must be the same.  For split chords, the stem direction isn't apparent from looking at the notes, but if you highlight the note and look at the toolbar, you can tell the direction.
37
General Discussion / Re: sluring Soprano note to Alto Note
I mentioned this in an earlier thread, but the music in question (Angels We Have Heard On High) does not need a slur in those positions. A slur is only needed in music when a syllable is sung over multiple notes. For this musical snippet, there is one note per syllable for the soprano and alto parts (although they are sung at a slightly different cadence).  So, my solution to this problem would be to remove the slurs.

Of course, I would be wrong if the song has been translated to a different language, where the syllable counts are different.
38
Object Plugins / Acciaccatura.ms (version 1.4)
The Acciaccatura.ms user object has been updated to version 1.4, with the following changes:

  • Error checking has been added for playback that is outside the SPP offset limits of NWC objects.

The parent post has also had additional comments added about the maximum SPP offset.
39
General Discussion / Re: Finished Software?
Basically, I agree. But I'd like to have bugs fixed when discovered.
Well, I have been doing my part by fixing bugs in my user objects :)

In fact, one could argue that the user object feature has allowed NWC to be updated multiple times since its last release.  Although I keep telling myself that there aren't any more useful objects to be written, some still manages to release a new one now and then that I find useful.

Are there any significant bugs in the released version that haven't been fixed? I am aware of one minor user-object-related bug that was fixed in 2.8 beta 1, but I also recall that the beta introduced a different change of behavior that broke several user tools.
40
General Discussion / Finished Software?
I recently was made aware of the following article: https://josem.co/the-beauty-of-finished-software/  (I will pause here while you read the article. Don't worry, it isn't very long).

Of course, it made me think of our favorite music score creating program (well, mine anyway), which a number of people have been calling abandonware, because there haven't been any updates in several years. Now, I'm not saying that I wouldn't like to see an update to NWC at some point; there are a few features that would be nice to have (I won't list them here), but I bet there are a lot of users are perfectly happy with the current version and have no desire to upgrade to something new. In fact, I am told that there are a lot of people who are still using NWC 1.75 and have no need to update to the current version.

So, just some food for thought. Is NWC finished software?
42
General Discussion / Re: Transparent bars
I would ask the question slightly differently: why are they preferred over a regular bar line which has Visibility set to Never (other than not being able to see them in the editor)? What situations would I choose one over the other?
43
User Tools / Re: Audit Bar Lines tool
The comments in the tool say that it does not modify the staff, so I would think that changing color of the bar lines (or something like that) would be a significant design change.
44
General Discussion / Re: shifted slur when the staves splitted
My interpretation of that music (with which I am familiar) is that the slur doesn't belong there. The staff splitting might still be confused by the rest chord, in which case you would need to manually change the rest in the soprano part to a note.
45
User Tools / Re: Swing triplets
I have seen another technique for accomplishing swing rhythm, which also uses a hidden staff, but doesn't require the main staff be muted. Namely, the hidden staff contains rests and tempo changes. I wonder whether anyone has created a user tool for doing it this way.

Now, wouldn't it be neat if there were a way for a custom object to insert tempo changes into the stream on the fly somehow...
46
Object Plugins / Re: Arpeggio.ms (2.3)
The Arpeggio.ms object has been updated to version 2.3, with the following change:

  • The embedded "Toggle" and "Toggle (old)" user tools have been updated, courtesy of @Flurmy, so that they will insert arpeggios on multiple chords in a selection. My thanks to him for making this addition available.


47
General Discussion / Re: louder the sound of nwc when we played
Do you have any dynamic marks (i.e. fff, ff, f, mf, mp, p, pp, ppp) in your score? If not, you can add a ff or fff to the beginning of each staff to make them louder than the default.

I forget what the default volume is if there are no dynamic marks. Anyone else remember?
49
General Discussion / Re: how to make it like this
Okay, there are two different issues here. 1) Using the special endings to create the correct appearance in the score. 2) Getting the score to play back correctly with those endings in place.

I don't have any problems with issue 1, but issue 2 causes me problems also. There are numerous rules about what types of barlines you can and cannot use, and I can never get them right, so I'm not the person to ask for help on that front. Hopefully someone else here who has a better grasp on the flow control playback can assist you here.