Plugin makers: How did you learn?

General notation questions, including advanced notation, formatting, etc., go here.

Moderators: Peter Thomsen, miker

thehalleyyoung
Posts: 5
Joined: Tue May 15, 2018 10:15 pm
Operating System: Mac

Post by thehalleyyoung » Sat Oct 13, 2018 8:17 pm

I'm interested in creating a plugin for Finale to playback imported musicxml documents with quarter tones (viewtopic.php?f=6&t=17056). I'd need to loop over every note, calculate that note's alteration based on its xml value, and reassign playback based on that calculation. I have a plugin which does this in MuseScore, and it's pretty trivial, but I have no idea how to go about making my first plugin that does more than just record a sequence of steps.

The documentation for FinaleScript compared to most scripting languages seems very minimal, unless I'm missing something. How did you go about learning to do advanced things in FinaleScript, if that is possible? Is there a site with non-trivial examples or more documentation?

Many thanks!


User avatar
HaraldS
Posts: 229
Joined: Mon Dec 19, 2016 11:46 am
Finale Version: 25.5
Operating System: Windows

Post by HaraldS » Mon Oct 15, 2018 10:54 pm

FinaleScript can only do a sequence of menu calls with hard-wired parameters. No loops, no logic. Not suitable for your goal.

Full-featured plugins at the moment can only be done by those few developers, who have been equipped with the full Finale PDK. No option for new developers.

The only way to go is to use and learn JWLua, which is a neat and quite strong scripting language with which you can access most PDK functions. I've only done notation content manipulation with it, not playback manipulation, but just try it.
Finale 3.0-25.5, German edition, Windows 7
trombonist, pianist, conductor / Recklinghausen, Germany

Nick Mazuk
Posts: 181
Joined: Tue Jul 03, 2018 12:29 am
Finale Version: Finale 26
Operating System: Mac

Post by Nick Mazuk » Tue Oct 16, 2018 12:41 am

Agreed. Go with JW Lua. I've used it quite a bit myself.

You won't need to learn a whole new language if you can already code. You will need to learn the basics of lua, though if you already know another language, that should take 10-15 minutes.

By far the hardest part is learning the available classes. And at first, it is not uncommon to search through 5-10 classes to find what you want. Because the documentation is quite minimal. I'd recommend looking at examples first and then figuring out what they do.

Here's the best place to get started:

http://jwmusic.nu/jwplugins/wiki/doku.php?id=jw_lua
Nick

User avatar
motet
Posts: 8231
Joined: Tue Dec 06, 2016 8:33 pm
Finale Version: 2014.5,2011,2005,27
Operating System: Windows

Post by motet » Mon Oct 22, 2018 8:52 pm

If you can find a sample JW Lua script that's similar to what you need, it can be straight-forward. Otherwise, I've found it arcane, but probably still easier than using the Finale PDK. There is a JW Lua mailing list where you can ask for help.

User avatar
elbsound
Posts: 196
Joined: Wed Aug 03, 2016 10:06 am
Finale Version: Finale 2014.5
Operating System: Windows

Post by elbsound » Fri Oct 26, 2018 4:16 pm

If you want to learn JW Lua, join the JW Lua mailing and analyze the existing JW Lua scripts.
Here is a collection of links to nearly all scripts that have been posted somewhere in the last 4 years:
https://elbsound.studio/jw-lua-scripts.php

Post Reply