NoteWorthy Composer Forum

Forums => Tips & Tricks => Object Plugins => Topic started by: NoteWorthy Online on 2015-03-29 04:04 pm

Title: ChordPlay.nw
Post by: NoteWorthy Online on 2015-03-29 04:04 pm
ChordPlay enables show and play of a named chord. For play back, the duration of the chord is determined by the indicated Span value, which defines the number of notes/rests for which the chord will play.

The Font, Size, and Style can be set within any instance of ChordPlay, but only the first instance in a staff generally needs to define the font details. By default, all subsequent ChordPlay objects will use the font details specified in the first instance in the staff. If the first instance is being used only for setting default display options, then it will show as a special object.

The following clip will get you started:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.75,Single)
|User|ChordPlay.nw|Pos:7|Font:MusikChordSerif|Size:8|Style:b|Visibility:Never
|Clef|Type:Treble
|Instrument|Name:"Acoustic Guitar (nylon)"|Patch:24|Bank:0,112|Trans:0|DynVel:10,30,45,60,75,92,108,127|Pos:-9
|TimeSig|Signature:4/4
|User|ChordPlay.nw|Pos:7|Name:A|Span:1
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:A
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:D
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:A
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:D
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:F#m
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:A
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:C#m
|Rest|Dur:Half
|User|ChordPlay.nw|Pos:7|Span:1|Name:F#
|Rest|Dur:Half
|Bar
|User|ChordPlay.nw|Pos:7|Span:1|Name:B7
|Rest|Dur:Half
|User|ChordPlay.nw|Pos:7|Span:1|Name:E7
|Rest|Dur:Half
|Bar|Style:LocalRepeatClose|Repeat:4
!NoteWorthyComposerClip-End
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2015-07-01 02:56 pm
New version with strum direction and improved support for inversions. This clip is a good example of walking the bass note from C5 down to C4 within a chord progression.

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.74974,Single)
|Clef|Type:Treble
|Text|Text:"walk the bass note from C5 down to C4"|Font:StaffBold|Pos:-11|Color:1|Visibility:Never
|User|ChordPlay.nw|Pos:8|Name:C|Span:1|Strum:Up|Font:MusikChordSerif|Size:10|Style:Bold|Octave:5
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:G/B|Span:1|Strum:Down|Octave:4
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:Am|Span:1|Strum:Up
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:Am/G|Span:1|Strum:Down
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:F|Span:1|Strum:Up
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:C/E|Span:1|Strum:Down
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:Dm7|Span:1|Strum:Up
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:8|Name:C|Span:1|Strum:Down
|Rest|Dur:Whole
!NoteWorthyComposerClip-End
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2015-07-09 12:44 am
Updated (https://github.com/nwsw/nwc-plugin-core/commit/5c83ccb613abd9962e412a7fe414e27e9f468996) to allow custom key sequences:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.74974,Single)
|User|ChordPlay.nw|Pos:7|Name:C|Span:1|Keys:0,4,7,16,19,24,28,31,28,24,19,16,7,4,0
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Name:D|Span:1|Keys:0,4,7,16,19,24,28,31,28,24,19,16,7,4,0
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:7|Name:E|Span:1|Keys:0,4,7,16,19,24,28,31,28,24,19,16,7,4,0
|Rest|Dur:Whole
!NoteWorthyComposerClip-End

Updated (https://github.com/nwsw/nwc-plugin-core/commit/50d0690aba0a3f8dc336ee6821949ddb3b51c37c) again to fix timing errors when spanning small duration intervals.
Title: Re: ChordPlay.nw
Post by: Rick G. on 2015-07-11 09:28 pm
Updated (https://github.com/nwsw/nwc-plugin-core/commit/5c83ccb613abd9962e412a7fe414e27e9f468996) to allow custom key sequences
Which allows it to be used to retime grace notes:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.74974,Single)
|Clef|Type:Treble
|RestChord|Dur:8th|Opts:Stem=Down,HideRest|Dur2:4th|Pos2:-2
|User|ChordPlay.nw|Pos:6|Name:C|Span:3|Keys:0|Octave:5|Visibility:Never
|Rest|Dur:16th|Opts:Stem=Down|Visibility:Never
|User|ChordPlay.nw|Pos:8|Name:E|Span:2|Keys:0|Octave:5|Visibility:Never
|Rest|Dur:16th|Opts:Stem=Down|Visibility:Never
|Note|Dur:16th,Grace|Pos:-6^|Opts:Stem=Up,Beam=First,Muted
|Note|Dur:16th,Grace|Pos:-4^|Opts:Stem=Up,Beam=End,Muted
|Chord|Dur:4th|Pos:-6,-4,-2
|Note|Dur:4th|Pos:-2
|Note|Dur:4th|Pos:-2
!NoteWorthyComposerClip-End
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2015-07-14 10:15 am
Updated (https://github.com/nwsw/nwc-plugin-core/commit/2026d798cddecc587d0595f1d5942accf6b51dca) to support new property menu and native font selection dialog.

After adding a ChordPlay.nw object, you can refine its behavior by either right clicking on its anchor, or by selecting it and pressing J.
Title: Re: ChordPlay.nw
Post by: Richard Woodroffe on 2015-07-15 07:01 am
I have to record my continued objection to the way the development and implementation of user objects is going.

1. When inserting a user object it is really counter productive to have to insert it blind without setting any parameters and then edit it using select and "j"  to look through each parameter to see what is set in there to see if you want / need to change it. What a waste of effort and additional keying action

2. Noteworthy Objects can normally be seen traditionally by selecting the object and pressing ALT and ENTER. With this new method, you can only see items that have been changed from the default. There is nowhere you can now see a list of parameters and how they have been set without numerous key actions via select and "j".

3. The only parameters passed in a copy to an nwctxt clip is defaults that have been changed. This means that if you want to do global changes on parameters via a text editor, you have to go and deliberately alter one so that it gets passed via nwctxt to the text editor. What a waste of time and effort.

Not being able to see what the parameters are and being able to change them when inserting a new object is a leap backward.
Not having all parameters in nwctxt for a particular user object is a leap backward.
Not having parameters displayed in the user object properties box unless they are not the default is a leap backward.

I've had my say !  I would ask for these leaps backward to be re-considered.


Title: Re: ChordPlay.nw
Post by: Rick G. on 2015-07-15 07:51 am
2. Noteworthy Objects can normally be seen traditionally by selecting the object and pressing ALT and ENTER.
Which brings up a Property Sheet that is customized for each object. That will not happen for User Objects.

We have been down this road with wxphp and User Tools. My head still hurts from the experience ...
Edit: Added strikethrough. My head hurts, but I am dealing with it.
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2016-10-05 09:40 pm
Updated to include an integrated user tool, ChordPlay.nw: Convert Text Chords (new tool requires 2.75a Beta 2 or later)
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2016-12-12 10:22 am
Updated as follows:

Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2017-01-12 09:46 am
Updated to protect from a song position out of range error when playing or exporting to a MIDI file.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2018-05-20 01:44 pm
My daughter can read the chords written "the english way" but many of her friends don't.
It's a pity this tool doesn't manage "the italian way" too (I mean: Do, Re, Mi, Fa, Sol, La, Si).

Today I learned, courtesy of Mike, that these objects transpose automatically.
Very good, but I found no reference of it in the instructions.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2020-08-23 12:29 pm
I'm trying to convert myself to use this plugin for convenience.
I inserted some chords, but I discovered that the chord names are by far too small.
I fought with the plugin until I discovered that I have to select it, click it with the right mouse button to access a submenu that can let me choose what to do, then, maybe, actually doing it... Bah!
To quote Rich: it is a leap backward.

Anyway, I went to modify the text size and I discovered it already is (so it says) 32 points! N.B. my staff is 18 points!
Looking at the source code I see:
Code: [Select · Download]
{id='Size',label='Font Size',type='float',default=nil,min=0.1,max=50,step=0.1},
Max 50? False. (Luckily) I can even use 100 or more... just to reach the same size of a 18 point text.
There's something wrong with the metric...

I think I should try to adjust it to my needs.
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2020-08-23 10:25 pm
Code: [Select · Download]
{id='Size',label='Font Size',type='float',default=nil,min=0.1,max=50,step=0.1},
Max 50? False. (Luckily) I can even use 100 or more... just to reach the same size of a 18 point text.
There's something wrong with the metric...

I think I should try to adjust it to my needs.

Not clear on your point. The size 50 max is clearly a thing. These two clips give the same result:

Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:-8.5|Name:B|Span:5|Font:MusikChordSerif|Style:b|Size:50|Strum:Up
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar
|Note|Dur:Whole|Pos:0
!NoteWorthyComposerClip-End
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.751,Single)
|Clef|Type:Treble
|Rest|Dur:Whole
|Bar
|User|ChordPlay.nw|Pos:-8.5|Name:B|Span:5|Font:MusikChordSerif|Style:b|Size:150|Strum:Up
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Note|Dur:4th|Pos:0
|Bar
|Note|Dur:Whole|Pos:0
!NoteWorthyComposerClip-End
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2020-08-23 10:29 pm
Not clear on your point. The size 50 max is clearly a thing. These two clips give the same result:
(snip)
Perhaps he was confused by the fact that the point size in the font chooser dialog is 4x the value that is returned to the program. So a 50 point font in the object properties corresponds to a 200 point font in the dialog.
Title: Re: ChordPlay.nw
Post by: NoteWorthy Online on 2020-08-23 11:06 pm
The limit is artificial. It can be increased with a proper justification.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2020-08-24 06:40 am
the point size in the font chooser dialog is 4x the value that is returned to the program
Right that!
I just didn't investigate what is tha ratio and why.
Quote
There's something wrong with the metric...
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-08-17 07:25 pm
I just discovered that if someone is missing the MusikChordSerif font the plugin crashes.
The bug is in line 192:
Quote
defaultChordFontFace = Arial
Arial is nil, so later the process is aborted.
The correct line should be:
Quote
defaultChordFontFace = "Arial"
in which Arial is the (quoted) typeface name.

N.B. I'm working on changing this object to show and print the chords "the italian way" too (I mean: Do, Re, Mi, Fa, Sol, La, Si).
It's almost ready and I will publish it here, but my feelings, from other tools and plugins, is that not many out there are interested in this option.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-08-17 08:14 pm
N.B. What a mess in the font metrics!
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2021-08-17 09:34 pm
I just discovered that if someone is missing the MusikChordSerif font the plugin crashes.
Fortunately, NWC 2.75 and later include the font as part of the installation, so the only way it should be missing is if someone intentionally removed it.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-08-19 07:11 am
Just in case someone (else) cares about this feature, this new version of the object can show and print the chords "the italian way" (I mean: Do, Re, Mi, Fa, Sol, La, Si).
It only shows and prints the chords that way. While editing, the chords are still written as A..G.
The choice is in a new parameter, "Italian style chords", that can be "Default", "Yes" or "No".
I think "Yes" and "No" are self explaining.  :D
If it's "Default" then it "inherites" the status from the nearest preceeding ChordPlay.nw that has "Yes" or "No". If none is found then "No" is assumed, so it's perfectly compatible with the official version (1.6). This is the reason why I didn't change the "developer ID".
Title: Re: ChordPlay.nw
Post by: Opagust on 2021-08-19 11:39 am
Just in case someone (else) cares about this feature, this new version of the object can show and print the chords "the italian way" (I mean: Do, Re, Mi, Fa, Sol, La, Si).

I would have called it "the belgian way" ;)
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-08-19 03:42 pm
Well, what's important is to understand.  :)
Let me know if you find something wrong. I'm not an expert of Lua.
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2021-08-19 09:09 pm
Since it appears there are more than one country that use this style of chord, perhaps a better name would be "solfeggio chords".  And then perhaps another sub-option for Si vs. Ti as the 7th note?
Title: Re: ChordPlay.nw
Post by: Opagust on 2021-08-19 09:50 pm
Just a sound of...Do Re Mi (https://youtu.be/pLm07s8fnzM)
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-08-20 07:14 am
I always wondered where "Ti" comes from.
For a long time I was sure I misheard it!  :D  Then, somewhere, I read it...

Also the "solfeggio" name for what are, for us Italians, the standard notes was a bit of surprise to me.
It shouldn't. How can someone sing ("solfeggiare") "C" or "G"?  :))

UT queant laxis
REsonare fibris
...
LAbii reatum
Sancte Ioannes

The seventh note is called "Si" from "Sancte Ioannes"
Ut was replaced with Do at least since 1536 in a text by Pietro Aretino and comes from "Dominus".
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-08-20 07:37 am
Updated version as per Mike suggestion.
Title: Re: ChordPlay.nw
Post by: donharrington@msn.com on 2021-09-07 12:39 am
I don't know what I'm doing wrong, but Chordplay does not give me any font options.  Everything says "right-click" and they'll be there, but they just aren't.

Thanks if anyone can point me in the right direction.

Don H.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2021-09-07 03:46 am
It's a bit obscure, but if you highlight the object, then right click you get a context menu where you can select the Object (Chordplay...) option, where there is a font option.
Also, instead of highlighting the object, just right click it and it will take you straight to the submenu where the font option exists.

Title: Re: ChordPlay.nw
Post by: donharrington@msn.com on 2021-09-07 05:38 am
Thanks, that was it.  I'm very grateful for the help.

Don H.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2021-09-07 05:31 pm
Yes, indeed.
I discovered it only when Mike explained it.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-11 01:24 am
After some discussion with Flurmy and some testing for myself I've updated my copy of Flurmy's version (1.7) of this user object to what I'm calling V1.7a.

What it adds is some more common characters used in my *Chord fonts as included with the Pardy font suite (SwingDings et al)

The additional glyphs/characters and their meanings are:
%, H, <%, m%, >%, min%, <, <7, <9, >, >7, >9, W, W2, X, Z, I, J, K, L
where:
%=6/9, H=Maj6/9, <%=Maj6/9 >%=min6/9, <=Maj, >=min, W=sus, X=sus4, Z=7sus, I=Maj6, J=Maj7, K=Maj9, L=Maj13
N.B.    H, I, J, K and L are using a small triangle for the Maj symbol rather than the text "Maj"

To use it you need to locate your current ChordPlay.nw.nwcuser.lua file (<Ctrl+J> dialogue, click "Source Folder"), preserve the current ChordPlay.nw.nwcuser.lua file and copy the one in this zip file to the same location.<edit> Don't do this - see below
Please Note:  If you do an online update for your objects NWC will offer to update this file back to V1.6 which is the current release version from Noteworthy.

USE AT YOUR OWN RISK - NO warranties apply.  Eric, if you see this post and the content breaches any conditions please remove it, or advise me and I'll remove it.

<edit> Attachment removed - see replies #32 and #38 below for new version and additional notes.
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2022-02-11 02:37 am
Rather than replace the ChordPlay.nw file, I would suggest changing the name of the new file to something like ChordPlay.lp.nwcuser.lua.  This was the reason that the ID field was included in the plugin filename, so that people could create different flavors of objects. But to do this properly, you would need to request the "lp" ID (or a different one if you don't want to use your initials).
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-11 03:34 am
Rather than replace the ChordPlay.nw file, I would suggest changing the name of the new file to something like ChordPlay.lp.nwcuser.lua.  This was the reason that the ID field was included in the plugin filename, so that people could create different flavors of objects. But to do this properly, you would need to request the "lp" ID (or a different one if you don't want to use your initials).
Hi Mike
That's a very fair call, I've only hesitated because:
a) at best I might be able to manage the odd very simple modification, because,
b) I am definitely NOT a programmer and thus would not be productive, and
c) I have no idea how to request one any way...

Also, would this break the automatically created usertool that automates conversion?

<wait a few>

Ok, I've copied my installation back to the original ChordPlay.nw, named my  version ChordPlay.lp.  It verks!!!  But...
Internally I made sure references to ChordPlay.nw were changed to ChordPlay.lp  and I changed the default font to SwingChord, font size to 16 and style to r (for regular)

I confirmed that the object embedded user tool for text conversion does not seem to work.  Not in my modified version nor in NWC's version so this is not an error on my part.  This tool appears in the ".plugins" section of the user tool dialogue

There is also a user tool created in the ".automatic" area of the user tool dialogue which is stored as a lua file in the
"C:\Program Files (x86)\Noteworthy Software\NoteWorthy Composer 2\AutoUserTools"
section of the filesystem. 
Presumably this is created during the user tool starter kit installation.
I duplicated that .automatic tool by copying the file ("Convert Text to ChordPlay.nw.lua") and renaming the copy to "Convert Text to ChordPlay.lp.lua".
Then edited the bits in the renamed copy that made sense to me in order to use ChordPlay.lp and to position the object at the same visual height as the original text object.  This position parameter entry is relative to font size and may not suit all.  Original entries were made into comments so the changes would be obvious.

So herewith my version of ChordPlay.  Now called V1.7b

I have deleted the one in my previous post so this is the one you're all stuck with ;)

<edited>
USE AT YOUR OWN RISK - NO warranties apply. ;)

