Forum
    • Categories
    • Register
    • Login

    Optimal Midi Architecture

    Scheduled Pinned Locked Moved General Questions
    25 Posts 5 Posters 54 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.
    • David HealeyD
      David Healey @Bart
      last edited by David Healey

      @Bart said in Optimal Midi Architecture:

      Oh look Bitwig are already in the game.... yas

      I don't trust AI "search" results. No DAW yet supports MIDI 2 from what I've seen.

      Free HISE Bootcamp Full Course for beginners.
      YouTube Channel - Public HISE tutorials
      My Patreon - HISE tutorials

      B 1 Reply Last reply Reply Quote 0
      • B
        Bart @David Healey
        last edited by

        @David-Healey

        Rule #1

        Dont trust anything AI 🧐

        B 1 Reply Last reply Reply Quote 1
        • ulrikU
          ulrik @Bart
          last edited by ulrik

          @Bart Hi Bart, my experience with midi is that you can work without the MidiPlayer module, this is a video on one of my projects where you can have several independent sequences running in parallel.
          The whole concept is built around the TransportHandler (internal or external clock), synced or independent to a daw clock.

          video

          So I set the TransportHandler to trigger the clock every 1/64T note (the lowest value available)
          and based on that, I can make calculations for each note value for position and length etc.. using this function

          TH.setEnableGrid(true, 23); // 1/96
          TH.setOnGridChange(true, gridChange);
          
          //  nv = note value (part of a quarter note), wheel = sequence
          inline function gridChange(clock, arg2, arg3)
          {
          	if (!ENABLEPLUGIN.EnablePluginPnl.getValue())
          		return;
          	local nv = NVLookUpNum[Canvas.getValue().notevalue];
          	
          	for (wheel in Canvas.getValue().wheels)
          	{
          		local steps = wheel.steps;
          		local length = nv * steps;
          		
          		local beat = clock % (96*length);
          		local idx = Canvas.getValue().wheels.indexOf(wheel);
          		
          		Canvas.data["beat"+idx] = Math.floor(clock / (96*nv)) % steps;
          		
          		if (clock % (96*nv) == 0)
          		{
          			play(wheel, Canvas.data["beat"+idx], clock/96*4);
          		}
          		
          		local cycle = beat / (96*nv*steps);
          		Canvas.data["pointer"+idx] = cycle;
          		Canvas.changed();
          	}
          };
          

          The video is a tutorial for setting up key switches you can skip to around 3.00 to see at least 8 independent sequences running

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

          B 1 Reply Last reply Reply Quote 1
          • B
            Bart @Bart
            last edited by

            I'm hitting the pillow anyway, guess this projects on hold for now. Sounds like working without the MIDI Player to achieve the objectives might be too much to take on myself atm.

            Cheers doods.

            1 Reply Last reply Reply Quote 0
            • B
              Bart @ulrik
              last edited by

              @ulrik

              Oh wow, thanks ulrik 👈

              I'll have a look in the morrow, my eyes are falling out right now.

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

              18

              Online

              2.3k

              Users

              13.7k

              Topics

              119.1k

              Posts