/[svn]/doc/docbase/instrument_scripts/nksp/reference/functions/nksp_ignore_event_function.html
ViewVC logotype

Contents of /doc/docbase/instrument_scripts/nksp/reference/functions/nksp_ignore_event_function.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3209 - (show annotations) (download) (as text)
Thu May 25 12:08:04 2017 UTC (6 years, 10 months ago) by schoenebeck
File MIME type: text/html
File size: 2908 byte(s)
* NKSP: Added examples for ignore_event() and ignore_controller().

1 <html>
2 <head>
3 <meta name="author" content="Christian Schoenebeck">
4 <title>ignore_event() function</title>
5 <meta name="description" content="Drops the given event.">
6 </head>
7 <body>
8 <h1>ignore_event()</h1>
9 <p>
10 Drops the given event and thus prevents the supplied event to be further
11 processed by the sampler. You can use this function i.e. to filter out
12 MIDI note on and MIDI note off events, before they are causing new notes
13 to be triggered, or to drop certain MIDI control change events before
14 they can cause any sound to be changed.
15 </p>
16 <p>
17 Dropping events with this function only succeeds if the event just
18 "recently" occurred. That effectively means you should drop the event in
19 the respective event handler before any <code lang="nksp">wait()</code> calls, and before
20 entering any loops that may execute your script for a very long time.
21 Because in both cases the sampler may suspend your script for a certain
22 amount of time and once your script got resumed, the respective event may
23 already have entered the sampler's regular event processing chain and
24 thus can no longer be dropped.
25 </p>
26 <p>
27 There is also an <code>ignore_controller()</code> function,
28 intended for explicitly dropping control change events. With NKSP you
29 you can also use <code>ignore_event()</code> though to
30 drop control change events. So <code>ignore_controller()</code>
31 merely exists due to compatibility reasons with KSP.
32 </p>
33
34 <h3>Function Prototype</h3>
35 <p/>
36 <code>
37 ignore_event(??event-id??)
38 </code>
39
40 <h3>Arguments</h3>
41 <table>
42 <tr>
43 <th>Argument Name</th> <th>Data Type</th> <th>Description</th>
44 </tr>
45 <tr>
46 <td><code>??event-id??</code></td>
47 <td>Event ID Number or Event ID Array</td>
48 <td>Event ID(s) of the MIDI event(s) to be dropped.<br>
49 [required]</td>
50 </tr>
51 </table>
52
53 <h3>Return Value</h3>
54 <p>None.</p>
55
56 <h3>Examples</h3>
57 <p>
58 The following example implements a simple split point behavior for your sound.
59 It only plays notes starting at C5, all note-on events below C5 will be dropped.
60 <p>
61 <code>
62 on init
63 { MIDI note number for "C5" }
64 declare const $splitPoint := 60
65 end on
66
67 on note
68 if ($EVENT_NOTE &lt; $splitPoint)
69 { $EVENT_ID is a built-in variable which always reflects
70 the ID of the event which caused the execution of this
71 specific event handler instance, i.e. here it reflects
72 the respective MIDI note-on event }
73 ignore_event($EVENT_ID)
74 end if
75 end on
76 </code>
77
78 <note>
79 Passing an array of event IDs is only supported by NKSP. If you want
80 to keep compatibility to KSP, then you should only pass a single
81 event ID to this function.
82 </note>
83
84 </body>
85 </html>

  ViewVC Help
Powered by ViewVC