<edit> Attachment removed - see reply #38 below for new version and additional notes.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-11 04:29 am
Goody, goody, I've got a new toy  :D  :D  :D

It would be helpful if the internal user tool worked, but guess what!  I've got a new toy  :D

Thanks @Flurmy for helping me get off my butt!  One of the primary reasons I wasn't using ChordPlay was that it didn't recognise the *Chord font glyphs I most commonly used - now, thanks to some unconscious guidance from you, it does.  The other main reason for not using it was the (perceived) tediousness of entering ChordPlay objects manually - I'm pretty quick with text chords, BUT the discovery of the user tool to automate conversion from text to ChordPlay objects was a real winner!

Thanks @Mike Shawaluk for your suggestion which got me further off my butt  8)

And guess what!  I've got a new toy :D
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-11 09:28 pm
I confirmed that the object embedded user tool for text conversion does not seem to work.  Not in my modified version nor in NWC's version so this is not an error on my part.  This tool appears in the ".plugins" section of the user tool dialogue

There is also a user tool created in the ".automatic" area of the user tool dialogue which is stored as a lua file in the
"C:\Program Files (x86)\Noteworthy Software\NoteWorthy Composer 2\AutoUserTools"
section of the filesystem. 
I'm very puzzled.
I have only one entry in the user tools. It's called "Convert text to ChordPlay.nw" and is in the ".automatic" area.
But I must say that more than once I cleaned up the list.

