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 - NoteWorthy Online

52
Object Plugins / Re: BarCounter.nw
I replaced the original bar count with this version.  Please forgive my disappointment with it.
How do i get back my original bar count?

If you are going to work with a custom plugin, you should rename it to something other than a the standard name used in this forum, For BarCounter, I would recommend using something like BarCounter.local.

You can always acquire the latest version of any installed plugin using Manage Objects. The synch tool can be used to replace any local changes you have made to one of the standard plugins.
54
General Discussion / Re: Spacing between systems
You should be able to apply a larger low boundary in the section of the lowest staff that applies to the second system on that page. You should only need two extra boundary changes to make that work; the first occupies the space of your theoretical ghost system, and the second restores the normal spacing. Done correctly, you probably wouldn't need the actual page break, as that should just happen on its own.

I accomplished this with the following clip:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Boundary|Style:NewSize|Lower:100
|Note|Dur:8th|Pos:0
|Boundary|Style:Reset
!NoteWorthyComposerClip-End
55
General Discussion / Re: Request for Repeated Note Shortcut
The easiest way to create Tremolo.ms note pairs starts by upgrading to the 2.75a beta, then updating your all of your plugins from Tools, Manage Objects.

Once you are using the latest 2.75a Tremolo.ms plugin, you can simply select a pair of notes and use Tools, Options, User Tool,.Plugins, Tremolo.ms: Apply to create the tremolo.

When building them manually, the key is to create RestChord notes on either side of the tremolo:

  • start by placing a pair of rests that each match half of the tremolo duration
  • now, use Ctrl+Enter to place the notes that define the tremolo (set their stem direction as needed)
  • select both RestChord notes, open Edit, Properties (Alt+Enter), and uncheck the Show Rest option in the Rest Chord tab, and mark them Muted in the Notes tab
  • now you can place the Tremolo.ms object between the RestChord notes using Insert, Object (Ctrl+J)
56
General Discussion / Re: Alert log
This means that the file is using a font typeface that you do not have installed. You can go to:

File, Page Setup, Fonts

then look for the '***' typeface, and replace with one found in your system.
58
General Discussion / Re: Funny effect
Dynamic Variance Command

Quote
The duration of the transitional dynamic variance is based on the position of the dynamic that follows the variance in the staff. Note that repeats and flow direction marks are ignored when determining the dynamic that follows the variance. If the variance does not have a dynamic on both sides of it in the staff, it does not alter play back dynamics in any way.
59
General Discussion / Re: Computer playback
If you don't want the keyboard to effect the state of your computer's play back synth, then turn off the echo feature. It is in Tools, Options, Record.
60
General Discussion / Re: Computer playback
As Rick points out, the Pitch Bend controller can cause this. When using it, you have to set it back to the center position. A full reset will also fix this.

Perhaps instrument changes that include pitch bend range should also reset the controller to center....this change will be considered.
(update) NWC already does this.

Update: Also looking into Flurmy's issue...
61
General Discussion / Re: A way to prevent system break?
The only ways to prevent a system break at a certain position:

  • reduce the printable size of the notation (from File, Page Setup)
  • remove extra space by placing reduction Spacers that reduce the note spacing
  • force a system break at a prior bar

So, for example, if you have:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Note|Dur:Half|Pos:0
|Note|Dur:Half|Pos:0
|Bar
|Note|Dur:Half|Pos:0
|Note|Dur:Half|Pos:0
|Bar
!NoteWorthyComposerClip-End

This can often be greatly reduced by using spacers:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Spacer|Width:10
|Note|Dur:Half|Pos:0
|Spacer|Width:10
|Note|Dur:Half|Pos:0
|Spacer|Width:10
|Bar
|Spacer|Width:10
|Note|Dur:Half|Pos:0
|Spacer|Width:10
|Note|Dur:Half|Pos:0
|Spacer|Width:10
|Bar
|Spacer|Width:10
!NoteWorthyComposerClip-End
62
General Discussion / Re: Override stem length? I wish!
I have toyed with the idea of adding playback to the Glissando.ms object

Possible adaptation of Version 2.0b of Glissando.ms:

Code: (lua) [Select · Download]
local PlaybackStyle = {'None','Chromatic','AllNaturals'}
local KeyIntervals = {
None = {},
Chromatic = {0,1,2,3,4,5,6,7,8,9,10,11},
AllNaturals = {0,2,4,5,7,9,11},
}
...

local _spec = {
...
{ id='Playback', label='Playback', type='enum', default=PlaybackStyle[1], list=PlaybackStyle },
}

...

