Skip to main content
Topic: About Object Plugins (Read 17535 times) previous topic - next topic

About Object Plugins

Object plugins allow a variety of custom functionality to be added to your NoteWorthy Composer file. Each Object can be subclassed using specially crafted scripts that can establish new behavior for each object type. An introductory video is available on our YouTube channel:

Introduction to Manage Objects Video


Prerequisite

Objects are a new feature in NoteWorthy Composer 2.75.



Installing a New Object Plugin

Objects are automatically loaded by NoteWorthy Composer when they are placed into the Object Plugins folder. This folder is set from Tools, Options, Folders, and by default uses a standard Windows location.

You can automatically download and install new object plugins published here by using the Tools, Manage Objects command, which opens with Ctrl+J. For new objects, you should generally open the sample's object clip first. Click the Options button, then Check online sources. This will identify any plugin source code that can be downloaded or upgraded from the forum. You can right click, or double click, any object types that you would like to install.

If you are using Windows Vista or later, you can also copy and paste the following URL into an Explorer or Open/Save window to go straight into the default location for these plugins:

Code: [Select · Download]
%ProgramData%\Noteworthy Software\nwc2\UserPlugins


Contributing

If you want to share an object plugin that you have created, then you can request post access to this area. Each object plugin must include a unique author designation, which is called its NWC Plugin-ID. Please indicate your preferred Plugin-ID with any request for posting access to this forum.

This forum board is intended to be used exclusively for posting new object plugins. The following rules apply:

  • All topics must publish at least one object plugin
  • Object plugins may only be attached in the primary/top message of each topic
  • All object types must be named with an official Plugin-ID, or .test if you are still in the development phase
  • The object's Plugin-ID must match your profile's Plugin-ID or .test
  • The title of a topic should indicate the object name
  • You should provide a sample nwctxt clip or file that includes your object

Any topic that is found to not follow these rules will be moved or deleted.

Watching for new user object plugins via RSS

Reply #1
If you want to watch for new object plugins via RSS, the following link is one way to accomplish this task:

Code: (link) [Select · Download]
https://forum.noteworthycomposer.com/?action=.xml;type=rss2;sa=news;board=14;limit=5

Rules Change

Reply #2
There have been two recent rule changes:

  • this area allows multiple object plugins per topic
  • this area allows .test object plugins

Re: About Object Plugins

Reply #3
Bug: the help of the plugins stops as soon as it finds a '@'.
There are many examples but, to stay on an official one, look at MIDIParm.nw.

Re: About Object Plugins

Reply #4
I'm not sure I follow. Can you give an example of what is not working correctly? All of the help entries for MIDIParm.nw work for me.

Re: About Object Plugins

Reply #5
Quote
--[[-----------------------------------------------------------------------------------------
MIDIParm.nw <http://nwsw.net/-f9096>

This object plugin is used to send MIDI RPN and NRPN changes. If you do not want this to show
when printing, then you will need to hide the object.

@ShowAs
This can be used to change what is displayed on the staff.
@Type
This controls which type of parameter change will be sent during play back.
@MSB
This is the program number's MSB MIDI value.
@LSB
This is the program number's LSB MIDI value.
@DataMSB
This is the data value's MSB MIDI value. Set this to -1 to prevent any data value from being sent.
@DataLSB
This is the data value's LSB MIDI value. Set this to -1 to prevent any data LSB value from being sent.

--]]-----------------------------------------------------------------------------------------
And look at the attache screenshot what I get.

Re: About Object Plugins

Reply #6
I think what you are seeing is intentional, and by design. Only the top part is supposed to be displayed in the "Insert Object" dialog. The "@" entries are for the context sensitive help when the object properties dialog is open. If you click the "?" in the title bar, then click on one of the fields in the property dialog, it will display the appropriate text in a hover window.

Re: About Object Plugins

Reply #7
The "@" entries are for the context sensitive help when the object properties dialog is open If you click the "?" in the title bar, then click on one of the fields in the property dialog, it will display the appropriate text in a hover window.
???
Thank you for pointing this out, Mike!
I really never noticed the "?" in the title bar, let alone to think about follow its click with a  click on one of the fields in the property dialog,

Re: About Object Plugins

Reply #8
I just discovered that, if you call a plugin with a name starting with "fake", the embedded user tool will execute, but its result will be discarded.
More specifically, it seems that in that case the save() metod does nothing.
Go figure...

Re: About Object Plugins

Reply #9
Hm ... I just tried it with a copy of my "PrintConfiguration" object, which has two User Tools; and where the if-nwcut section ends with
Code: [Select · Download]
  score:save()
  return
I copied it to "fakePrintConfiguration" and tried it. It did work (i.e. save); the only thing is, I always got that popup that showed me STDIN, STDOUT, STDERR. But OKing that, it worked (when saving the score, the NWCTXT file actually changed as expected). Only if you Cancel that popup (e.g. with Esc), nothing happens. (I have a 2.75a.2)

H.M.