The tool is in ChordPlay.nw (or newer  ;) ) in the short routine starting with "if nwcut then".
And, believe it or not, it worked for me a lot of times!

After a brief start putting  chords in the lyrics I switched to put the chords in text items.
Then ChordPlay arrived, so I converted many old scores (not yet all of them) to ChordPlay via that tool.
My only problem was the limited range of supported chord types...  :))
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-11 09:41 pm
I'm very puzzled.
I have only one entry in the user tools. It's called "Convert text to ChordPlay.nw" and is in the ".automatic" area.
But I must say that more than once I cleaned up the list.
<snip>
OK, the one in the ".automatic" area is definitely a separate piece of code and works just fine - my edited version is posted above.

<snip>
The tool is in ChordPlay.nw (or newer  ;) ) in the short routine starting with "if nwcut then".
And, believe it or not, it worked for me a lot of times!
<snip>
I believe this is the one that appears in the ".plugins" area and it doesn't seem to work correctly.  At least it never found any text chords to convert when I tested.  It always came back with a "change 0 objects" in the STDERR warning dialogue.
If you've done a few clean ups, perhaps you removed the ".plugins" group?

<snip>
After a brief start putting  chords in the lyrics I switched to put the chords in text items.
Then ChordPlay arrived, so I converted many old scores (not yet all of them) to ChordPlay via that tool.
My only problem was the limited range of supported chord types...  :))
Yeah, the limited range was what was mainly stopping me.
I seem to recall trying to use Lyrics for chords and not being very impressed... ;)
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-11 09:52 pm
Quote
OK, the one in the ".automatic" area is definitely a separate piece of code and works just fine
No, I haven't any "separate piece of code" and, as I wrote, the (one and only) "Convert text to ChordPlay.nw" tool appears in the ".automatic" area.
And, no, I didn't remove the ".plugins" group. I have it and well populated too.
But now I'm too sleepy to investigate more. Bed time here.
Maybe tomorrow.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-11 10:10 pm
No, I haven't any "separate piece of code" and, as I wrote, the (one and only) "Convert text to ChordPlay.nw" tool appears in the ".automatic" area.
And, no, I didn't remove the ".plugins" group. I have it and well populated too.
But now I'm too sleepy to investigate more. Bed time here.
Maybe tomorrow.
Sleep well.

