HISE Logo Forum
    • Categories
    • Register
    • Login

    Midi-Out Messages?

    Scheduled Pinned Locked Moved Solved Scripting
    12 Posts 3 Posters 450 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.
    • VirtualVirginV
      VirtualVirgin @Chazrox
      last edited by

      @Chazrox You would need to place the your piano roll script in a container on the next level down from your chord generator. Any MIDI that you generate will not be "seen" on that onNoteOn or onNoteOff callback, so you need a new container level to receive it as MIDI input.

      You can listen to my orchestral mockups here:
      https://www.virtualvirgin.net/

      ChazroxC 1 Reply Last reply Reply Quote 2
      • ChazroxC
        Chazrox @ulrik
        last edited by

        @ulrik my chords are all triggered by script in onNoteOn/Off . My thought was that I was even gonna delete the waveform generator and only use as a midi fx plugin but i just learned thats a little buggy rn so plans have changed to leaving it in and just piggy backing other midi instruments from this midi output and muting this audios out. Im using the stock keyboard floating tile to also show what chords are currently playing.

        1 Reply Last reply Reply Quote 0
        • ChazroxC
          Chazrox @ulrik
          last edited by Chazrox

          @ulrik
          trigger keys are midinote 60-71. The buttons on the UI correlate to those 12 buttons (the 12th just being a root duplicate/alternative)

          Triggering by piano keys only output the trigger key (60-71) and not the rest of the chord. Triggering the chord by UI buttons dont output any midi notes at all during recording even though you can hear sound.

          Screenshot 2025-06-12 at 3.44.08 PM.png

          This is the script for 1 trigger in onNoteOn:

          	// Chord 1 Values
          	var Chord1Choice = cmbChord1.getValue();
          	var chord1 = ChordLibrary[cmbChordType1.getValue() - 1];
          	var Octave1 = Knob1.getValue() * 12;
          	var velocity = Message.getVelocity();
          	var nn = Message.getNoteNumber();
          	var noteEventIds = [];
          
          	var Index = nn - 60;
          	noteEventIds[nn] = [];
          	
          	var offset = 60;
          	
          	// Chord Index Controls
          	if (nn == 60)
          	{	
          			for (c1 = 0; c1 < chord1.length; c1++)
          			{	
          				
          				noteEventIds[nn].push(Synth.playNote(chord1[c1] + offset + Octave1 + Chord1Choice - 1, velocity));
          								
          			}				
          				
          	}	
          
          1 Reply Last reply Reply Quote 0
          • ChazroxC
            Chazrox @VirtualVirgin
            last edited by Chazrox

            @VirtualVirgin I think im understanding what you're suggesting. What do you mean by "piano roll script"? Is there new script I have to add somewhere or is it a matter of moving around what I already have?

            The piano roll shown above is in Ableton.

            1 Reply Last reply Reply Quote 0
            • ChazroxC
              Chazrox @ulrik
              last edited by

              @ulrik I can send you a snippet if you wanna check it out.

              ulrikU 1 Reply Last reply Reply Quote 0
              • ChazroxC Chazrox marked this topic as a question
              • ChazroxC Chazrox referenced this topic
              • ulrikU
                ulrik @Chazrox
                last edited by

                @Chazrox it is as @VirtualVirgin suggested, you need to read the out coming note ons and offs from a script one level below the script that generate the chord

                Skärmavbild 2025-06-13 kl. 07.28.31.png

                Hise Develop branch
                MacOs 15.3.1, Xcode 16.2
                http://musikboden.se

                ChazroxC 1 Reply Last reply Reply Quote 1
                • ChazroxC
                  Chazrox @ulrik
                  last edited by Chazrox

                  @ulrik

                  ok so my tree is setup like this now...
                  Screenshot 2025-06-12 at 10.42.29 PM.png

                  As of now, I have everything in 'Interface' script onInit, onNoteOn, onNoteOff.

                  Im going to move my generator script from Interface onNoteOn/onNoteOff to Script Processor 1,

                  then what do I put in 'Script Processor2'? Message.sendToMidiOut?

                  Im not sure if this matters but @VirtualVirgin was suggesting to move my "piano roll script" underneath, but I dont have a piano roll script. The piano roll example picture shown above is in Ableton, not my plugin.

                  Thank You 🙏

                  ulrikU 1 Reply Last reply Reply Quote 0
                  • ulrikU
                    ulrik @Chazrox
                    last edited by

                    @Chazrox
                    moduletree.gif

                    Hise Develop branch
                    MacOs 15.3.1, Xcode 16.2
                    http://musikboden.se

                    ChazroxC 1 Reply Last reply Reply Quote 0
                    • ChazroxC
                      Chazrox @ulrik
                      last edited by Chazrox

                      @ulrik Besides these weird hang notes...I got it somewhat working. Ableton is atleast printing out full chords now! Any advice why only these notes getting hung up?

                      Im able to play full chords in real time through another instrument, in this case Waves Grand.
                      Screenshot 2025-06-12 at 11.45.40 PM.png

                      1 Reply Last reply Reply Quote 1
                      • ChazroxC
                        Chazrox
                        last edited by

                        If anyone ever needs to know...

                        This was ultimately solved with the help of the following!

                        @VirtualVirgin said in Midi-Out Messages?:

                        You would need to place the your piano roll script in a container on the next level down from your chord generator. Any MIDI that you generate will not be "seen" on that onNoteOn or onNoteOff callback, so you need a new container level to receive it as MIDI input.

                        @ulrik said in Midi-Out Messages?:

                        @Chazrox it is as @VirtualVirgin suggested, you need to read the out coming note ons and offs from a script one level below the script that generate the chord

                        Thank You! 🙏

                        1 Reply Last reply Reply Quote 0
                        • ChazroxC Chazrox has marked this topic as solved
                        • First post
                          Last post

                        27

                        Online

                        1.8k

                        Users

                        12.0k

                        Topics

                        104.6k

                        Posts