Skip to main content

Show Posts

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

Messages - NoteWorthy Online

1
This seems like a bug in the nwcut library. User object uses cd.opt_Raw for parameters, when it should probably have used cd.opt_Text.

Since cd.opt_Text/nwcOptText uses a .Text member for access, I'll have to do some testing. It seems as though changing it now would break existing tools that work with user data.
2
Download Token: OctaveDoubling.nw

This tool will double all individual notes in the selection, converting them into a chord with a second note that is one octave lower.
3
I have not yet been able to reproduce this. I have been able to reproduce this on another machine (Windows 10 x86). Looking into it...
4
The Viewer performs the raw MIDI file, although it does ignore sysex, if present.

Feel free to post a crash report on the soundfont issue.
5
Here is a better showing with Rick's markup:

Standard object:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
|Spacer|Width:10
|User|Markup.rg|Pos:-3|Markup:x-4/m4֎|Color:4
|Spacer|Width:10
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End

And as a Span object:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
|Spacer|Width:10
|User|Markup.rg|Pos:-3|Class:Span|Markup:x-4/m4֎|Color:4
|Spacer|Width:10
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End
6
But I am wondering how the objects are rendered relative to other standard items that surround them.

Standard objects are treated just like anything else. This text wheel shows it pretty well:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
|Spacer|Width:10
|Text|Text:"֎"|Font:StaffItalic|Scale:400|Pos:0|Justify:Center|Color:4
|Spacer|Width:10
|Note|Dur:16th,Triplet=First|Pos:5|Opts:Stem=Down,Beam=First
|Spacer|Width:10
|Note|Dur:16th,Triplet|Pos:5|Opts:Stem=Down,Beam
|Spacer|Width:10
|Note|Dur:16th,Triplet=End|Pos:5|Opts:Stem=Down,Beam=End
!NoteWorthyComposerClip-End

If the wheel were drawn as a Span object, it would cover notes on either side of it.
7
NWC would not impact this.

In my experience, Windows has a bad habit of losing its GS Wavetable Synth. Is it still present on your system? If not, you have to reinstall it, which usually involves some kind of triggering of a sound setup reinstall: Settings -> Search for Sound
8
If you are still having this problem, I would start by rebooting the machine, if you have not done so yet. This often cures problems like this. AFAIK, there isn't anything in the 2.75a upgrade that would cause this, but Windows sometimes flips out when system fonts are replaced until a reboot is done.
9
I believe that Standard and Span objects are rendered last, while StaffSig objects are rendered first, for a given staff.

Standard and StaffSig objects are rendered in the order that they appear. Span objects are rendered after the other items on a staff.
10
This mechanism is fixed in 2.75a.2.
11
This is fixed in 2.75a.2, which correctly creates this folder upon first use.
12
Yeah, it works fine if you upgraded. I suspect brand new installs are another story.
13
:localappdata: is equivalent to %LocalAppData%, which you can access in Explorer. The program attempts to create this necessary folder when you start it, but in my test just now, it did not work. I'll look into it.
14
Check your folder settings in Tools, Options, Folders: Config Files

The file history is maintained in a file called FileMRU.dat

It is possible that you were using a default config folder in some other default location, and that has been inadvertently changed by the upgrade, as the core logic was simplified in 2.75a.
15
Eric seems to have nailed your problem as a different font.

Different patch, not font, enabled by two staves sharing the same MIDI channel. Score Review is a good way to identify multiple staves that share the same MIDI channel. These staves will not be able to use different instrument patches simultaneously.
16
Yes, I can confirm this. We are getting pretty far away from version 1 compatibility, but I will give this a look.
17
The cello staff from your older preferred file shares its MIDI channel with another later staff that uses a String Ensemble 1 instrument patch. If you want your new file's cello staff to sound like an ensemble, you can simply set it to also use that same patch:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Instrument|Name:"String Ensemble 1"|Patch:48|Trans:0|DynVel:10,30,45,60,75,92,108,127|Pos:8|Wide:Y
|Note|Dur:Half,Slur|Pos:3
|Note|Dur:Half|Pos:5
|Bar
|Note|Dur:Half,Slur|Pos:4
|Note|Dur:Half|Pos:2
|Bar
!NoteWorthyComposerClip-End
18
Given two files played on the same computer, there are two primary factors to the sound that you hear:

  • the play back device - check this from Tools, Options, Midi, as well as Staff, Staff Properties, Midi, Play back device
  • the chosen instrument - check this from Staff, Staff Properties, Instrument and any Instrument Change items in the staff