I'm very curious as to why we should be seeing such different things.

Please, when you have time, this is what I see in my system:
Navigate to
"C:\Program Files (x86)\Noteworthy Software\NoteWorthy Composer 2\AutoUserTools"
and look for a file called "Convert Text to ChordPlay.nw.lua"
If you move this file elsewhere (or maybe rename the extension) so NWC can't see it does the tool disappear from the ".automatic" group of the user tool dialogue? 
(hint: I've found I cannot have NWC open and do any manipulation of objects or user tool files - makes sense as I think they're loaded at start up)

The internal tool that should appear in ".plugins" shows as:
"ChordPlay.nw: Convert Text Chords"
as opposed to:
"Convert Text to ChordPlay.nw"
which is how the one in ".automatic" appears.

I'm really interested in seeing what differences we're experiencing.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-12 01:41 am
I think I've found the problem in the object code that stopped the internal user tool from working.

Updated versions attached below.

The following code snippet is from my test copy of ChordPlay.lp.nwcuser.lua:
Code: [Select · Download]
--        if o:Is('Text') and string.match(o:Get('Text','Text') or '','^%s*[A-G][b#]?[^/%s]*%s*/*%s*[^%s]*%s*$') then
        if o:Is('Text') and string.match(o:Get('Text') or '','^%s*[A-G][b#]?[^/%s]*%s*/*%s*[^%s]*%s*$') then
            local o2 = nwcItem.new('|User|'..userObjTypeName)
            o2.Opts.Name = o.Opts.Text