local function GlissOctaveNearestNextInterval(t,inOctaveSemiTone)
for i,v in ipairs(t) do
if v >= inOctaveSemiTone then return i-1 end
end
return 0
end

local function CountGlissIntervals(k,v)
local o = math.floor(v/12)
local i = v % 12

return #k*o + GlissOctaveNearestNextInterval(k,i)
end

local function GlissNoteFromInterval(k,v)
local opitches = #k
local o = math.floor(v/opitches)
local i = v % opitches

return 12*o + k[i+1]
end

local function _play(t)
local playback = KeyIntervals[t.Playback]
if #playback < 1 then return end

if not (hasPriorTargetNote(priorNoteidx) and nextNoteidx:find('span', 1)) then return end
local startSPP = priorNoteidx:sppOffset()
local acc = t.TargetAcc
local dur = -startSPP

local v1 = nwcplay.getNoteNumber(priorNoteidx:notePitchPos(1) or '0')
local v2 = nwcplay.getNoteNumber(nextNoteidx:notePitchPos(1))
local inc = (v1<v2) and 1 or -1
local interval1,interval2 = CountGlissIntervals(playback,v1,inc),CountGlissIntervals(playback,v2,inc)
local deltav = math.abs(interval1-interval2)-1
if deltav < 1 then return end
local deltaSPP = dur/(deltav+1)
if deltaSPP < 1 then return end
for i=0,deltav do
local interval = interval1+(inc*i)
local notepitch = GlissNoteFromInterval(playback,interval)
if ((i==0) and (notepitch~=v1)) then notepitch = v1 end
nwcplay.note(startSPP+(deltaSPP*i),deltaSPP,notepitch)
end
end
63
General Discussion / Re: A user object request - oversize time signatures.
If your object only appears once in the staff, then a vary large span is reasonable. You can use 16384 as a reasonable large number.

However, if a user places multiple instances of your object on the staff, then this can cause problems. It will trigger every instance of your object to be placed at the front of later systems. You could avoid this issue in your span method:

Code: (lua) [Select · Download]
local function do_span(t)
if nwc.ntnidx:find('next','user',userObjTypeName) then
return nwc.ntnidx:indexOffset()-1,'items'
end

return 16384,'bars'
end

This has the potential to impact NWC performance for very large staffs. If you don't want to allow multiple instances at all, then you could use an audit method to turn off the Span class for later object instances on a staff.

Code: (lua) [Select · Download]
local function do_audit(t)
t.Class = nwc.ntnidx:find('prior','user',userObjTypeName) and 'Standard' or 'Span'
end
65
General Discussion / Re: Beam Direction
Although no longer required in this case, 2.75a Beta 10 includes a beam group option which can be used to properly segment groups in a beam:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|TimeSig|Signature:2/4
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam,BeamGrp
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam=End
|Rest|Dur:32nd
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam,BeamGrp
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam=End
|Rest|Dur:16th
|Bar
|TimeSig|Signature:6/8
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam,BeamGrp
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam,BeamGrp
|Note|Dur:32nd|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam=End
|Rest|Dur:4th,Dotted
|Bar
|TimeSig|Signature:2/4
|Note|Dur:8th,Dotted|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:8th,Dotted|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam=End
|Bar
|TimeSig|Signature:3/8
|Note|Dur:8th,Dotted|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:8th|Pos:-4|Opts:Stem=Up,Beam=End
|Bar
|Note|Dur:8th|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam,BeamGrp
|Note|Dur:8th,Dotted|Pos:-4|Opts:Stem=Up,Beam=End
|Bar
|Rest|Dur:16th
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam,BeamGrp
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam
|Note|Dur:16th|Pos:-4|Opts:Stem=Up,Beam=End,BeamGrp
|Rest|Dur:16th
!NoteWorthyComposerClip-End
66
Object Plugins / Re: TimeSigScaler.nw
When the TimeSigScaler immediately follows an actual time signature, it only shows itself as as an up/down arrow in the editor.

Some tips:

  • F11 shows how it really looks
  • the TimeSigScaler entry of User Tools,.Plugins adds a scaler object to every time signature in a file
  • additional instances can be placed on their own if the time signature is not changing (such as in your example)
  • a spacer before the real time signature will prevent extra preceding white space
  • a spacer immediately after the TimeSigScaler will prevent extra white space on the right ride
  • the scaling can be set using +/- keys while the object is selected by itself
67
General Discussion / Re: A user object request - oversize time signatures.
I went ahead and posted a plugin that formalizes the example from earlier in the topic. The plugin includes a user tool that will apply the scaling to every time signature in a file. Some manual cleanup will likely still be required.

