/[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 3062 by schoenebeck, Fri Dec 16 18:25:17 2016 UTC revision 3191 by schoenebeck, Fri May 19 15:19:37 2017 UTC
# Line 11  Line 11 
11        your own instrument scripts in short time. It concentrates on describing        your own instrument scripts in short time. It concentrates on describing
12        the script language. If you rather want to learn how to modify and        the script language. If you rather want to learn how to modify and
13        attach scripts to your sounds, then please refer to the gigedit manual for        attach scripts to your sounds, then please refer to the gigedit manual for
14        <a href="gigedit_scripts.html">how to manage instrument scripts with gigedit</a>.        <a href="gigedit_scripts.html">how to manage instrument scripts with gigedit</a>
15          for Gigasampler/GigaStudio format sounds, or refer to the SFZ opcode
16          <code lang="sfz">script</code> for attaching NKSP scripts with
17          SFZ format sounds.
18      </p>      </p>
19    
20      <h3>At a Glance</h3>      <h3>At a Glance</h3>
# Line 251  end on Line 254  end on
254      <p>      <p>
255        The left hand side's <code>??variable-name??</code> is an arbitrary name        The left hand side's <code>??variable-name??</code> is an arbitrary name
256        you can chose for your variable. That name might consist of English        you can chose for your variable. That name might consist of English
257        letters A to Z (lower and upper case) and the underscore character "<code>_</code>".        letters A to Z (lower and upper case), digits (<code>0</code> to <code>9</code>),
258          and the underscore character "<code>_</code>".
259        Variable names must be unique. So you can neither declare several variables        Variable names must be unique. So you can neither declare several variables
260        with the same name, nor can you use a name for your variable that is        with the same name, nor can you use a name for your variable that is
261        already been reserved by <i>built-in variables</i>.        already been reserved by <i>built-in variables</i>.
# Line 768  on note Line 772  on note
772        @postfix := "nd"        @postfix := "nd"
773      case 3      case 3
774        @postfix := "rd"        @postfix := "rd"
775    end if    end select
776    
777    message("This is the " & $numberOfNotes & @postfix & " note triggered so far.")    message("This is the " & $numberOfNotes & @postfix & " note triggered so far.")
778  end on  end on
# Line 809  on note Line 813  on note
813      case 3      case 3
814        message("Third note was triggered!") { Will never be printed ! }        message("Third note was triggered!") { Will never be printed ! }
815        exit        exit
816    end if    end select
817    
818    message("Wow, already the " & $numberOfNotes & "th note triggered.")    message("Wow, already the " & $numberOfNotes & "th note triggered.")
819  end on  end on
# Line 848  on note Line 852  on note
852      case 1 to 99      case 1 to 99
853        message("Less than 100 notes triggered so far")        message("Less than 100 notes triggered so far")
854        exit        exit
855    end if    end select
856    
857    message("Wow, already the " & $numberOfNotes & "th note triggered.")    message("Wow, already the " & $numberOfNotes & "th note triggered.")
858  end on  end on
# Line 970  end on Line 974  end on
974      </code>      </code>
975      <p>      <p>
976        This script will run an endless loop for each note being triggered.        This script will run an endless loop for each note being triggered.
977        Every <code lang="none">200ms</code>. It will turn the volume alternatingly down and        Every <code lang="none">200ms</code> it will turn the volume alternatingly down and
978        up to create the audible stuttering effect. After each <code>wait()</code>        up to create the audible stuttering effect. After each <code lang="nksp">wait()</code>
979        call it calls <code>event_status($EVENT_ID)</code> to check whether        call it calls <code>event_status($EVENT_ID)</code> to check whether
980        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
981        execution of the script instance by calling <code>exit()</code>. The latter        execution of the script instance by calling <code>exit()</code>. The latter
982        is important in this example, because otherwise the script instances would        is important in this example, because otherwise the script execution instances would
983        continue to run in this endless loop forever, even after the respectives        continue to run in this endless loop forever, even after the respectives
984        notes are gone. Which would let your CPU usage to increase with every new note.        notes are gone. Which would let your CPU usage to increase with every new note
985          and would never decrease again.
986        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
987        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
988        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

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

  ViewVC Help
Powered by ViewVC