--            o2.Opts.Pos = o:Provide('Pos',0) - 1
            o2.Opts.Pos = o:Provide('Pos',0) - 5
You'll note I've left the original lines in place as comments.
<edit> 2022/02/25
I've just learned that the difference noted above:
Get('Text','Text') vs Get('Text') is specific the the NWC 2.8 beta I'm using.
If you have downloaded my version below and have NWC 2.75 and if the embedded tool (which appears in the .Plugins group) doesn't work then edit the file to remove the comment "--" on the line containing Get('Text','Text') and put it into the line that contains Get('Text') instead.  I believe this should resolve it.  Thanks to Mike Shawaluk for confirming this difference in the NWC 2.8 beta lua API.


This code snippet is from "Convert Text to ChordPlay.lp.lua:
Code: [Select · Download]
	if item:Is('Text') then
local textProp = item:Get('Text') or '--'
if textProp:match('^%"*%s*[A-G][b#]?[^/%s]*%s*/*%s*[^%s]*%s*%"*$') then
local newItem = nwcItem.new('|User|ChordPlay.lp')
-- local newPos = (tonumber(item:Get('Pos')) or 0) - 1
local newPos = (tonumber(item:Get('Pos')) or 0) - 5
If you compare the original:
--        if o:Is('Text') and string.match(o:Get('Text','Text') or '','^%s*[A-G][b#]?[^/%s]*%s*/*%s*[^%s]*%s*$') then

with the apparently equivalent section from the .automatic (working) tool:
      local textProp = item:Get('Text') or '--'
      if textProp:match('^%"*%s*[A-G][b#]?[^/%s]*%s*/*%s*[^%s]*%s*%"*$') then

you will notice the Get('Text' sections are different.
I have absolutely zero idea of how these actually work (not a programmer remember) but it seemed to me the "extra" ,'Text' in the original was the primary point of difference so as you can see from my sample above I removed that bit from my test copy and it appears to now work correctly.

To explain some of my thinking, when I saw the Get('Text','Text') construct it reminded me of the Global_Mod syntax for identifying a text object (the first 'Text') with a comma delineator and specified text (the second 'Text') and that seemed spurious.  Especially as any specific text needed would come from the
'^%s*[A-G][b#]?[^/%s]*%s*/*%s*[^%s]*%s*$') section which I think is a regular expression (of which I have no understanding due to a severe lack of familiarity.  I.E. I never learned them ;) )

I would appreciate some guidance from someone who knows what all this crap actually means and why my change seems to have worked ;)
And maybe why it's a bad idea and recommend a different change...

Oh yeah, this change:

--            o2.Opts.Pos = o:Provide('Pos',0) - 1
            o2.Opts.Pos = o:Provide('Pos',0) - 5

