trandoductin wrote:
I thought using predefined procedures are good because if RobA updates his procedure with a newer version, I don't have do another cut and paste, unless of course parameters changes.
Well, if your script is dependent on another coder's script, your script is always subject to breaking anytime an update is made to the other script. The stability and maintenance schedule of your script is now in the hands of someone else.
There are other support issues, as well. You now have to deal with installation problems and release version mismatches between the two scripts/plug-ins, which can be especially problematic when dealing with python and binary plug-ins as dependencies. For example, you might not want to force a user to install the python version of layerFX, just to get the inner shadow function being used in your script. They might already be using a different scheme script to provide that functionality.
The scenario exist where a user has Script A Ver1. The user also has Script B, which is dependent on Script A Ver1. You release Script C, which is dependent on Script A Ver2. The user can't have both Script A Ver1 & Ver2 installed. Script B development has been abandoned, but the user really needs Script B, so has to stick with Script A Ver1. You can see where all this is going and how problems can arise when 3rd party scripts are dependent on other 3rd party scripts.
These are some of the reasons that as a general rule, I avoid 3rd party supported scripts/plug-ins as dependencies.
On a related note, there are also the issues with calling a
script-fu script interactively from another script-fu script.
Btw- The avatar is not my creation. It's a PD image I found on a
Russian Guitar Site.