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

Diff of /doc/docbase/instrument_scripts/nksp/reference/functions/nksp_ignore_controller_function.html

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

revision 2732 by schoenebeck, Sun Apr 26 20:54:00 2015 UTC revision 3209 by schoenebeck, Thu May 25 12:08:04 2017 UTC
# Line 10  Line 10 
10        Drops the given MIDI control change event and thus prevents the supplied        Drops the given MIDI control change event and thus prevents the supplied
11        event to be further processed by the sampler. You can use this function        event to be further processed by the sampler. You can use this function
12        i.e. to filter out MIDI control change events, before they are causing        i.e. to filter out MIDI control change events, before they are causing
13        the sound to be changed.        any sound to be changed.
14      </p>      </p>
15      <p>      <p>
16        The argument this function takes is optional. If you omit passing an        The argument this function takes is optional. If you omit passing an
17        argument to this function, then the controller event ID will be used that        argument to this function, then the controller event ID will be used that
18        caused this current <code>controller</code> event handler to be executed.        caused this current <code lang="nksp">controller</code> event handler to be executed.
19      </p>      </p>
20      <p>      <p>
21        There is also an <code>ignore_event()</code> function. With        Dropping control change events with this function only succeeds if the
22        NKSP the two functions are both doing the same thing though.        event just "recently" occurred. That effectively means you should drop
23        The two exist merely due to compatibility reasons with KSP.        the control change event in the <code>controller</code> event handler
24          before any <code>wait()</code> calls, and before entering any loops that may
25          execute your script for a very long time. Because in both cases the
26          sampler may suspend your script for a certain amount of time and once
27          your script got resumed, the respective control change event may already
28          have entered the sampler's regular event processing chain and thus can no
29          longer be dropped.
30        </p>
31        <p>
32          With NKSP you can also use <code>ignore_event()</code> to drop control
33          change events. So <code>ignore_controller()</code> merely exists due to
34          compatibility reasons with KSP. However when you already know that the
35          event to be dropped is a control change event, then it is recommended to
36          actually call <code>ignore_controller()</code> instead of
37          <code>ignore_event()</code>.
38      </p>      </p>
39    
40      <h3>Function Prototype</h3>      <h3>Function Prototype</h3>
# Line 37  ignore_controller([??event-id??]) Line 51  ignore_controller([??event-id??])
51        <tr>        <tr>
52          <td><code>??event-id??</code></td>          <td><code>??event-id??</code></td>
53          <td>Event ID Number</td>          <td>Event ID Number</td>
54          <td>MIDI control change event to be dropped.<br>          <td>Event ID of the MIDI control change event to be dropped.<br>
55              [optional, default: ID of the event handler's event]</td>              [optional, default: ID of the event handler's event]</td>
56        </tr>        </tr>
57      </table>      </table>
# Line 46  ignore_controller([??event-id??]) Line 60  ignore_controller([??event-id??])
60      <p>None.</p>      <p>None.</p>
61            
62      <h3>Examples</h3>      <h3>Examples</h3>
63      <p>None yet.<p>      <p>
64          The following example implements a simple MIDI controller filter.
65          It causes all MIDI volume control change events (MIDI CC#7) to be dropped.
66        <p>
67        <code>
68    on init
69      { MIDI controller number for MIDI "volume change" events }
70      declare const $volumeCC := 7
71    end on
72    
73    on controller
74      if ($CC_NUM = $volumeCC)
75        { $EVENT_ID is a built-in variable which always reflects
76          the ID of the event which caused the execution of this
77          specific event handler instance, i.e. here it reflects
78          the respective MIDI control change event }
79        ignore_event($EVENT_ID)
80      end if
81    end on
82        </code>
83    
84      <note>      <note>
85        Dynamic, optional arguments are only supported by NKSP. If you want to        Dynamic, optional arguments are only supported by NKSP. If you want to

Legend:
Removed from v.2732  
changed lines
  Added in v.3209

  ViewVC Help
Powered by ViewVC