Repositions the object so the text appears at the same vertical location as the original text object - will only work properly at 16pt which is my default size for text chords.  *Chord text chords are top anchored (an error on my part when I first created them - I still have no idea how it happened, but it's wa-ay too late to change it now) and the displayed text  of ChordPlay objects is bottom anchored.  Thus the anchor point must move if the visible text is to remain in the same relative position.
The original ChordPlay.nw object lowered the anchor by 1 Pos (I imagine for normal text like Arial or Times New Roman which are also bottom anchored - at least I think that's the case), but for *Chord sourced ones at 16pt it needs to come down by 5 Pos distances.  I haven't tested, but I'm pretty sure if the objects were sized at, say, 12 point, the change would need to be 4.
Had I not made the error with *Chord fonts this change would not be necessary.

<edit>

UPDATE - attachments added.  Removed from reply #32

ChordPlay.lp.nwcuser.lua - New version 1.7c attached (V1.7b removed from reply#32 above).  This one has a working embedded user tool, as discussed above, that should appear in the .plugins group in the User Tool dialogue.  Defaults to SwingChord at 16pt, regular style
Unzip and copy to:
C:\ProgramData\Noteworthy Software\nwc2\UserPlugins

Also
"Convert Text to ChordPlay.lp.lua.zip" moved to here - no changes.
Unzip and copy to:
C:\Program Files (x86)\Noteworthy Software\NoteWorthy Composer 2\AutoUserTools
so that it mirrors the original installation of "Convert Text to ChordPlay.nw.lua"
You may choose to locate it elsewhere but I suspect that may generate some confusion.

Both user tools will position the object so the textual portion appears where the text object was, provided it was sized at 16pt.

USE AT YOUR OWN RISK - NO warranties apply. ;)

Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2022-02-12 02:09 am
I was about to post the same observation that you made, re: changing o:Get('Text','Text') to o:Get('Text'). Something must have changed in the user tools API that caused a change in behavior of the Get() function.  This question would be best answered by @NoteWorthy Online , if he sees these messages.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-12 03:53 am
I was about to post the same observation that you made, re: changing o:Get('Text','Text') to o:Get('Text'). Something must have changed in the user tools API that caused a change in behavior of the Get() function.  This question would be best answered by @NoteWorthy Online , if he sees these messages.
Cool.  Good to know I seem to be on the right track
I've attached my updated version in reply #38 above, as well as moving my edited version of Noteworthy's conversion tool that appears in .automatic to the same reply so they're together.

<edit> One thing has just come to mind.  I'm using the 2.8 beta, not 2.75a - could this explain the putative API change?
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-12 01:18 pm
Lawrie,
now that I'm a bit more awake I beg your pardon. Things are exactly as you described.
I completely forgot the AutoUserTools directory with its files, including Convert Text to ChordPlay.nw.lua.
Ad I always used it thinking it was .plugins->ChrodPlay.nw: Convert Text Chords.
Thank you for making things straight.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-12 02:12 pm
Looking in my files, I discovered this (that obviously I read and immediately forgot long ago):
Quote
Allows custom key sequences, which allows it to be used to retime grace notes:
Code: (nwc) [Select · Download]
!NoteWorthyComposerClip(2.74974,Single)
|Clef|Type:Treble
|RestChord|Dur:8th|Opts:Stem=Down,HideRest|Dur2:4th|Pos2:-2
|User|ChordPlay.nw|Pos:6|Name:C|Span:3|Keys:0|Octave:5|Visibility:Never
|Rest|Dur:16th|Opts:Stem=Down|Visibility:Never
|User|ChordPlay.nw|Pos:8|Name:E|Span:2|Keys:0|Octave:5|Visibility:Never
|Rest|Dur:16th|Opts:Stem=Down|Visibility:Never
|Note|Dur:16th,Grace|Pos:-6^|Opts:Stem=Up,Beam=First,Muted
|Note|Dur:16th,Grace|Pos:-4^|Opts:Stem=Up,Beam=End,Muted
|Chord|Dur:4th|Pos:-6,-4,-2
|Note|Dur:4th|Pos:-2
|Note|Dur:4th|Pos:-2
!NoteWorthyComposerClip-End
Not the simplest to use, but good to know!
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-12 02:21 pm
Looking in my files, I discovered this (that obviously I read and immediately forgot long ago):
<snip>
Not the simplest to use, but good to know!
Ah yes, I recently saw this under RickG's name.  His legacy is huge.  I don't think anyone else has reached his level of control over NWC.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-13 10:36 am
Lawrie,
meditating about the topic (I'm slow...), I see that with your changes to the defaults you broke the backward compatibility, hence it's far better to avoid using the same name for the tool. And this is a strong argument in favor of Mike's suggestion.,

Then I'm wondering why you want to switch using the ChordPlay plugin.
I'm using it because it automatically translates the chords written in plain letters to *Chords fonts, but it looks like your "text" entries are already in *Chords fonts.
Then I use it because (now), in case of need, I can easily switch between "Solfeggio" or not. But I think this is not of your interest.
Then I use it because it automatically transposes the chords at once with the notes. Do you care about it?
Then I never used it for that, but you can also make it actually play the chords. Do you?
... But then, of course, you're asolutely free to do whatever you prefer! :D

N.B. Possibly, since your text entries are already in *Chords fonts, a simple change of object type (via GlobalMod or perhaps Change object type) from text to chordplay could have fit the bill.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-13 11:26 am
Hi Flurmy,
If you check my reply #32 I ended up implementing Mike's suggestion a couple of days ago (actually the same day I started fiddling), and the file attachments (now on reply #38) have the name change so they no longer need to replace the .nw versions.  To be honest, I originally only did that to:
a) follow your lead ;) and
b) so I could use the default change chord .automatic tool from .nw (which I did modify but would still have worked correctly aside from the Pos change)

When I updated the ID to "lp" only 1, or was it 2, people had downloaded the wrongly named versions.  I don't know who of course, but I'd guess perhaps Mike and/or yourself.  You both are well able to fix the problems that might otherwise have been created.

Of course I can't officially use the "lp" ID as I don't know how to successfully request registration, or whatever it is, but I figure that "lp" is what I'd end up with.

Hence the newer versions all refer to ChordPlay.lp, not ChordPlay.nw - in both the object and the separate user tool (which also has the .lp ID).

The primary reason I'm actively changing over is the inbuilt transposition facility.  While I can transpose text chords with the Transpose_Text_Chords user tool from Andrew Purdam, by using ChordPlay I have one less step to worry about.

This is useful as I regularly need to transpose for C, Bb, Eb, and the occasional F, instruments. 
When I write an arrangement or compose a piece I usually do everything in concert pitch, then transpose as required once it's all finished.  It is far, far easier to see chordal relationships if everything is in concert when writing.  And much faster (for me) to enter chords as text and then use the user tool to convert to ChordPlay objects.

