some kind of interesting new plugins

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

some kind of interesting new plugins

Bob Zawalich-3
I have recently put these plugins on the download page, and I think they
have some interesting details

*Set Space Before First Note In Bar (category Engravers' Tools)
*Save Or Restore Selection (category Selection)
*Browse Selected Objects (category Navigation)

Set Space Before First Note In Bar is a subset of the Note Spacing plugin,
and it changes the Note Spacing setting Gap Before First Note In Bar for a
selection, then it respaces the bars, then it resets the original value.
This has the effect of adding more space at the start of a bar to
accommodate ties or symbols or text without requiring the user to respace.
We really only have access that that location at the start of the bar, but
it is often a useful place to add space.

Save Or Restore Selection saves a Selection object in a global sparse array,
so you can save off a filtered selection, edit something, and then restore
the selection. I did something similar with the Clipboards plugin a while
back. It is useful to be able to hold onto objects for an entire session. I
always have to remember to only allocate the sparse array the first time the
plugin comes up, or you keep wiping it out. I find setting a flag
g_fFirstTime = True; in Initialize() a good way to mark the first time
without having to ensure your globals are reset before you publish a plugin.

Browse Selected Objects is pretty awesome. It puts up a list of the objects
in the selection and you can navigate to them while the modal dialog is up.
It lets you save and restore a selection, and you can also call Run Plugins
By Name to run another plugin to act on the bit of the score that is brought
into view. There is a write up  on it at Scoring Notes,
https://www.scoringnotes.com/tutorials/browse-selected-objects/, and  I
really recommend it for anyone who has to deal with a big block of filtered
objects.

When I was working on it I decided to trace my list box, which was quite
large in my test score, and it took a long time to write it out line by
line. So I tried what we have done several times, to write the data out in
large blocks. . In this case I had an array, so I tried tracing
WriteToString(), and that worked great, but it included the array name and
quotes on each entry. A user would probably need to edit it for anything
more than a checklist.  I used JoinStrings() to combine the entries into a
single string, then wrote that out all at once, and what had taken several
minutes (you know how the trace window slows down as it fills) is now done
in seconds.

Even if you don't start with an array, you can set up your traces to load
the strings into an array, and flush it if it reaches a certain size, and
then flush at the end, and it will likely save tons of time. Writing to text
files this way is where I saw big speed improvements earlier. Changing
progress bars to update every 100 time rather than every time can save a
huge amount of time as well. These are savings that are orders of magnitude
of the time a plugin takes to complete, and I have totally saved plugins I
thought were useless with large scores this way, with really no logic
changes required.

Cheers

bob


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com
Reply | Threaded
Open this post in threaded view
|

Re: some kind of interesting new plugins

llorenç Balsach
Thanks Bob!
How to upload a plugin to:
?
I have done one time ago of harmonic-tonal analysis that perhap`s could be useful for other people
Thanks, Best
Llorenç Balsach

2018-07-20 1:16 GMT+02:00 Bob Zawalich <[hidden email]>:
I have recently put these plugins on the download page, and I think they
have some interesting details

*Set Space Before First Note In Bar (category Engravers' Tools)
*Save Or Restore Selection (category Selection)
*Browse Selected Objects (category Navigation)

Set Space Before First Note In Bar is a subset of the Note Spacing plugin,
and it changes the Note Spacing setting Gap Before First Note In Bar for a
selection, then it respaces the bars, then it resets the original value.
This has the effect of adding more space at the start of a bar to
accommodate ties or symbols or text without requiring the user to respace.
We really only have access that that location at the start of the bar, but
it is often a useful place to add space.

Save Or Restore Selection saves a Selection object in a global sparse array,
so you can save off a filtered selection, edit something, and then restore
the selection. I did something similar with the Clipboards plugin a while
back. It is useful to be able to hold onto objects for an entire session. I
always have to remember to only allocate the sparse array the first time the
plugin comes up, or you keep wiping it out. I find setting a flag
g_fFirstTime = True; in Initialize() a good way to mark the first time
without having to ensure your globals are reset before you publish a plugin.

Browse Selected Objects is pretty awesome. It puts up a list of the objects
in the selection and you can navigate to them while the modal dialog is up.
It lets you save and restore a selection, and you can also call Run Plugins
By Name to run another plugin to act on the bit of the score that is brought
into view. There is a write up  on it at Scoring Notes,
https://www.scoringnotes.com/tutorials/browse-selected-objects/, and  I
really recommend it for anyone who has to deal with a big block of filtered
objects.

When I was working on it I decided to trace my list box, which was quite
large in my test score, and it took a long time to write it out line by
line. So I tried what we have done several times, to write the data out in
large blocks. . In this case I had an array, so I tried tracing
WriteToString(), and that worked great, but it included the array name and
quotes on each entry. A user would probably need to edit it for anything
more than a checklist.  I used JoinStrings() to combine the entries into a
single string, then wrote that out all at once, and what had taken several
minutes (you know how the trace window slows down as it fills) is now done
in seconds.

Even if you don't start with an array, you can set up your traces to load
the strings into an array, and flush it if it reaches a certain size, and
then flush at the end, and it will likely save tons of time. Writing to text
files this way is where I saw big speed improvements earlier. Changing
progress bars to update every 100 time rather than every time can save a
huge amount of time as well. These are savings that are orders of magnitude
of the time a plugin takes to complete, and I have totally saved plugins I
thought were useless with large scores this way, with really no logic
changes required.

Cheers

bob


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com
Reply | Threaded
Open this post in threaded view
|

Re: some kind of interesting new plugins

Bob Zawalich-3

Hi Llorenç,

 

You will have to ask Joe Pearson or Sam Butler to add your plugin to the download page. I usually ask Joe

 

[hidden email]

 

It often takes a long or very long time to hear back from them.  I usually ask every couple of weeks or so, but often I do not hear back until it is on the download page.

 

When I send one I always try to minimize the work that would have to be done to evaluate the plugin. So I describe it, say why I think it is useful, and send the plugin file (zipped) with any test scores that I think show it in action. Include a step by step description of how to use and test it.

 

I also send a writeup modeled on the entries in the download page, such as.

 

Add Rehearsal Mark Double Barline

Version 01.05.00
Category Text

Compatible with Sibelius versions 6.2, 7, 7.5, 8, 2018.x

<p>Adds a consecutive Rehearsal Mark and a double barline to the start or end of a selected bar. </p>

<p>By default it will add them to the start of the bar containing the first selected object, but if you run the plugin with no selection, it will bring up a dialog that will let you change whether insertion is at the start of end of the bar. If the bar is at the start of a system, the double barline will appear at the end of the previous system, which is actually the same location. This would be a good plugin to which to assign a shortcut.</p>

 

So that if he agrees to put it on the page he will have all the information he needs to add it to the database. The fewer impediments to installing it the better.

 

Good luck!

 

bob

 

 

From: Plugin-dev <[hidden email]> On Behalf Of llorenç Balsach
Sent: Saturday, July 21, 2018 8:33 AM
To: A mailing list for Sibelius plug-in developers <[hidden email]>
Subject: Re: [Plugin-dev] some kind of interesting new plugins

 

Thanks Bob!

How to upload a plugin to:

?

I have done one time ago of harmonic-tonal analysis that perhap`s could be useful for other people

Thanks, Best

Llorenç Balsach

 

2018-07-20 1:16 GMT+02:00 Bob Zawalich <[hidden email]>:

I have recently put these plugins on the download page, and I think they
have some interesting details

*Set Space Before First Note In Bar (category Engravers' Tools)
*Save Or Restore Selection (category Selection)
*Browse Selected Objects (category Navigation)

Set Space Before First Note In Bar is a subset of the Note Spacing plugin,
and it changes the Note Spacing setting Gap Before First Note In Bar for a
selection, then it respaces the bars, then it resets the original value.
This has the effect of adding more space at the start of a bar to
accommodate ties or symbols or text without requiring the user to respace.
We really only have access that that location at the start of the bar, but
it is often a useful place to add space.

Save Or Restore Selection saves a Selection object in a global sparse array,
so you can save off a filtered selection, edit something, and then restore
the selection. I did something similar with the Clipboards plugin a while
back. It is useful to be able to hold onto objects for an entire session. I
always have to remember to only allocate the sparse array the first time the
plugin comes up, or you keep wiping it out. I find setting a flag
g_fFirstTime = True; in Initialize() a good way to mark the first time
without having to ensure your globals are reset before you publish a plugin.

Browse Selected Objects is pretty awesome. It puts up a list of the objects
in the selection and you can navigate to them while the modal dialog is up.
It lets you save and restore a selection, and you can also call Run Plugins
By Name to run another plugin to act on the bit of the score that is brought
into view. There is a write up  on it at Scoring Notes,
https://www.scoringnotes.com/tutorials/browse-selected-objects/, and  I
really recommend it for anyone who has to deal with a big block of filtered
objects.

When I was working on it I decided to trace my list box, which was quite
large in my test score, and it took a long time to write it out line by
line. So I tried what we have done several times, to write the data out in
large blocks. . In this case I had an array, so I tried tracing
WriteToString(), and that worked great, but it included the array name and
quotes on each entry. A user would probably need to edit it for anything
more than a checklist.  I used JoinStrings() to combine the entries into a
single string, then wrote that out all at once, and what had taken several
minutes (you know how the trace window slows down as it fills) is now done
in seconds.

Even if you don't start with an array, you can set up your traces to load
the strings into an array, and flush it if it reaches a certain size, and
then flush at the end, and it will likely save tons of time. Writing to text
files this way is where I saw big speed improvements earlier. Changing
progress bars to update every 100 time rather than every time can save a
huge amount of time as well. These are savings that are orders of magnitude
of the time a plugin takes to complete, and I have totally saved plugins I
thought were useless with large scores this way, with really no logic
changes required.

Cheers

bob


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com

 


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com
Reply | Threaded
Open this post in threaded view
|

Re: some kind of interesting new plugins

llorenç Balsach
Thanks Bob!

2018-07-22 0:38 GMT+02:00 Bob Zawalich <[hidden email]>:

Hi Llorenç,

 

You will have to ask Joe Pearson or Sam Butler to add your plugin to the download page. I usually ask Joe

 

[hidden email]

 

It often takes a long or very long time to hear back from them.  I usually ask every couple of weeks or so, but often I do not hear back until it is on the download page.

 

When I send one I always try to minimize the work that would have to be done to evaluate the plugin. So I describe it, say why I think it is useful, and send the plugin file (zipped) with any test scores that I think show it in action. Include a step by step description of how to use and test it.

 

I also send a writeup modeled on the entries in the download page, such as.

 

Add Rehearsal Mark Double Barline

Version 01.05.00
Category Text

Compatible with Sibelius versions 6.2, 7, 7.5, 8, 2018.x

<p>Adds a consecutive Rehearsal Mark and a double barline to the start or end of a selected bar. </p>

<p>By default it will add them to the start of the bar containing the first selected object, but if you run the plugin with no selection, it will bring up a dialog that will let you change whether insertion is at the start of end of the bar. If the bar is at the start of a system, the double barline will appear at the end of the previous system, which is actually the same location. This would be a good plugin to which to assign a shortcut.</p>

 

So that if he agrees to put it on the page he will have all the information he needs to add it to the database. The fewer impediments to installing it the better.

 

Good luck!

 

bob

 

 

From: Plugin-dev <[hidden email]> On Behalf Of llorenç Balsach
Sent: Saturday, July 21, 2018 8:33 AM
To: A mailing list for Sibelius plug-in developers <[hidden email]>
Subject: Re: [Plugin-dev] some kind of interesting new plugins

 

Thanks Bob!

How to upload a plugin to:

?

I have done one time ago of harmonic-tonal analysis that perhap`s could be useful for other people

Thanks, Best

Llorenç Balsach

 

2018-07-20 1:16 GMT+02:00 Bob Zawalich <[hidden email]>:

I have recently put these plugins on the download page, and I think they
have some interesting details

*Set Space Before First Note In Bar (category Engravers' Tools)
*Save Or Restore Selection (category Selection)
*Browse Selected Objects (category Navigation)

Set Space Before First Note In Bar is a subset of the Note Spacing plugin,
and it changes the Note Spacing setting Gap Before First Note In Bar for a
selection, then it respaces the bars, then it resets the original value.
This has the effect of adding more space at the start of a bar to
accommodate ties or symbols or text without requiring the user to respace.
We really only have access that that location at the start of the bar, but
it is often a useful place to add space.

Save Or Restore Selection saves a Selection object in a global sparse array,
so you can save off a filtered selection, edit something, and then restore
the selection. I did something similar with the Clipboards plugin a while
back. It is useful to be able to hold onto objects for an entire session. I
always have to remember to only allocate the sparse array the first time the
plugin comes up, or you keep wiping it out. I find setting a flag
g_fFirstTime = True; in Initialize() a good way to mark the first time
without having to ensure your globals are reset before you publish a plugin.

Browse Selected Objects is pretty awesome. It puts up a list of the objects
in the selection and you can navigate to them while the modal dialog is up.
It lets you save and restore a selection, and you can also call Run Plugins
By Name to run another plugin to act on the bit of the score that is brought
into view. There is a write up  on it at Scoring Notes,
https://www.scoringnotes.com/tutorials/browse-selected-objects/, and  I
really recommend it for anyone who has to deal with a big block of filtered
objects.

When I was working on it I decided to trace my list box, which was quite
large in my test score, and it took a long time to write it out line by
line. So I tried what we have done several times, to write the data out in
large blocks. . In this case I had an array, so I tried tracing
WriteToString(), and that worked great, but it included the array name and
quotes on each entry. A user would probably need to edit it for anything
more than a checklist.  I used JoinStrings() to combine the entries into a
single string, then wrote that out all at once, and what had taken several
minutes (you know how the trace window slows down as it fills) is now done
in seconds.

Even if you don't start with an array, you can set up your traces to load
the strings into an array, and flush it if it reaches a certain size, and
then flush at the end, and it will likely save tons of time. Writing to text
files this way is where I saw big speed improvements earlier. Changing
progress bars to update every 100 time rather than every time can save a
huge amount of time as well. These are savings that are orders of magnitude
of the time a plugin takes to complete, and I have totally saved plugins I
thought were useless with large scores this way, with really no logic
changes required.

Cheers

bob


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com

 


_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com



_______________________________________________
Plugin-dev mailing list
[hidden email]
http://lists.avid.com/mailman/listinfo/plugin-dev_lists.avid.com