Skip to main content
Topic: User object for lyric-dependent ties? (Read 3581 times) previous topic - next topic

User object for lyric-dependent ties?

As a choral singer, I export the songs from nwc to midi and play them while following on the printed score. But consider the following:

As you can see in the attachment, there are 2 tied notes in the beginning of the measure 4. That's OK for the first 2 verses, but not for the third one, where we have 2 syllables.
On the original score this is indicated with a dashed tie, but in NWC this causes a problem when you want to play the song or export to midi. Wit a real tie, the third verse isn't played correctly, when removing the tie and inserting a dashed slur.ms object, the first two verses aren't played as they should.

I managed to solve this problem as you can see in the second attachment and the code snippet below. But it's a lot of manual work.
I'm considering to write a user tool to achieve this, but I think it would need complicated logic to make it user friendly.

So I was wondering if it could be solved with a new user object?
(I'm not experienced enough with making user object plugins).
The tie should be manually be removed and the object be inserted before the first note.
I think  could work as follows:

- input:
 ° span: number of tied notes
 ° verse numbers where the tie should be active
- actions of the plugin:
 ° draw a dashed tie
 ° play one longer note for the indicated verses
 ° play the notes as if not tied, for the other verses.


Code: [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Ending|Endings:1,2|Visibility:Never
|Note|Dur:8th,Dotted|Pos:-3^|Opts:Stem=Up,Lyric=Never,Beam=First|Visibility:Never
|Note|Dur:16th|Pos:-3|Opts:Stem=Up,Lyric=Never,Beam|Visibility:Never
|Note|Dur:8th|Pos:-3|Opts:Stem=Up,Lyric=Never,Beam=End|Visibility:Never
|Ending|Endings:3|Visibility:Never
|User|Slur.ms|Pos:-3|Pen:dash
|Note|Dur:8th,Dotted|Pos:-3|Opts:Stem=Up,Beam=First
|Note|Dur:16th|Pos:-3|Opts:Stem=Up,Beam
|Note|Dur:8th|Pos:-3|Opts:Stem=Up,Beam=End
|Ending|Endings:1,2,3|Visibility:Never
|Note|Dur:8th,Slur|Pos:-4|Opts:Stem=Up,Diminuendo,Lyric=Always,Beam=First
|Note|Dur:8th|Pos:-5|Opts:Stem=Up,Diminuendo,Lyric=Always,Beam
|Note|Dur:8th|Pos:-4|Opts:Stem=Up,Lyric=Always,Beam=End
!NoteWorthyComposerClip-End
Always look on the bright side of life!

Re: User object for lyric-dependent ties?

Reply #1
I'm not sure if it's possible to know which verse is playing.
Theoretivally NWC knows because it higlights the correct verse, but I don't know how to have that information in a plugin.

Re: User object for lyric-dependent ties?

Reply #2
If it is possible to find out the repeat count, I expect to find it in nwcPlayContext (SeenFirstEnding and Ending1Context), but I never used these, so it may be a false path.

Bart

 

Re: User object for lyric-dependent ties?

Reply #3
To begin with: I completely overlooked those functions. Thank you for having put them in evidence.
But I doubt those functions can be of any help.
SeenFirstEnding simply memorizes if NWC met an Ending after a MasterRepeatOpen while Ending1Context, as the name suggest, contains the play context at the moment NWC met the Ending 1.

Re: User object for lyric-dependent ties?

Reply #4
To the best of my knowledge, the nwcPlayContext object class is part of the user tool environment, and isn't accessible to user object plugins.

Re: User object for lyric-dependent ties?

Reply #5
Thanks to all!
It seems to be impossible, I'll manage to live with it, it's not the end of the world.
.
Always look on the bright side of life!

Re: User object for lyric-dependent ties?

Reply #6
To the best of my knowledge, the nwcPlayContext object class is part of the user tool environment, and isn't accessible to user object plugins.
Yes indeed...