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!
Plugin makers: How did you learn?
Moderators: Peter Thomsen, miker
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.
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
trombonist, pianist, conductor / Recklinghausen, Germany
-
- Posts: 181
- Joined: Tue Jul 03, 2018 12:29 am
- Finale Version: Finale 26
- Operating System: Mac
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
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
- motet
- Posts: 8231
- Joined: Tue Dec 06, 2016 8:33 pm
- Finale Version: 2014.5,2011,2005,27
- Operating System: Windows
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.
- elbsound
- Posts: 196
- Joined: Wed Aug 03, 2016 10:06 am
- Finale Version: Finale 2014.5
- Operating System: Windows
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
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