/[svn]/doc/docbase/instrument_scripts/nksp/01_nksp.html
ViewVC logotype

Diff of /doc/docbase/instrument_scripts/nksp/01_nksp.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3061 by schoenebeck, Fri Dec 16 17:20:55 2016 UTC revision 3062 by schoenebeck, Fri Dec 16 18:25:17 2016 UTC
# Line 933  end on Line 933  end on
933      <p>      <p>
934        We already came across various built-in functions, which you may call        We already came across various built-in functions, which you may call
935        by your scripts to perform certain tasks or behavior which is already        by your scripts to perform certain tasks or behavior which is already
936        provided for you by the sampler. When working on larger scripts, you        provided for you by the sampler. NKSP also allows you to write your
937          own functions, which you then may call from various places of your
938          script.
939        <p>  
940        </p>
941          When working on larger scripts, you
942        may notice that you easily get to the point where you may have to        may notice that you easily get to the point where you may have to
943        duplicate portions of your script code, since there are certain things        duplicate portions of your script code, since there are certain things
944        that you may have to do again and again in different parts of your script.        that you may have to do again and again in different parts of your script.
945        Software developers usually try to avoid such code duplications to        Software developers usually try to avoid such code duplications to
946        keep the overall amount of code as small as possible, since it would        keep the overall amount of code as small as possible, since the
947          overall amount of code would bloat quickly and would
948        make the software very hard to maintain. One way for you to avoid such        make the software very hard to maintain. One way for you to avoid such
949        script code duplications with NKSP is to write so called <i>User Functions</s>.        script code duplications with NKSP is to write so called <i>User Functions</s>.
950      </p>      </p>
# Line 964  end on Line 970  end on
970      </code>      </code>
971      <p>      <p>
972        This script will run an endless loop for each note being triggered.        This script will run an endless loop for each note being triggered.
973        Every <code>200ms</code> it will turn the volume alternatingly down and        Every <code lang="none">200ms</code>. It will turn the volume alternatingly down and
974        up to create the audible stuttering effect. After each <code>wait()</code>        up to create the audible stuttering effect. After each <code>wait()</code>
975        call it calls <code>event_status($EVENT_ID)</code> to check whether        call it calls <code>event_status($EVENT_ID)</code> to check whether
976        this note is still alive, and as soon as the note died, it will stop        this note is still alive, and as soon as the note died, it will stop
977        execution of the script instance by calling <code>exit()</code>. The latter        execution of the script instance by calling <code>exit()</code>. The latter
978        is important in this case, because otherwise the script instances would        is important in this example, because otherwise the script instances would
979        continue to run in this endless loop forever, even after the respectives        continue to run in this endless loop forever, even after the respectives
980        notes are gone. Which would let your CPU usage to increase with every note.        notes are gone. Which would let your CPU usage to increase with every new note.
981        This behavior of the sampler is not a bug, it is intended, since there may        This behavior of the sampler is not a bug, it is intended, since there may
982        also be cases where you want to do certain things by script even after the        also be cases where you want to do certain things by script even after the
983        respective notes are dead and gone. However as you can see, that script is        respective notes are dead and gone. However as you can see, that script is
# Line 997  end on Line 1003  end on
1003      </code>      </code>
1004      <p>      <p>
1005        The script became in this simple example only slightly smaller, but it also        The script became in this simple example only slightly smaller, but it also
1006        became easier to read. And in practice, with a more complex script, you can        became easier to read and behaves identically to the previous solution.
1007          And in practice, with a more complex script, you can
1008        reduce the overall amount of script code a lot this way. You can choose any        reduce the overall amount of script code a lot this way. You can choose any
1009        name for your own user functions, as long as the name is not already        name for your own user functions, as long as the name is not already
1010        reserved by a built-in function. Note that for calling a user function,        reserved by a built-in function. Note that for calling a user function,

Legend:
Removed from v.3061  
changed lines
  Added in v.3062

  ViewVC Help
Powered by ViewVC