NoteWorthy Composer Forum

Forums => General Discussion => Topic started by: Flurmy on 2017-01-22 06:45 pm

Title: Override stem length? I wish!
Post by: Flurmy on 2017-01-22 06:45 pm
Any idea on how to shorten those stems?

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|Dynamic|Style:pp|Pos:-10|Wide:Y
|Chord|Dur:8th,Grace|Pos:b-2,b-1,b5,b6,b12|Opts:NoLegerLines,Muted|Visibility:Never
|User|Arpeggio.ms|Pos:-3|Dir:down|Rate:64|Visibility:Never
|Chord|Dur:Half|Pos:-2z,-1z,0z,1z,2z,3z,5z,6z,7z,8z,9z,10z,12z,b13|Opts:Crescendo,StemLength=7,Muted
|Note|Dur:8th,Grace|Pos:13|Opts:Crescendo,ArticulationsOnStem,Muted|Visibility:Never
|Spacer|Width:525
|User|Glissando.ms|Pos:1
|Note|Dur:8th,Grace|Pos:-4|Opts:Crescendo,ArticulationsOnStem,Muted|Visibility:Never
|Dynamic|Style:mp|Pos:-10|Visibility:Never
|Spacer|Width:75
|User|Arpeggio.ms|Pos:-3|Rate:64|ForceArrow:Y|Visibility:Never
|Chord|Dur:Half|Pos:-4,-2z,-1z,0z,1z,2z,3z,5z,6z,7z,8z,9z,10z,12z,13z|Opts:Stem=Up,Diminuendo,StemLength=7,NoLegerLines,Muted
|Spacer|Width:650
|User|Glissando.ms|Pos:1
|Bar
|Note|Dur:8th,Grace|Pos:n13|Opts:Diminuendo,ArticulationsOnStem,Muted|Visibility:Never
|Chord|Dur:8th,Grace|Pos:b-2,b-1,b5,b6,b12|Opts:NoLegerLines,Muted|Visibility:Never
|Dynamic|Style:pp|Pos:-10|Visibility:Never
|User|Arpeggio.ms|Pos:-3|Dir:down|Rate:64|Visibility:Never
|Chord|Dur:Half|Pos:-5z,-4z,-2z,-1z,0z,1z,2z,3z,5z,6z,7z,8z,9z,10z,12z,b13|Opts:StemLength=7,Muted
|Note|Dur:8th,Grace|Pos:13|Opts:ArticulationsOnStem,Muted|Visibility:Never
|Spacer|Width:525
|User|Glissando.ms|Pos:1|EndOffsetY:1
|User|Arpeggio.ms|Pos:-3|Rate:64|ForceArrow:Y|Visibility:Never
|Chord|Dur:Half|Pos:-6,-5z,-4z,-2z,-1z,0z,1z,2z,3z,5z,6z,7z,8z,9z,10z,12z,13z|Opts:Stem=Up,StemLength=7,NoLegerLines,Muted
|Spacer|Width:650
|User|Glissando.ms|Pos:1
|Bar
|Note|Dur:8th,Grace|Pos:n13|Opts:ArticulationsOnStem,Muted|Visibility:Never
!NoteWorthyComposerClip-End

N.B. I started to think this is a case for a only visible staff plus a hidden staff playing...
Title: Re: Override stem length? I wish!
Post by: Mike Shawaluk on 2017-01-22 09:48 pm
It looks like what you really want is a glissando object that plays (so you won't need to use hidden arpeggios and blank noteheads).

Or as you say, put the playback notes on a hidden staff.
Title: Re: Override stem length? I wish!
Post by: Flurmy on 2017-01-22 10:08 pm
Quote
Or as you say, put the playback notes on a hidden staff.
Well, I'll go that way.
What I love the least is to work with invisible notes; invisible in the editor too, I mean.
Thanks
Title: Re: Override stem length? I wish!
Post by: Lawrie Pardy on 2017-01-22 11:27 pm
Do you really need a glissando or what trombone players call a gliss, which is actually a portamento?

If the latter, then a pitch change MPC will do the job, especially now that you can set the pitch bend range in the instrument properties.
Title: Re: Override stem length? I wish!
Post by: Rick G. on 2017-01-22 11:45 pm
Any idea on how to shorten those stems?
Don't do stupid things. Then you won't need to solve stupid problems.
Just a thought  ::)
Title: Re: Override stem length? I wish!
Post by: Mike Shawaluk on 2017-01-23 12:00 am
Do you really need a glissando or what trombone players call a gliss, which is actually a portamento?
Listening to the clip, it sounds very much like harp glissandos to me.

I have toyed with the idea of adding playback to the Glissando.ms object, but from what I have read about their performance, it could be complicated. Different instruments seem to do them differently. For example, on a piano, you would probably want to play just the white (or black?) keys, whereas on a harp, there could be all sorts of options. On a guitar, they would probably need to be in half-steps. And I was considering only discrete (chromatic) glissandos, not the continuous portamento that horns and non-fretted string instruments can do.

I am also trying to add system spanning to the drawing of glissandos, which should be fairly easy now, but for some reason it is proving to be a challenge.
Title: Re: Override stem length? I wish!
Post by: Rick G. on 2017-01-23 12:22 am
I have toyed with the idea of adding playback to the Glissando.ms object, but from what I have read about their performance, it could be complicated.
How about just playing a list of MIDI numbered notes in a specified number of clicks?
Title: Re: Override stem length? I wish!
Post by: Lawrie Pardy on 2017-01-23 03:26 am
Listening to the clip, it sounds very much like harp glissandos to me.
True, but I was wondering what Flurmy actually wanted rather that what the example showed.

If you do add sound to your gliss object, please make sure there is a way to either disable it (to allow an MPC to work), OR add the pitch sweep capacity of the MPC to allow for Trombones and unfretted stuff.
Title: Re: Override stem length? I wish!
Post by: Flurmy on 2017-01-23 09:38 pm
Listening to the clip, it sounds very much like harp glissandos to me.

I have toyed with the idea of adding playback to the Glissando.ms object, but from what I have read about their performance, it could be complicated. Different instruments seem to do them differently. For example, on a piano, you would probably want to play just the white (or black?) keys, whereas on a harp, there could be all sorts of options. On a guitar, they would probably need to be in half-steps. And I was considering only discrete (chromatic) glissandos, not the continuous portamento that horns and non-fretted string instruments can do.
Full strike!  :D

With a harp you often use omophonies so as to have every time a very distinctive glissato, quite different from the usual diatonic or chromatic glissando, not to say about the portamento you (usually) get with MPC.
Of course, in theory you can always tinker with the span and sweep resolution of MPG to get a chromatic glissando...   :))

Code: (nwc) [Select · Download]
I was wondering what Flurmy actually wanted rather that what the example showed.
No, Lawrie, that's quite close to what I needed.

By the way: I copied the "arpeggio" on a hidden staff, so no problem of invisible noteheads.
Title: Re: Override stem length? I wish!
Post by: NoteWorthy Online on 2017-01-28 05:28 am
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