This object can be used to draw a scaled version of a prior, usually hidden, time signature. This object should always be placed after the real time signature.
68
Object Plugins / TimeSigScaler.nw
This object can be used to draw a scaled version of a prior, usually hidden, time signature. This object should always be placed after the real time signature.

Code: [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Bass
|Key|Signature:F#|Tonic:G
|TimeSig|Signature:4/4|Visibility:Never
|User|TimeSigScaler.nw|Pos:0
|Spacer|Width:0
|Rest|Dur:Whole
|Bar
|TimeSig|Signature:5/4|Visibility:Never
|User|TimeSigScaler.nw|Pos:0
|Spacer|Width:0
|Rest|Dur:Whole
|Bar
|TimeSig|Signature:4/4|Visibility:Never
|User|TimeSigScaler.nw|Pos:0
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:2
|Note|Dur:4th|Pos:1
|Note|Dur:4th|Pos:0
|Bar
|TimeSig|Signature:9/8|Visibility:Never
|User|TimeSigScaler.nw|Pos:0
|RestMultiBar|NumBars:32|PrintOnce:N|WhenHidden:ShowBars,ShowRests|Visibility:Never
!NoteWorthyComposerClip-End

This object is derived from existing discussion excerpted below:

Occasionally the scores I play for musicals have a time signature that is significantly larger than you would normally expect.  They extend from the centre line the same way that a normal time signature does, but instead of being completely enclosed in the staff (I.E. each number is 2 spaces high), they extend above and below by approximately an additional space to space and a half.  Think scaled by 150% to 175%.  This can be really, really helpful.  Especially if the score is busy.
69
General Discussion / Re: A user object request - oversize time signatures.
Yeah, sorry, I should have understood what you meant. Just turn off the StaffSig:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Bar
|User|OversizeTimeSig.test|Pos:0|Scale:175
|TimeSig|Signature:9/8|Visibility:Never
|RestMultiBar|NumBars:32|PrintOnce:N|WhenHidden:ShowBars,ShowRests|Visibility:Never
!NoteWorthyComposerClip-End

You can remove this line from the plugin:

Code: (lua) [Select · Download]
t.Class = 'StaffSig'

A user tool that adds an OversizeTimeSig object to every time signature is pretty straight forward. As far as a single object instance that redraws all instances of a time signature, Lloyd's original solution is about as good as it will get.
70
General Discussion / Re: A user object request - oversize time signatures.
One observation - What I meant by "make sure it's been made invisible" was that the object would modify the existing time signature to make it invisible, not detect one that is already invisible...  I don't know if the API's will allow for this.

They don't.

Eric, I notice with your version that the time sig. gets placed on every new system...

Not exactly. It has to accompany any actual time signature that is placed. The plugin code could be enhanced to support standard sizes on new printed systems after its first appearance.

72
General Discussion / Re: Beam Direction
Currently, the drawing of a fractional beam is not time signature/beat aware. It simply gravitates toward a preceding dot (in the primary voicing), if one is present. This situation will be reviewed.
73
General Discussion / Re: Updated nwc-conv for 2.75 with UTF8 support?
The nwc-conv tool is nothing but a front-end for the NWC2 program.

Version 2.75 exports MIDI text as utf-8, which is probably causing your problem.

Version 2.75a provides for ANSI text during MIDI export from the Tools, Options, File, ANSI text encoding option.
74
Object Plugins / Re: ChordPlay.nw
Updated to protect from a song position out of range error when playing or exporting to a MIDI file.
75
User Tools / Re: Attach Objects To Next Note.nw
Updated to return the number of object instances that were actually moved. The return report now looks like this:

Code: [Select · Download]
Results for TremoloSingle.ms (file mode)

Objects found:    390
Objects moved:    85
Objects deleted:  0
77
User Tools / Attach Objects To Next Note.nw
A support incident with the TremoloSingle.ms object type led to the attached user tool. This user tool can be run in Clip or File Text modes. When run in file mode, it returns file text.

This tool attaches all instances of the designated user object type to the target note that follows it, skipping any rests or bar lines that separate the object from its target note. This has been designed to work with TremoloSingle.ms objects, but would work for other objects that specifically target notes, and not rests or bar lines.

In version 2.75a, you can install this tool directly from Tools, User Tools, Download by entering its name at the prompt:

Code: (txt) [Select · Download]
Attach Objects To Next Note.nw


Example

Spoiler (click to show/hide)
78
Tips & Tricks / Re: Uninstalled Object listing
Currently, plugins are not without a cost, as they impact startup time and memory footprint, as well as potentially expanding the Add Object and Plugin Tool lists.

I don't see NWC offering a facility to encourage installing everything. However, the community could create a *.nwc master file of objects that demonstrates a large collection of them. This master file would enable something similar to what you describe, as it could be used to quickly download and install a large collection of plugins, and also demo their capabilities.

Alternately, perhaps an overview page that demonstrates many of the objects would be helpful.

I'll think about it. This Plugin board is meant to provide much of this now, as it can be casually browsed.

82
User Tools / Re: Retrieve NWC File Version, Font, and Play Time Information
I don't know what is happening for you, although the filename character issue is mentioned above. If you are not getting a report after running the tool, then the batch command is not concluding properly (the exit /b 99 call triggers report mode back to NWC).

It might help if you explained more details about your system. Also, are you able to run the user tool command shown below? If so, what do you get?

Code: [Select · Download]
cmd.exe /C "set && exit /b 99"
85
General Discussion / Re: Bulk Save NWC files
I just posted a batch file that might be useful here.

NWC 2.75 has a builtin INFO method that can be accessed from the command line. It shows you some summary stats about a file, including NWC version used to create it, play time, and fonts used. You can access this facility from the User Tool mechanism using the attached Windows batch file...
86
User Tools / Retrieve NWC File Version, Font, and Play Time Information
NWC 2.75 has a builtin INFO method that can be accessed from the command line. It shows you some summary stats about a file, including NWC version used to create it, play time, and fonts used. You can access this facility from the User Tool mechanism using the attached Windows batch file. The recommended user tool settings are also shown.

Additional Details: A file's path name is sent to user tools that handle File Text. The file path is only provided for existing non-sample files. If you want to retrieve the version info for an old file, you must make sure that you do not save it prior to invoking this tool. Once you save a file in a new version of NWC, the old information is lost.

Additionally, user tools receive input encoded as utf-8. If your files are named with characters beyond simple ASCII, you will likely experience issues with this tool.

Spoiler (click to show/hide)
88
General Discussion / Smart Insertion Point?
We are reviewing the need for the Smart Insertion Point setting in Tools, Options, Editor. It would help us to know how you currently use this setting. Your answer will greatly help in this process.
89
General Discussion / Re: Copying staffs more efficiently
2.75a Beta 7 includes a subtle change that might make this work better for those using  Smart Insertion Point.

I just noticed that when zoomed out, the clef can still get missed when changing staff. Perhaps this can still be improved a bit more...
91
Object Plugins / Re: ChordPlay.nw
Updated as follows:

  • When not using Lawrie Pardy's chord fonts, '#' and 'b' are automatically mapped to true flat and sharp characters for display purposes.
  • When using one of Lawrie Pardy's Germanic chord fonts, B and Bb are automatically remapped to H and B for display purposes.
92
General Discussion / Re: Adding H to ...Chord fonts?
Regarding the ChordPlay.nw object, it can be changed to allow 'H' named chords. I have also been playing with a unicode conversion mechanism so that #/b get displayed as ♯/♭ (unicode variant).

Treating 'B' named chords as B♭ is a little trickier.
95
Object Plugins / Re: TremoloSingle.ms (1.2)
It uses the stem direction, which can be set on those whole notes. Just flip the stem direction...

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|User|TremoloSingle.ms|Pos:-7|Beams:2
|Chord|Dur:Whole|Pos:-3,0,2|Opts:Muted
|Bar
|User|TremoloSingle.ms|Pos:-2.5|Beams:2
|Chord|Dur:Whole|Pos:-2,1,3|Opts:Stem=Up,Muted
!NoteWorthyComposerClip-End
96
General Discussion / Re: Hyphenation
You can use a different hyphen character, which will not be recognized by NWC.

For example, you could change to a non-breaking hyphen (U+2011):

Code: [Select · Download]
re-cline

would become:

Code: [Select · Download]
re cline
100
General Discussion / Re: Missing Slur at System Break
Seems to work for me:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Clef|Type:Treble
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th,Slur|Pos:0
|Bar|Style:MasterRepeatOpen
|Note|Dur:4th,Slur|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th,Slur|Pos:0
|Bar
|Ending|Endings:1
|Note|Dur:4th,Slur|Pos:0
|Note|Dur:4th,Slur|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar|Style:MasterRepeatClose|SysBreak:Y
|Ending|Endings:2
|Note|Dur:4th,Slur|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar|Style:SectionClose
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
!NoteWorthyComposerClip-End