HISE Logo Forum
    • Categories
    • Register
    • Login

    numPressedKeys and isLegatoInterval with ignoreEvent

    Scheduled Pinned Locked Moved Scripting
    3 Posts 2 Posters 910 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey
      last edited by d.healey

      If there is more than one script in a chain and an earlier script ignores an event then the numPressedKeys() and isLegatoInterval functions cease to be useful in the later scripts.

      
      <Processor Type="SynthChain" ID="Master Chain" Bypassed="0" Gain="1" Balance="0"
                 VoiceLimit="64" KillFadeTime="20" IconColour="0" packageName=""
                 views="32.rk1bzA..........hJ....QrAZnnB...B....PA...." currentView="-1">
        <EditorStates BodyShown="0" Visible="1" Solo="0" Folded="1"/>
        <ChildProcessors>
          <Processor Type="MidiProcessorChain" ID="Midi Processor" Bypassed="0">
            <EditorStates BodyShown="1" Visible="1" Solo="0" Folded="0"/>
            <ChildProcessors>
              <Processor Type="ScriptProcessor" ID="Script Processor" Bypassed="0" Script="function onNoteOn()&#10;{&#13;&#10;&#9;Console.print(&quot;Script 1: &quot; + Synth.getNumPressedKeys());&#10;&#9;Message.ignoreEvent(true);&#10;}&#10;function onNoteOff()&#10;{&#10;&#9;&#10;}&#10;function onController()&#10;{&#10;&#9;&#10;}&#10;function onTimer()&#10;{&#10;&#9;&#10;}&#10;function onControl(number, value)&#10;{&#10;&#9;&#10;}&#10;">
                <EditorStates BodyShown="1" Visible="1" Solo="0" contentShown="1" onInitOpen="0"
                              onNoteOnOpen="1" onNoteOffOpen="0" onControllerOpen="0" onTimerOpen="0"
                              onControlOpen="0"/>
                <ChildProcessors/>
                <Content/>
              </Processor>
              <Processor Type="ScriptProcessor" ID="Script Processor2" Bypassed="0" Script="function onNoteOn()&#10;{&#10;&#9;Console.print(&quot;Script 2: &quot; + Synth.getNumPressedKeys());&#10;}&#10;function onNoteOff()&#10;{&#10;&#9;&#10;}&#10;function onController()&#10;{&#10;&#9;&#10;}&#10;function onTimer()&#10;{&#10;&#9;&#10;}&#10;function onControl(number, value)&#10;{&#10;&#9;&#10;}&#10;">
                <EditorStates BodyShown="1" Visible="1" Solo="0" contentShown="1" onInitOpen="0"
                              onNoteOnOpen="1" onNoteOffOpen="0" onControllerOpen="0" onTimerOpen="0"
                              onControlOpen="0"/>
                <ChildProcessors/>
                <Content/>
              </Processor>
            </ChildProcessors>
          </Processor>
          <Processor Type="ModulatorChain" ID="GainModulation" Bypassed="0" Intensity="1">
            <EditorStates BodyShown="1" Visible="0" Solo="0" Folded="1"/>
            <ChildProcessors/>
          </Processor>
          <Processor Type="ModulatorChain" ID="PitchModulation" Bypassed="1" Intensity="0">
            <EditorStates BodyShown="1" Visible="0" Solo="0" Folded="1"/>
            <ChildProcessors/>
          </Processor>
          <Processor Type="EffectChain" ID="FX" Bypassed="0">
            <EditorStates BodyShown="1" Visible="0" Solo="0" Folded="1"/>
            <ChildProcessors/>
          </Processor>
        </ChildProcessors>
        <RoutingMatrix NumSourceChannels="2" Channel0="0" Send0="-1" Channel1="1" Send1="-1"/>
        <macro_controls>
          <macro name="Macro 1" value="0" midi_cc="-1"/>
          <macro name="Macro 2" value="0" midi_cc="-1"/>
          <macro name="Macro 3" value="0" midi_cc="-1"/>
          <macro name="Macro 4" value="0" midi_cc="-1"/>
          <macro name="Macro 5" value="0" midi_cc="-1"/>
          <macro name="Macro 6" value="0" midi_cc="-1"/>
          <macro name="Macro 7" value="0" midi_cc="-1"/>
          <macro name="Macro 8" value="0" midi_cc="-1"/>
        </macro_controls>
        <MidiAutomation/>
      </Processor>
      

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        If a message gets ignored, it won't trigger the callbacks of script processors after the one that ignored them, but that has nothing to do with the numPressedKeys() method. Or are you asking that the getNumPressedKeys() method should return the number of unignored notes (so ignoring a note prevents the internal counter to rise?)

        1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey
          last edited by

          Aha! I misunderstood what was happening. The current behaviour is fine :)

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          22

          Online

          1.8k

          Users

          12.1k

          Topics

          104.9k

          Posts