Forum
    • Categories
    • Register
    • Login
    1. Home
    2. Jaytove
    J
    • Profile
    • Following 2
    • Followers 0
    • Topics 6
    • Posts 52
    • Groups 0

    Jaytove

    @Jaytove

    2
    Reputation
    11
    Profile views
    52
    Posts
    0
    Followers
    2
    Following
    Joined
    Last Online

    Jaytove Unfollow Follow

    Best posts made by Jaytove

    • RE: Image shows in expansion but now presets dont

      @d-healey i must of mistyped it cause i just retyped it and its better than before your a genius you have no idea how much i appericate you taking your time with me. Im sure you have a million other things you could be doing right now, I JUST WANT YOU TO KNOW THAT I TRULY AND GRATELY APPERICATE YOU THANK YOU VERY MUCH I SINCERLY MEAN THAT

      posted in Presets / Scripts / Ideas
      J
      Jaytove

    Latest posts made by Jaytove

    • How do i load same Image thats in my preset browser on seperate panel

      I have my preset browser showing all my expansions images i want to take the loaded expansion and place the same image selected on a seperat panel how do i script that?

      posted in General Questions
      J
      Jaytove
    • RE: Install Samples and .hr1

      @David-Healey how can i make my vst reconize the hr file and load it into my vst without erasing the link file

      posted in General Questions
      J
      Jaytove
    • RE: Install Samples and .hr1

      @David-Healey i am having an awful time figuring out the best way to install expansions i have 24 expansions already in hr1 format i just cant figure out the best way to make it so when auser gets a new expansion they can load it easily

      posted in General Questions
      J
      Jaytove
    • RE: Install Samples and .hr1

      @David-Healey so if a user wants to install a new expansion how can i make it so that the same page comes up as when you erase the link file so that they can install yhe expansion that way

      posted in General Questions
      J
      Jaytove
    • RE: Install Samples and .hr1

      @David-Healey is there a way to make your vst delete the link automaticaly so there fore you can install new hr file

      posted in General Questions
      J
      Jaytove
    • RE: I HAVE MY VST DONE COMPILED ALL EXPANSIONS MADE HOW DO I ADD INSTALL EXP BUT ON MY INTERFACE

      @David-Healey i seen your videos about expansions but it dosent really get into hr1 files and how to install them into your vst

      posted in Scripting
      J
      Jaytove
    • RE: I HAVE MY VST DONE COMPILED ALL EXPANSIONS MADE HOW DO I ADD INSTALL EXP BUT ON MY INTERFACE

      @David-Healey I have 20 plus expansions exported to hr1 files should i be using getExpansionforInstallpackage to make these load through a button on my interface, I cant figure out how to make an install expansion button on my interface and have the user point to hr1 file and my vst load it

      posted in Scripting
      J
      Jaytove
    • RE: I HAVE MY VST DONE COMPILED ALL EXPANSIONS MADE HOW DO I ADD INSTALL EXP BUT ON MY INTERFACE

      the midi note repeat was just just an idea i dont want to get lost i mostly care about having an install expansion button on my interface that will open a browser for the user to locate hr1 file and it installs from there you said some thing about showing me how to do to do this when would you avilabilty be ?

      posted in Scripting
      J
      Jaytove
    • RE: I HAVE MY VST DONE COMPILED ALL EXPANSIONS MADE HOW DO I ADD INSTALL EXP BUT ON MY INTERFACE

      i have tried thr arps note repeat etc but i could not achieve what i was trying to accomplish

      // === Note Repeat Functionality ===
      const var NOTE_REPEAT_MIN = 36;  // C1
      const var NOTE_REPEAT_MAX = 51;  // D#2
      const var RATE_CONTROL_MIN = 60; // C3
      const var RATE_CONTROL_MAX = 70; // A#3
      
      // Note repeat state
      const var heldNotes = [];        // Track which repeat notes are held
      
      // Musical time divisions (in relation to quarter notes)
      // Index 0-10 maps to notes 60-70
      const var noteDivisions = [
          4.0,    // 0: 1/1 (whole note)
          2.0,    // 1: 1/2 (half note)
          1.0,    // 2: 1/4 (quarter note)
          0.6667, // 3: 1/4t (quarter triplet)
          0.5,    // 4: 1/8 (eighth note)
          0.3333, // 5: 1/8t (eighth triplet)
          0.25,   // 6: 1/16 (sixteenth note)
          0.1667, // 7: 1/16t (sixteenth triplet)
          0.125,  // 8: 1/32 (thirty-second note)
          0.0833, // 9: 1/32t (thirty-second triplet)
          0.0625  // 10: 1/64 (sixty-fourth note)
      ];
      
      const var divisionNames = [
          "1/1", "1/2", "1/4", "1/4t", "1/8", "1/8t",
          "1/16", "1/16t", "1/32", "1/32t", "1/64"
      ];
      
      reg currentRateIndex = 2;        // Start at 1/4 (quarter note)
      reg repeatTimerRunning = false;
      reg repeatCounter = 0;
      reg noteRepeatEnabled = false;   // Note repeat is OFF by default
      
      // Note repeat button callback
      inline function onNoteRepeatButtonControl(component, value)
      {
          noteRepeatEnabled = value;
      
          if (!noteRepeatEnabled)
          {
              // Stop repeat and clear held notes when disabled
              stopRepeatTimer();
              heldNotes.clear();
              Console.print("Note Repeat: OFF");
          }
          else
          {
              Console.print("Note Repeat: ON");
          }
      }
      
      // Set the callback for the note repeat button
      btnNoteRepeat.setControlCallback(onNoteRepeatButtonControl);
      
      // Calculate tempo-synced interval in milliseconds
      inline function getTempoSyncedInterval()
      {
          local bpm = Engine.getHostBpm();
          if (bpm <= 0) bpm = 120; // Default to 120 BPM if not available
      
          // Calculate milliseconds per quarter note
          local msPerQuarter = 60000.0 / bpm;
      
          // Multiply by the division to get the interval
          local interval = msPerQuarter * noteDivisions[currentRateIndex];
      
          return interval;
      }
      
      // Start the note repeat timer
      inline function startRepeatTimer()
      {
          if (!repeatTimerRunning)
          {
              local interval = getTempoSyncedInterval();
              Synth.startTimer(1.0 / interval);
              repeatTimerRunning = true;
              Console.print("Note repeat started at " + divisionNames[currentRateIndex] +
                           " (" + Math.round(interval) + "ms @ " + Engine.getHostBpm() + " BPM)");
          }
      }
      
      // Stop the note repeat timer
      inline function stopRepeatTimer()
      {
          if (repeatTimerRunning)
          {
              Synth.stopTimer();
              repeatTimerRunning = false;
              Console.print("Note repeat stopped");
          }
      }
      
      // Update the repeat rate
      inline function updateRepeatRate(newRateIndex)
      {
          currentRateIndex = Math.range(newRateIndex, 0, noteDivisions.length - 1);
      
          if (repeatTimerRunning)
          {
              Synth.stopTimer();
              local interval = getTempoSyncedInterval();
              Synth.startTimer(1.0 / interval);
          }
      
          local interval = getTempoSyncedInterval();
          Console.print("Repeat rate changed to " + divisionNames[currentRateIndex] +
                       " (" + Math.round(interval) + "ms @ " + Engine.getHostBpm() + " BPM)");
      }
      
      // Define the color for the black keys. You can use RGB values or a predefined color.
      const var BLACK_KEY_COLOR = Colours.black;
      const var WHITE_KEY_COLOR = Colours.white;
      
      // Iterate through all possible MIDI notes.
      for (var i = 0; i < 128; i++) {
          // Check if the note is a black key.
          if (i % 12 == 1 || i % 12 == 3 || i % 12 == 6 || i % 12 == 8 || i % 12 == 10) {
              Engine.setKeyColour(i, BLACK_KEY_COLOR);
          } else {
              Engine.setKeyColour(i, WHITE_KEY_COLOR);
          }
      }
      
      posted in Scripting
      J
      Jaytove
    • RE: I HAVE MY VST DONE COMPILED ALL EXPANSIONS MADE HOW DO I ADD INSTALL EXP BUT ON MY INTERFACE

      i would be so grateful you have no idea and the note repeat function is that caple to even do with hise the way i explained

      posted in Scripting
      J
      Jaytove