Additionally. the playback feature has already significantly enhanced the sound of my test file.  I expect this will be reflected in other files as I extend my usage. 
It would be nice if, when the conversion tool is changing a text chord to a ChordPlay object, it could (perhaps optionally) automatically take into account the number of notes/chords on a staff until the next occurrence of a text chord to be converted and instruct ChordPlay to span that number of notes.  This might not be a perfect solution, but it would reduce labour a lot if one wanted to implement the playback feature.

I think using Global_Mod to change from text object to user object would not be very successful, if it's even possible at all.  I haven't investigated that.
ChangeOjectType does not recognise a text entry as an object.  The code specifically confirms that the object type is "user".
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-13 02:19 pm
Lawrie,
I'm not blaming you of anything. I saw you changed the name.
I simply discovered that in this case it must be done for a sound reason.
N.B. Remember that I haven't an ID either.  :D

The primary reason I'm actively changing over is the inbuilt transposition facility.  While I can transpose text chords with the Transpose_Text_Chords user tool from Andrew Purdam, by using ChordPlay I have one less step to worry about.
A-ha. So do I, as I wrote.

When I write an arrangement or compose a piece I usually do everything in concert pitch, then transpose as required once it's all finished.  It is far, far easier to see chordal relationships if everything is in concert when writing.
Absolutely agreed!

It would be nice if, when the conversion tool is changing a text chord to a ChordPlay object, it could (perhaps optionally) automatically take into account the number of notes/chords on a staff until the next occurrence of a text chord to be converted and instruct ChordPlay to span that number of notes.  This might not be a perfect solution, but it would reduce labour a lot if one wanted to implement the playback feature.
As I wrote, I didn't use this feature, but your suggestion looks meaningful.

I think using Global_Mod to change from text object to user object would not be very successful, if it's even possible at all.  I haven't investigated that.
ChangeOjectType does not recognise a text entry as an object.  The code specifically confirms that the object type is "user".
Which means that I'm wrong. Sorry.
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2022-02-24 04:52 pm
<edit> One thing has just come to mind.  I'm using the 2.8 beta, not 2.75a - could this explain the putative API change?
This is a somewhat tardy reply, but I have just confirmed that the
Code: (lua) [Select · Download]
o:Get('Text','Text')
vs.
Code: (lua) [Select · Download]
o:Get('Text')
issue is specific to the 2.8 beta.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-24 09:58 pm
This is a somewhat tardy reply, but I have just confirmed that the
Code: (lua) [Select · Download]
o:Get('Text','Text')
vs.
Code: (lua) [Select · Download]
o:Get('Text')
issue is specific to the 2.8 beta.

Thanks Mike, my reply #38 edited to reflect this.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-25 06:48 pm
Quote
WSH can run scripts written in VBScript and Jscript (java).
I'm ignorant, so I'm sorry for being picky, but my friends always told me javascript has almost nothing to do with java.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-25 10:48 pm
I'm ignorant, so I'm sorry for being picky, but my friends always told me javascript has almost nothing to do with java.
mea culpa.  Corrected pdf sent to Richard.

I did some reading and it seems your friends are quite correct.  I think I'll just take this moment to remind people that I am not a programmer ;)
One should never ass-u-me anything  :))
Title: Re: ChordPlay.nw
Post by: Flurmy on 2022-02-26 11:24 am
Lawrie, you're in good company. Like many, I was fooled too.
Who did choose that name?  ::)
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2022-02-26 01:17 pm
Lawrie, you're in good company. Like many, I was fooled too.
Who did choose that name?  ::)
My reading revealed the following:
Netscape created a language they originally called LiveScript.  Its purpose was to be embedded into HTML to enable interactivity.  The interpreter was built into Netscape's Navigator.  By the time it was officially released it was renamed JavaScript, probably to try and benefit from Javas popularity at the time.  There are, apparently, some deliberate syntactical similarities with Java.

At about the same time Sun Microsystems released Java (originally Oak, then Green and finally Java).  The initial idea for its development was to enable interactivity for TV's, but that never eventuated.  Later it became a server side language.  Sun, and thus Java are now owned by Oracle Corp..  They also own the JavaScript trademark.

Of course, this is all off topic for this thread ;)
Title: Re: ChordPlay.nw
Post by: ChapmanDA on 2023-10-02 07:59 pm
I use ChordPlay.nw  a lot. It's so easy to transpose, with the chords being changed along with the notes on the staff.

Sometimes it's useful to be able to change the key of the chords for guitarists using a capo to turn hard chords like E flat into easy ones. So how to transpose the chords without transposing the notes?

I've coded the reverse in a modified version of ChordPlay.nw.nwcuser.lua (taken from version 1.6 at the top of this thread). It provides the option to disable chord transposition. Thus you can create capo chord version by first transposing the notes and chords down, then turn off chord transposition and transpose the staff back.

I've added an option to the right click menu to enable (default) or disable chord transposition. Use it on any chord object and it works on all of them - it's not a per-object setting.