20
the api server was upgraded in the last 30 days. It would not be surprising if XP has issue with something new

This. In my tests, all versions of the NWC user object scan were failing on Windows XP.

I have reconfigured the server, and the user object scan seems to work again, at least for now. Going forward, Windows XP users are in for a rough ride as industry requirements will make it harder and harder to connect.
21
a) Would this not affect 2.75 as well?

Yes. I thought perhaps you were getting a cached copy.

The 2.75a mechanism is essentially the same as 2.75, but there might be a bug in 2.75a causing a Windows XP issue. I won't have access to XP until next week, but will investigate it then.
22
I am currently on a Chromebook with Crouton/WINE, connected via satellite, and the Manage Objects interface still worked for me (although it took almost 15 minutes to complete the scan).
23
NWC uses built-in methods provided by a system DLL: winhttp.dll
24
Any suggestions ?

As I understand it, the only copy of these files is now found on an external drive. My immediate thought is perhaps the external drive experienced an anomaly, and has been re-assigned to a different drive letter. Try looking at the This PC (My Computer) area; check that things are working as expected. Also, check the logs to see if some kind of failure event has been detected on the drive. Until you recover your files, it is generally best to avoid saving anything else to the drive. This will give you the best chance of recovering files from it.
25
Assuming this excerpt is really written as shown (with no special endings), then the following clip would better handle the hanging note events:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Chord|Dur:8th|Pos:-1^,1^
|Bar|Style:MasterRepeatClose
|Chord|Dur:4th,Grace|Pos:-1,1|Opts:StemLength=4.7|Visibility:Never
!NoteWorthyComposerClip-End
26
Announcements / Ubuntu 16.04
In Ubuntu 16.04, you can install and run NWC Viewer under Wine using these steps:

  • sudo apt-get install freepats timidity
    (install the necessary timidity software and sounds)
  • winecfg
    (confirm your wine config)
  • wget https://noteworthycomposer.com/setup/setup_nwc275_viewer.exe
    (download the NWC Viewer install package)
  • timidity -iA
    (Launches TiMidity++ as ALSA sequencer client)
  • winefile
    (find and double click the setup_nwc275_viewer.exe to install the viewer)
27
General Discussion / Re: NWC on Ubuntu
Start by installing the Viewer and getting it working. In Ubuntu 16.04, you can install and run NWC Viewer using these steps:

  • apt-get install wine freepats timidity
    (installs the necessary wine and timidity software)
  • winecfg
    (confirms your wine config)
  • wget https://noteworthycomposer.com/setup/setup_nwc275_viewer.exe
    (downloads the NWC Viewer install package)
  • timidity -iA
    (Launches TiMidity++ as ALSA sequencer client)
  • winefile
    (double click the setup_nwc275_viewer.exe to install the viewer)
28
Object Plugins / Re: BarCounter.nw
I have always run into the problem of the pickup bar.  I do not like counting this, because it throws me off in the standard 8/16 bar format.  I am using BarCount for the first time to designate the pickup bar as "0". 

You can just Exclude From Bar Count on a pickup bar:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Bar|XBarCnt:Y
!NoteWorthyComposerClip-End
29
Thanks for the feedback, much appreciated.
30
I don't think there is a better way to do this than simply assigning the pertinent date into File, Info.
31
I suspect that the Config Files folder location is assigned to a non-existent directory. You can fix this from Tools, Options, Folders.

This problem is generally detected and fixed when running NWC 2.75a (which is currently in beta release).
32
She has e-mail but no internet?

The NWC2 license does not prevent a user from installing in this manner. Currently, we also offer an optional companion CD that makes this process even easier.
33
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.
34
This will be changed in the next 2.75a beta release.
35
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
36
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)
37
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.
38
The free Viewer is able to print. You would normally print to PDF for portability.

I don't know what you mean by "merge the .nwctxt file with the settings of Noteworthy Composer." If you mean the printer setup, the easiest approach is to print to PDF, and then share both the pdf and the nwc source file.
39
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.
40
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.
41
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...
42
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
43
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
44
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
45
Nice one Lloyd. Your scheme works well. Redrawing the staff lines is a nice touch.

One question though...where did you get the 2048 bar limit?
46
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
47
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
48
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.
49
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.
50
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.