I can't attach files but you'll find it here (https://davidc.me.uk/NWC/).

I'm not a Lua programmer, so my code may be clunky - I just followed used what was there with a bit of background reading about the API. If someone wants to pick this up and make it better, please do. Hope somebody else finds it useful.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2023-10-03 07:51 am
I seemed to remember there was a user tool to transpose chords (and only chords).
I was right: adp_TransposeChords.php.
But it's old and only transposes chords entered as text items.
Maybe the best thing would be to update it than to perform all the steps you listed.
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2023-10-03 10:16 am
I show that there have been a couple of custom variations of Chordplay.nw created by members here:
Most of the changes were made in a backward-compatible way, such that the original object's functionality is still present,

Anyway, there is a facility to embed a user tool within the object itself, so that installing the object automatically adds the tool to NWC's menus. The Chordplay objects all include a tool that converts text chords to ChordPlay objects, but an object can have multiple user tools. Adding a Transpose tool should not be too difficult, I would think. But I am most familiar with object coding; tools were never my strong point.

It would be nice if there were a way to merge most, if not all, of the changes back to the parent object.  But that is an aside.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2023-10-03 10:35 am
But I am most familiar with object coding; tools were never my strong point.
Tools are much simpler than objects; you're not tied at all to the NWC APIs.
But the tool adp_TransposeChords.php is in php and, beside never having really grasped php, I'm now... well, rusty!  :D

It would be nice if there were a way to merge most, if not all, of the changes back to the parent object.  But that is an aside.
Mine, beside being backward-compatible, includes all the Lawrie's additions!
We are already there.
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2023-10-03 12:47 pm
Mine, beside being backward-compatible, includes all the Lawrie's additions!
We are already there.
The copy I have of Chordplay.fl is dated 8/20/2021, and has a significant number of differences with Chordplay.lp. I just tried to update it to the forum, and it tells me there are no updates available. Did you ever post it in the Object Plugins forum? You do have an official ID now, so you can do this. That way, everyone else will get an updated version when you post changes.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2023-10-03 07:38 pm
I'll try to sort it out.   :-[

Lawrie's version implements my changes, not the other way round. Sorry, Lawrie!
But I made some more additions on a newer but unpublished version building on Lawrie's work, and this was what fooled me.

Unpublished because basically I added more different ways to write chords (in Europe, or at least in Italy, we often use chords written quite differently from what was expected by the original plugin).
Furthermore, I added the conversion text-> chordplay also for "solfeggio style" chord names, but it seems there is little request for "solfeggio style" tools.

I didn't change the plugin name because, as I wrote, my updates should be perfectly backward compatible.
Unless, of course, you enjoyed the bugs that are corrected!  :D
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2024-03-25 02:38 am
Hi peoples, especially @Flurmy and @Mike Shawaluk,
do any of you regularly use Chordplay, and if so, do you use it to create chords for transposing instruments?
Today I tried to do something a little different to what I usually do* in that I activated playback for chordplay chords on a staff for a Concert pitch instrument.  This has always been fine.
Then I copied that entire staff to new one and transposed it for a Bb instrument (+2 semitones) with playback transposition checked.  The cacophony was dreadful.  The staff was playing back at concert pitch, as it should, BUT the Chordplay objects were not.  Unless I'm badly mistaken it appears that Chordplay ignores the staff playback transposition.

Has anybody else noticed this?  Or do I have something very unusual going on.  This enquiring mind would like to know.

FYI I also tried my unedited copy of Chordplay.nw and it was the same.

* I regularly create charts for several transposing instruments that are identical except for the transpositions (C, Bb and Eb usually) but this is the first time I activated playback of the Chordplay objects on all staves.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2024-03-25 09:49 am
Of course, you're right. Chordplay ignores the staff transposition.

I regularly create charts for several transposing instruments that are identical except for the transpositions (C, Bb and Eb usually) but this is the first time I activated playback of the Chordplay objects on all staves.
Very often I make use of Chordplay but very rarely, if ever, used the play option, so I was unaware of this problem.

I have to investigate what can be done. I think it can be corrected.
Maybe Mike already knows a solution...
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2024-03-25 12:08 pm
Thanks for the confirmation mate.

It isn't important enough to me to warrant any real effort to correct, I was more wanting confirmation that I hadn't lost what's left of my tiny, little mind  :))
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2024-03-25 01:27 pm
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.
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2024-03-25 01:50 pm
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)
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2024-03-25 01:57 pm
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 :)
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2024-03-25 02:31 pm
Thanks Mike,
works a treat once I found the code section... and made ALL the changes  ::)

I note that in my installation the function is called this:
play_ChordPlay(t)

instead of this:
play_ChordPlay()

Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2024-03-25 02:44 pm
I note that in my installation the function is called this:
play_ChordPlay(t)

instead of this:
play_ChordPlay()
I omitted the parameter when I typed the name of the function in my post, but as you observed, it needs to be there :)
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2024-03-25 09:29 pm
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.
Title: Re: ChordPlay.nw
Post by: Lawrie Pardy on 2024-03-25 10:57 pm
If it's easy to implement the option for GuitarChord.ms then it's probably worth doing.

I'm also inclined to agree that in this case the new parameter should be unchecked by default as IMHO having playback match the transposition is far more likely to be desired than otherwise.

In fact, I can't think of a scenario where object playback should not include staff transposition, it makes no sense to me.
Title: Re: ChordPlay.nw
Post by: Flurmy on 2024-03-25 11:26 pm
In fact, I can't think of a scenario where object playback should not include staff transposition, it makes no sense to me.
Ditto
Title: Re: ChordPlay.nw
Post by: Mike Shawaluk on 2024-03-26 01:01 am
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.