HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. johnmike
    3. Posts
    J
    • Profile
    • Following 1
    • Followers 0
    • Topics 37
    • Posts 188
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: Custom Export/Import of UserPresets

      @d-healey ahhhh really cool! Makes sense and definitely cleaner!

      posted in General Questions
      J
      johnmike
    • RE: Custom Export/Import of UserPresets

      @d-healey thanks...dug around and was able to find a couple of other examples that I kinda reverse engineered to basically just copy a user selected folder from the file system to userpresets folder...

      HiseSnippet 1296.3ocsW80aaaCDmxIpawaqXcXOtGXySx.YN1ascCXnXo1NdvXKodyoECnXnfQh1lHzjBjTIQnM.8qz9lsuAaGknkkkcSbLvzShGu628Wd73PkLjp0RExauyRioHuO2eTpvLs6TBSfFzC48P+SHZCUgyI0IMln0zHjm2N+hkf2d6hx99metCgSDgzEjPnWKYgzeiMiYVPc3Q+Jiy6ShnmwlUh6mbzfPonqjKS.6YG+VnXR3EjIzSIV1p4i7dvwQLiTMxPLTMvSGYT5noxqD47+ZllcNmZWzFMB.JmLp6TFOZ3beUiPd6NbgmuStm+09mvhXEzWDA9xrMvKjnbLvq1sYRsuGljWISZ2bS5Q9iBUrXyhcr1ym4OP.IjwDHTW1Tx4EU6u+D+tRfCgo4LxEz9JXQgDAOqUqCvOsUqF+T85GdH9UCvcRLFoPWGB9ZC9RhBas+gJplZ5K4QPt+434HNgZ5JmEKEvhf8qx39.pKfY.vmxjuutiQ7QgoJi.L3bqSSUNx3XhYZIvSVrUgQ1mwoiRgp0YVEjSNnDwRv4b+ynVUSToVLYDHSgMRrFRnT74YwErhNlpnPcccEcBlDZXWRyM3BOHGKav.mCO1YRNH3xIrv5LAmIn3wIB.CfpTTM7EDNGwC.6gmPaT+c0wvGaLNvQ.69Vw+apAzB.+5l50qBbSsMdKLJIuKgyOGNWErp5cwjbmCOOtW1GvqwIpl71Tm3cEtxZioP5LrT7cNukxlmqjWoo8kpdLEMDRYoA2UAPOp9BiLtwAENP.KSst.PgZVXbys7Gyz8niAeOZYQvu+83GWlRSfwBCpQik.ZYXseGKl.Xlk6NANhCc65HuFNQHfHEKBOhxoY149Gf2eHmRzTrNiFlfyYYbtVAFZCIvp3u1Xqsb301LQvXBWS2XwBmRDSf.vZDPQMIJwxzuwl1fBpWvglOBhEQ7LpYpLBWeYYm37hgvYbHwuT3zHGYTLwj.nkkEsV1C5IbdFuLQFzbd5JHZ6WLjnfJ3mWB8l5XNCZ4bXVOl0aE16a.gJ.3ME+0jSES.09s31+Uohx4haHpIk5Yt5QTaaOaieaIYvBk0vgE3cckwoXHVCUPNqAGkUMUwCWJDEBBETV4MpXberpr7S5iRBsWuLNgmUkk2Ayobcwd7TmRoQ1hsVU0wVToswUY239+FayspMbVeyspbAHTpo0oRC8kh.aqo8.LwU2Z730tmSMbnqx511NOi51DLPjL6bppTiwLFgK7WdJhGrYSQDleaZIFA+VvLuLl5VmUNDk++pybfbWGCSeTyYg.qlrYOdna1i7oCPL.juxuZPEk4GkmADsQ3T8lmp3.euZPOhgXmKxYjfgGSUFlM930idILXY9TR646Zqm4EtpHHFde7iqKz8G98iRKVbT7QWwhLSQd9de.VOkxlL0XW8MnrvWg11893sWWVAKoMzpCABieJiR3DyxyjZG91sAThszff1g8DZlIsbh4dLnZqacP0M0Dej+PlIb55swZqwFsUg+OXitw6+B+iGOF5itv.20u+etsyxeGp+OjIF3JqSHvMWPx1+zjYifW0DRAsKDTt1VBUyVAkutkcsMBLhJhxV7uvmay110dtMaOeSzLRnR91v7ia1GP7oYT.aRj8do8fGtAqwsW8v0L38LuMLbYnVQvuaaE762VAex1J3S2VAe11J3OrsB9i2sf1ma9hDibV9wFD5jgGm0Lzy6Xg8MJYUqn+C.ylTZC
      
      posted in General Questions
      J
      johnmike
    • Custom Export/Import of UserPresets

      is there a way to create a custom preset export/import system...the goal would be to export specific folder or folders from the user presets folder and then import those presets into another system...use case say I create a preset or set of presets on my plugin on my MacBook but I want to import those specific presets into the same plugin on my Mac Studio...using the "Export Presets As A Collection" option exports/imports everything not ideal having to write/overwrite presets in the folder each time in case I have tweaked the built in presets already...and plus I don't want end users having to poke around in the app data folders...just a simple click of a Export/Import preset button...possible?

      posted in General Questions
      J
      johnmike
    • Snippet: Increase/Decrease A Knob's value using 2 buttons

      just dropping this in to help someone...I was needing a simple setup with 2 buttons (+ & -) to increase/decrease the value of a knob. Searched all over the forum and couldn't find an example of it so I worked out the logic myself and turned out to be a bit simpler than I thought! hopefully this helps someone in their project or helps them learn either way!!

      ezgif-1eb133adf2b111.gif

      HiseSnippet 1173.3ocwW80aiSDDecZcoI.mtCwyHq7jq5etjxcEjPHJMoEEcjdQW5UAOcZi85jUwd2HuqaS.cuvmD9lvWIdf2gY7ZGamTZuFID9gprye+MyN6LSGDK8XJkLlXU+pEyXDqOwd3BgdRmITtfzqKw5I18oJMK1wP5rEynJEymXYs0OfDrpuMI86O+tyngTgGqfDgbsj6w9QdDWWPcvouhGFdA0mcEOpjzu3zddRQGYnLAvyV1sHyndSoiYWRQwpYSr14betVFOTS0LEHyYR+ECmHuUXj+ZthOJjgGZSFBFxPlzYBOzePdrpHDqsGTD4aYh7O2tO2mujdQF3ooLbJznbNvp18Ao1OBHYUBRaafzyrG5EymoK3f34is6IfKj.JjpKCEirjZ+011cjfDB8QQzorKhgCK0v8jVsNvA9ydeSiFO+4NchY.vczSXNSExQMfa.k14FZrSzhWADb9VmbiQ88QJtM6mxo4ANsQa8RzTFgORwzugJFybakwrcEdtM0r4ZPwlWSCSXMWGC8DdvAEyYThVKEkfCW3cVJspHxPysYthly4Xq8wH3VpZULr+c3+tr+M+6ytW+mq3J9+Dz+KUsp+OL2+cYAbgw+dzvvQPUuSPhvSyAu63Fk.P.tk4iEnLQNz.78nOpEWLdOH9BQ8yUoHU0IyZtdxnYRA.4CfXAx7603Wa3.e7.G2LB3QCQ7KTBHwwKINFTJ8xBB6rKxwLCEW.9UkWvtMW19T8jih3B2J1Xem1GTxLtMinyatWI6TTqXbQtEyD48Mdei0B2ko2+2CW57pg6gqEtbwiNbgBjKk2Vp.nTsgVlRvTrppVniEowxvkIk0pJVsxbUEVKuBJrLoKEWJ0rWKbwbac.mNqxJH3N4k4kPV7cxFGIDeeJ5JRhFwhKcylJHzyrZi3c9vZD6YdJWRPonmfqe8LV14Kjg9XCV72q21lj0K.afmgPPTcZ66mj09dXH2mES3fQ101z7jjh9hYeWbJ4s85R0zb6.lDbyLVrliQiUW1MvjTyXg51cYpoZ4LvScxK0gQ2OrWmSrrs7A+s.+wwvOT5EXRYG6T9Qbe+P1.ohiI8Ry1+CXEfYC4+Bq77dndu33OepJIHfOOcPc.OLRoATzKBleSr9L62B8TgNVzjPsiZJLYEdCOk4ekLUdrkHw5irSK9wb5xfpd0fxTPlFTO0tZO+UBt4vOLlcK68IbUeYDXPZLvzplhdCqmXPLCJ6wQm2x80SPs9MPqIL93IZ7zWPHU.yt2CXpN.XEv76k.ygODXfB7gXtSkUys9dAvFIR+jPpt5ZJ39XYLvaux6Ffy+Evs5hx2eOhcWZcu6t7gBwmYOfq8lb2Xr1cfQ30v+EXLaiuO097f.lmt.faaewOsoq28.t+MxDMLsFFTDiORruDtkgEc8Xf2EBVnBqSpg0alysvyXFXHS3md3uguLlswyVYLamyjDQ8hkuyyzFB2ob2TJ.lDoqPWG1kGN6zd01OD7kO+cddUM0ZJd7lp3WtoJ9hMUwWtoJdxlp3WsoJ90Orh3+Ax2mnkQlmMDR+AmmNtvx5bAEp.SqVI+iSDcOf
      
      posted in Snippet Waiting Room
      J
      johnmike
    • RE: How/Where do you actually market/sell your plugins?

      @Chazrox said in How/Where do you actually market/sell your plugins?:

      would add to this... use all of your resources. If you have friends/peer music producers, share your plugin with them and ask them to post about it if they like it

      Everything everyone said is correct....the truth is there is no ONE WAY to success but rather the combination of all of these things mentioned...I quoted this line is because this proved to be the big starting point when you literally have nothing...you need to rally and lean in on your relationships and network...get your people to hop in and help by doing a video or 2 in exchange for the plugin... or incentivize by giving them a small percentage of sales- like 5-10% (have them use a coupon code so you can track it) ....another strategy ive found is to simply Go Live on Facebook, YouTube using something as simple as OBS(it's Free) showcase your plugin via screen sharing and clean and clear audio...Just go live and create and spend a couple hours just doing that...even if NO ONE is watching...that's not the point...the point is after you are done to take that long live video and chop it down into smaller pieces of content- Reels, Youtube Shorts, and even shorter 3-5 min landscape videos showcasing the plugin and all it's features...from my experience a good planned hour long live video can easily be repurposed into close to a dozen pieces of micro-content...take all of that and repost them ad-noseum on every platform...wash rinse and repeat the process until sales come in and you build up your mailing list and then as someone also said take the best stuff and run ads on it...My metric for running ads has been at bare minimum put in as much as your charge for the plugin...so if you sell it for $100...put $100 into an ad to get started...worse case you make one sale and make your money back...best case you make 10 sales and make $1000...then you just wash rinse repeat the process....

      posted in General Questions
      J
      johnmike
    • RE: Audio Render not working as expected

      @clevername27 awesome!

      posted in General Questions
      J
      johnmike
    • RE: Audio Render not working as expected

      @clevername27 any thoughts?

      posted in General Questions
      J
      johnmike
    • A snippet to use computer keyboard keys to press buttons on an interface!

      here's another snippet contribution! I needed to create some "key commands" for lack of a better phrase that could press various buttons on my interface to say "mute channel 1" by pressing 1 or open preferences by pressing "P" so on and so forth...this snippet has 25 buttons assigned to 25 various keys on the computer keyboard(all noted in code) im utilizing the

      setConsumedKeyPresses
      

      so feel free to tweak and add whatever keys you want these were just keys I used for my project...

      The only thing I couldn't work out was the "Shift" or "Command" or "Option" modifiers so I could press Shift +1 or Cmd + G or something like that.... feel free to take a crack at it or tweak/fix my logic...still learning! big shoutout to @ulrik for "teaching me to fish" on this one!

      HiseSnippet 1733.3oc0Y0rbaaCDlz1zMVsISxL8R6ITcHi7DaGQJ4+pSZSj+a7j5D0Hmz1ISZBMIDEpo.zPBEG0L9EnO.4ApOM8TmdNWZ2kfjhlx0w1r7P4AXQf8CeK.91k.FsCDNzvPQfl9bGLZ.US+yL5LhK6sYOaFWauszzugw91gRZ.QUUqQCrCCotZ55SuKVg9bynE87WeaKaeatCcbUZZOWvbneGqOSNt11O3QLe+crcoGv5mw5lOXOGAeSguXH3OSaTWafsyQ1dzGailMkgl9ra6xjhfNRaIMDrokvcTmdhi4J6eNKjcnOEewTqCzQpp01rGy2scxXMTSSel1iG4SqF4etw9LWVZ8imAtYTCjwHxNGnO044RlWBWROiKMixktkQGm.1.43VP+4SM1iCKHcsgo5rthxVso18ZFaJ.K3xk5aeDcm.3kTD0LqWu9BDrb9MpT4t2krY.EbchM4PX11KPLj6RFXyo9Dof3XOPNLfRNhNZP.3BzvJATORqcI2mjPhsqaaz9ZUasa0EHPuiccqcWJjJqU8XlqrW0TFSptGk40SNY8199hi2DJQuIDZu5inif4df6pwN7VztLNkH6E4VDX7y738AOIjzUDPrVlb3PoTvUtJXxCyXw8IunBAdpZh8sEVz.KZhEKiEqfEqhEqAEvCPYKUGRLWbME50w1qqZ+7exfd8EMqqfuCBe+KIbSyEMsT3+dD+OfEaiEOEKN.K9Ir3YXwdS57MVzJl+1nE3hU0NXwV+6dRF7VlKZ0TguUUxE7IEOrtT4kpEvmMvEUbuFVvAMT3v9TWXQtsRe8ZT1w3N9CcAQouOt.FFKOlz5Zmd4MVg7TZWZ.EREQnukEJYbuDIAwFT2gP7Zj9oOPDTCwNHvdTjZIwLPl.NKJmp8F6.BCpn9FvetGLLf+dm6LO4cQSEiAgYo.yppFtUI2gTiAElfOgFF2yKMXXXuZIgNd3Xp+.AGdo13tY942.m31gJc5M4P3vQj81pxIQiz83LIy1m8qz3lgAGlHJyfQkYBGQcs8CoKP9+wedYzTPlwGpERisiGlnVIx5nIiNTYZhJHykJGBALFSUjO6VrjJQJkjxoV2gbGISvqIN7WRVjwrj8nPeklywC93PnL48rIXTZoDoAz3dbW5ago+Sa2RLr5mzEoYIWZXTtafVTAifYcI0RA+Mf5ib6aOt2tWpbxmx8j8RbzXm8.gmmuJCYz7DQzM5EGQ.LVA4l6X8TJtrpkWjvzKAG+qN6V1HE4XsFXcrik0tTCwAkpcvgQGcaHdVEJlzAQp8vJYSgnZAWrdts+PZsy1cleiyBjSOatG0slJf5f.lmGrUln4h3E7TTmD8qSHTPNkY5Dy4H7oKMHfAwnQeMhKjvX1Q3wAco6WSvX8IVFIQeo5vgdd3bMWvW7XQvQ3uiRnoX7DvqSDbfP8wBI8I7ZyW4cUlCBvI4apa2yrMLaRfv2mFblMi6xJ37.ViOr+gzfEHuAmeSMD1Fxo2ayrWr813nRtkwPAGiiex.Z766H7cw8rf+dxcBoEmcD1SzWD6gfoxncDci3cDoRxpwfNYNC0KlZQtOrSnoztDvrRfMderWF3MJF7lEC9xEC9JEC9pEC9ZEC95WM3URjK0KHdyBh2pf3aTP7MKH9kKH9UJH9UKH90JH9Bp+rJn9ypf5OqBp+rJn9ypf5OqyR+8r81xVZiGlN9aHv2UFPCjL7yW5aQeCygpNZ8bFaQCORJFno+koaAWS+ST7d8jCdi6TLh1YLZsq1a0zMzQpFk7inS2B81r+wzJmPct1r0b5SzhGeO8Ds3m5Rod1KvW3hb.qDGvJqCzVKuCTK4eBykhDKEIuuTIoghjOTpjzTQxOqWljrrhjeuTIYEEI2dpxjjUUj7akJIqoH4OKURVOWbx6+ujjL6e3zAJkCKl4hTJGVrxEpTNrzHWrR4vRybAKkCKKmKZobXYkbgKkCKqlKd4CkBKqkKdobXY8bwKkBKV0yEuTNrXlKdobXwJW7R4vRibwKkCKMyEuTNrrbt3ETFbQXYxK34lF6KbG5aKO88MgWrVbCLwouyM7hb3gL4nr668RbIT0O2Kg5h5h2xnMS5z6r8woNCeD1RdY3iwWc20M1taWpibrCNiwN+3U8d59Hz+TwP7eG+91x.FpCd7v9cDCCbn.6b33BgnjXJTTodudxYE5P4tQu72vSbil365wMZlznVeam.wqbTmFBubvqEUC3S7n6BcNi8w2ISbFPMs9LW1qbbNcWMAPqqJvFWUfMup.W9pBbkqJvUup.W6iCDuJ4GNTJ5qBazz1u81QmYUWeatMn.iTqZ+CPJmffA
      
      posted in Snippet Waiting Room
      J
      johnmike
    • Audio Render not working as expected

      Messing around with the audio render snippet example in the snippet browser....works fine in the example...but when I bring it into my project...it doesn't render anything but dead space...and then the audio in HISE becomes completely disabled and I have to restart to get it back working....im trying to get it to render a preloaded midi file instead of the one that's created by the example...here's the code ive added in the attempt to make it work....

      Content.makeFrontInterface(510, 160);
      
      const var DELETE_TEMP_FILE = false;
      
      const var SeqView = Content.addPanel("SeqView", 0, 90);
      SeqView.set("width", 210);
      
      const var AudioDragger = Content.addPanel("Dragger", 0, 32);
      AudioDragger.set("width", 210);
      
      AudioDragger.set("allowCallbacks", "Clicks & Hover");
      
      const var MidiPlayer = Synth.getMidiPlayer("MIDI Player1");
      
      AudioDragger.setMouseCallback(function(event) {
          this.data.hover = event.hover;
          this.repaint();
      
          if (event.clicked) {
              if (isDefined(this.data.tempFile)) {
                  var fToDelete = this.data.tempFile;
      
                  this.startExternalFileDrag(this.data.tempFile, true, function [fToDelete]() {
                      if (DELETE_TEMP_FILE) {
                          Console.print("DELETE " + fToDelete.toString(0));
                          fToDelete.deleteFileOrDirectory();
                      }
                  });
              } else {
                  Console.print("! You need to click on render first.");
              }
          }
      });
      
      // Button to Begin Rendering
      const var Button1 = Content.addButton("Button1", 0, 0);
      Button1.set("text", "Render");
      Button1.set("isMomentary", true);
      Button1.set("saveInPreset", false);
      Button1.set("width", 210);
      
      Button1.setControlCallback(onButton1Control);
      inline function onButton1Control(component, value) {
          if (value) {
              if (!MidiPlayer.isEmpty()) {
                  Console.print("MIDI Player has a sequence loaded.");
                  local eventList = MidiPlayer.getEventList();
                  Console.print("Event list size: " + eventList.length);
      
                  if (eventList.length == 0) {
                      Console.print("! Event list is empty. Cannot render.");
                      return;
                  }
      
                  // Add a stop event at the end
                  local timeSig = MidiPlayer.getTimeSignature();
                  local length = timeSig.NumBars * timeSig.Nominator * (timeSig.Denominator / 4.0) * timeSig.LoopEnd;
                  local ts = Engine.getSamplesForQuarterBeats(length);
      
                  local stopEvent = Engine.createMessageHolder();
                  stopEvent.setType(3);
                  stopEvent.setChannel(1);
                  stopEvent.setControllerNumber(1);
                  stopEvent.setControllerValue(0);
                  stopEvent.setTimestamp(ts);
      
                  eventList.push(stopEvent);
                  Console.print("Added stop event at timestamp: " + ts);
      
                  // Render the audio
                  Console.print("Rendering audio...");
                  Engine.renderAudio(eventList, COMPOSER_RenderAudioCallback);
              } else {
                  Console.print("! No MIDI file is loaded in the MIDI Player.");
              }
          }
      }
      
      inline function COMPOSER_RenderAudioCallback(obj) {
          local isFinished = obj.finished;
          local progressPoint = obj.progress;
      
          if (isFinished) {
              Console.print("Rendering complete.");
              local bufferDataToWrite = obj.channels;
              local audioFilesDirectory = FileSystem.getFolder(FileSystem.Temp);
              local fileToExport = audioFilesDirectory.getChildFile("export_temp.wav");
      
              if (!isDefined(bufferDataToWrite[0].length)) {
                  fileToExport.writeAudioFile([bufferDataToWrite], Engine.getSampleRate(), 24);
              } else {
                  fileToExport.writeAudioFile(bufferDataToWrite, Engine.getSampleRate(), 24);
              }
      
              Console.print("Audio file exported to: " + fileToExport.toString(0));
              AudioDragger.data.tempFile = fileToExport;
              enableBroadcaster.sendAsyncMessage([true]);
          } else {
              Console.print("Progress: " + progressPoint);
          }
      }
      
      // Visualize MIDI Sequence
      SeqView.setPaintRoutine(function(g) {
          g.fillAll(0x11FFFFFF);
      
          var displayArea = this.getLocalBounds(0);
          var noteRectangleList = MidiPlayer.getNoteRectangleList(displayArea);
      
          g.setColour(Colours.white);
      
          for (noteRectangle in noteRectangleList) {
              g.fillRect(noteRectangle);
          }
      });
      
      // Broadcaster definition
      const var enableBroadcaster = Engine.createBroadcaster({
          "id": "enableBroadcaster",
          "args": ["shouldBeEnabled"],
          "tags": []
      });
      
      enableBroadcaster.addComponentPropertyListener(["Dragger"], ["enabled"], "set the enabled state for the dragger", 
      function(index, shouldBeEnabled) {
          return shouldBeEnabled;
      });
      
      enableBroadcaster.addComponentPropertyListener(["Dragger"], ["text"], "update the text", 
      function(index, shouldBeEnabled) {
          return shouldBeEnabled ? "Drag to waveform or external target" : "Press render";
      });
      
      enableBroadcaster.addComponentRefreshListener(["Dragger"], "repaint", "repaint");
      enableBroadcaster.sendAsyncMessage([false]);
      
      inline function drawDragPanel(g) {
          g.fillAll(0x22FFFFFF);
          g.setColour(this.data.hover ? Colours.white : 0xBBFFFFFF);
      
          if (!this.get("enabled"))
              g.setColour(0x44FFFFFF);
      
          g.setFont("Default", 14.0);
          g.drawAlignedText(this.get("text"), this.getLocalBounds(0), "centred");
      }
      
      AudioDragger.setPaintRoutine(drawDragPanel);
      
      
      posted in General Questions
      J
      johnmike
    • RE: Button to Enable/Disable saveinPreset (Snippet)

      @d-healey yea I think I remember seeing this but didn't read all the way through...interesting...so far in my situation it's working fine...doing a bunch of tests over the weekend.....its a tempo knob that I programmed to change the bpm of a midi player and I just would need(the end user) to bypass saveinpreset on that knob temporarily to audition loop presets outside of the bpm that's saved into the preset...but been poking around on it all day hadn't had any issues so far...

      posted in Snippet Waiting Room
      J
      johnmike
    • RE: Button to Enable/Disable saveinPreset (Snippet)

      @d-healey I just tested...works perfectly...at least for the case im using it in...something im missing?

      posted in Snippet Waiting Room
      J
      johnmike
    • Button to Enable/Disable saveinPreset (Snippet)

      Just giving back here...I was searching the forum trying to find info on how to create a button that would disable the 'saveinPreset' on another button. I needed to be able to bypass the function on a "tempo knob" that controls the internal bpm of the midi player...so that users(in the standalone application Im building) could bypass the internal bpm and just use the host bpm when scrolling through presets(in standalone) I couldn't really find anything direct...but I was able to stitch this together from reading a few other posts/snippets...it works! I thought I'd just throw it on here to help someone else that may need to do something like this in their project...Im sure there's a probably a better/cleaner way to do this...so feel free to tweak this if my logic is wrong/bad...but it otherwise works in my project

      HiseSnippet 1009.3ocsV0saaaCElxwpX1aqaEnO.D4JGrfD6s1tgFLzV6jL30lTi4rfcWAszQ1DQlzfjJYtE8krWsGi8FrcHojsTsiSlAlPPrHO+78wORcNbfRFAZsTQBZbw7Y.I3qBGNWXlzaBiKH8OlD7vvyXZCnn9o5NeFSqgXRPvN+hchfF0Itm+9EcYoLQDrbJB4RIOBdCeJ2rb1Au707zzSYwvE7ok79IurejTzSlJyP9rSXaxLVzUrwv4Lqa0BIAO3jXtQpFZXFPSBp2UFOe3D4MBu+Wx07QofcPGxPLQ9oOUlFaYrcVRuI7z3AEqaMAyxfkpvNdU3wgmwi4KleoZ7sNCzkQTVOBpUkd6TgdctM5sFJEThR08T5QgCiT7YlkVr74KC6KvMmDFJ6koh2WRsWTOrmD8PXNXJ6J3TENXQDsdV616Sw+s2QMO7PZOEf7lxnixLFofZj3eiGmBTM6ZnuXfBzfglHUTCLcl70hQMwMLsgdMS474Bm6cMB5OSKfcLX5IQuE3fV6Vwqc26HJha2EvABFpOGFy01eq.aIjJ.+VAovg77ewDnXIcCPugIL2AVTonoUP5K3FNKk+9Mn.zQLTxoV9ivv8QP01S.TYRUUoYQPGfYwqEE4b28q5pcEcIKMCZsmeQLDbr1BRTlRgqSTKP6qBRybuQAynjozHVZ5H7CIOsw3y2T8RRStHkK.ZRlHxvwkgTLrb554yRqnB4ceOt607CMo3SNXUkujaQdjhCkII2l5XS2FUHOvG4br.72HGWQTr4NS6Vqwvnrwi4hwNewEhVlBGLSwEeVpobMUHu44zcoe2BP9nSHekVyG6I+J5ItcTcATcGTaOS5BoWdDsVu1hfUR8OWZf2JZY02FHInetojj0ZKOWofZslsUZUaJvVhroi.UocWmiX4mp0zdv8qlVj+CyRNJE1Omd6LHe7lKJSx+xFe626eLyvrEEymC8aFnLbKcBNFtF6v3KQ1H7XPekQNCaVrnb.IHz3r9v7Bn9xMDNh82DVYKi7mnyA+Jh4b6KWguT9XhstJ4dk2lgEmi8o7SEo7uVIkKaURVslO1sQFmkxLUaAY66la.2CqT22VaWn4l4k6K+enuT6M1W59RwGENfahlrdNVaMbD2c++fi4cy+5vSRRfHyRBVO7z+XaaceGv+axLCVy4LlQwsa9mmMcHdglH.QWHfTs8bPM6Ib+311wVEXHHhcC9G7I2XG63fbicJLRlxhTx2kWPxdeguvMCxIg6pRMv6rgiocHtulKqySwqu7tnnpoZk.+9sMveXaC7IaafOcaC7Yaaf+31F3Oc2AZuc4qxLxo9OaHjyFbhq7WPvItKr3NsR9W.5l9c1A
      
      posted in Snippet Waiting Room
      J
      johnmike
    • RE: Codesigning/Notarization 2024

      I know this may muddy the waters a bit...but ive actually never code signed my VST3/AU...only my AAX because its required...Ive only ever codesigned the .PKG when I was using those and the Standalone app(via apple's signing/ notarizing in Xcode) now I have a custom installer that I built and I only have to codesign/Notirize it via Xcode(not via the terminal) and I dont worry about the cosigning any of the individual binaries...and all my plugins run just fine for my users...

      posted in General Questions
      J
      johnmike
    • RE: Create tooltips like this...

      @Dan-Korneff PERFECT! Thanks!

      posted in General Questions
      J
      johnmike
    • Create tooltips like this...

      When I hover over this combobox in the interface designer I get this info tooltip...How could I create a hover tooltip like this? Thinking of creating a "Help" system like this for each interface component vs having to create a manual or a bunch of tutorials...

      Screenshot 2024-11-08 at 10.31.38 AM.png

      posted in General Questions
      J
      johnmike
    • RE: Anyone here using Cyberpanel for their website?

      @orange @d-healey thanks for the clarification! ive had issues with Cpanel in the past...but it's been pretty rock solid for the last year or so!

      posted in General Questions
      J
      johnmike
    • RE: Anyone here using Cyberpanel for their website?

      @d-healey cyberpanel as in "CPanel"? making sure im making the correct connection because that's what im using via go daddy hosting...and when you say "Update" do you mean update the PHP version or something else?

      posted in General Questions
      J
      johnmike
    • RE: Delay speed - tap

      @ulrik yup this is what I was after! much simpler than I thought! and yes I meant a "Standalone application" so sorry...been separating the two versions of the plugin in my head as "Plugin" and "standalone mode" sorry...Thanks again...gonna play with this and test to make sure it's all good! but so far so good!

      posted in General Questions
      J
      johnmike
    • RE: Delay speed - tap

      @ulrik take a look at this snippet...I modified this to work in my current project but it basically "hacks" the tempo sync to use an internal bpm and you can switch between "daw sync" and "Internal" the Internal is what im actually after so that when my plugin is in standalone mode tap tempo could be used to change the internal bpm...there's a knob in there that controls the internal bpm...anyway we could hijack the tap tempo to change the knob position?

      HiseSnippet 4007.3oc6as7aibjdu4LSOqIsmYsw5f.jSUzgMTqF2hujFN1vq3qlhT7o3C8xwwoX2EIaw9AU2MEEm.mXDDffbIHmx48XtFfbH2VCjK4+fbZMLRNkSw+Gj7UU2jraJRFNZ7L6jMRXNv9qpup988n9dTcO0MMjHVVFlbAB1ZxPBWfOfu4Dc69Y6iUz4JliKvSoDjpXHSZQrr4xLYH1xhHyEHvCOjNm.AeDG6ue3fLXUrtDYNINtSLTjHkUzTrmSsdpRJpp4wvJpn4Y1IRUTxPOqgpwH.OOjOB2Prz.bORULcZOfmKviEkUrMLaZisIVbAdTFC4IM6aLV2Y9mnXozQkPeHJWSXgbHm2PUlhXJUtr8UTkqOUts3fEs9bsvCczBeLeEEYkYzmqM9P1.n4b3UeD3A9g2C8AundgWDOvaIP5AdfzOYpggAIU7DhoqgoRwbEQNTh5CHYGYZRzsaRtZDwmA4GNvcnVlfp0K8xFFCE0w.7j8Rlt5cfo1bHw+.Ad3FKqQWqrxQEq7JpDpbGX5CvroxHXyygswbA9a4iFIlfdq8KkLaiSMJIHT4XwKtLsffvYBBoEpKnoznYqhwt.nHbXZgKExIHbdiLRB4xzQ3xRoULZ2umP2CuTna2qSW.VfBWb9E2Pfwk0ykQP87LB4OJSwDoqWHZuVEDpmsnvYEZq97CE5EWqNvaKUXs2YmLBbTH53U9WyuaYkNlXyI6ld3PUEIrshgNp4ngCMLs28PCSr9glFFWSrPL6EUQasaArt7Dj6.61vPZ.Jm4HM2eNkgLXKEIujPQhlFkwRBcrsoERRE0GaaAhN0pSOL0TomN1djI.rGWcjVFLngAi128af+9x+yCpZno.iyNt6ZI+vT4H5KiLEmfw0z16wYGuDeNBsHZCMlS37Tbd7cejiu6Gw2TxTYn87QnF22muntMwrKF7P8585LWtG73eFeVCXF51BZ3Aj7lvCy3HbxHQdFZ+HQ19yBAyxxPkHHoRvlgABg18WDJ3wsEAGhZUa9ogBFJ3mf7bZAIaPrz+irQpf7fv1H69DDQWtVW14BD4ZXSeFpyHaDtKrgrwUwV1HcCaBxnaWjhtkMAKiLIViTsUz6ATPXjs4HcvEfHirbO7IDJHB0puhEB9GccjvVDzXB7SSzDiQng.jPcMMzPVT0MSB0wpYUolcCSvJq.+fMKXKnqPk5nvi6SzonAYAQmgsy1fMjF.RBkGFycQRPrTKx1NZ.KhcM8LDrMDOSuGYlVnqhIYpV.9MHlcfIQw8uDUjBZJ3oFBHJ5A+urTFppFiAEgzHKaPjrodGLEogt5DG87MNBHPg7LTepNhQuP5rkPsDqTuFBrlinGiDlgAEaTOCCYp9nCdJHNkpClpuXJBpN1hnRj.KvyXqJUuQsNVz.XfFFx7.1LrjsEUkkK8otPThIGrM7DHkE5ZhoEFMVwtORzEvNKnyBMeI7JnBqTmQIm1zQPY.UCRnZ4nTLIpLOFXwnncWX8.mRcYl4kx.asck4hNt.v9qhFaXpBhYQDVCMxhIkKXVbWRFK5fhelWIJr9HsNfmB3izAhRL00BFGYCARrnlPiQTc6NJVUIigPIa6W5vNVD7vglFXo9GD5WraH3uc2EkiHohMYABsBAozAGpqwlrCftYqPeNhUlgPOh87zZg2xaFssfCxKkYZTDXA7PQ.a4KesSLfcgXsvITLxRQanJAM.NGsqkNFLCI1MwLUQnEVZA3HMDKjvxrEdqDOOtPbCIbCQKbyrYEizqgPubYFqUWlzHVzp0EFYIF6kQxs2EsOoYdySJJeckwVQjJFMMVKchRciEuVNYsXwa1EeBtcrKutlTxDw2+XsqpE6LqiTvkOpx3DILpztS+IkjzJbi3XQy71p4Dq2Qdv9Wp2svHoBIK9R0iTGe8jhUqJku0UQ5XTo2NQtvtbV7KDqMnyNIfDHZG0dxM1I6E+zgsZmcf4.Qqi5jytcxAwa1bX7ZpWaL45N8ZazzrboX06rW81IpTD2hzreD6jEIMNKm9Y6aeo9QsrZmrvkow4DSL9P0pYG1d+yj5oKHl15E8JE+Jr1Xs3Mxb1I4GmPyN49RGUnIAj0xmEUqsR5ytoc1SMibnP77BOu2Y5sJWpXk8doXgLku4vnYRKTljuR1L5k5YojTb3UwLyeRkKJYdQDoW.6RuRpihuemKqcZ9585mnU790ZnHeEoyY6DwnW8m2sPb0qupj7NENKI9HkwxMKU2pVhbGU+Bq3sNo3ESHwilrw3FUZBFGHab8KGalYvKKYXOrggkzgFurbhBVMjNLVbH9YjWbLdu72bYhJx6WbupMGHc0ocss6PRzKudYkB62qtbx81e+iqbt7omGI+HyLipT9pzGlLZqZsacSybWMnL1JeknSTO4zFmCpg7WryKNMdhR6jvzXXiz2DytsTghjjIR2IwNYsincV7gVGlt3kR3h0t33BCN8DipYJuSma1QP+boLZ0nm.B44LPqBfaundOEcHWGDAvl.oqzsnEZPqmPk333OmAVfiR5c.1llIENvk0.npCODdqoSv+YMZHiL15nUxl6D7yEMr0Z4xcB94pOjuEBvxphfx8pXdg4s0RDTfrEv+WrFQElRjs19YgPK+u0yIDQ5K8sqz.4qeScmwZ1y0xWz6Hewti7E+NxWh6He6sLMZEVlQPkB0fWTGRypbMTm.6Am7v0fjlLBSSLOiPcSRWh4z44gz7T3.IZ+rSmCc6MI8fr3NsEQM00LUfiXelaxrh5PsGvIueNT1UHfaHEqSeRGZpHGFp2C.WTAZYnzAAWbeEvUSe5V2DFhM8ULyvzkvatH5NQgZKiJrh5blk6J3fMV0RgTzUgHBntPkmrdOnZb2iCTsuogZXoop9mApYUXEB8mEJnRWTX2mBBOF715.vJLaoDTfRYtoV24qE.ifAGMTlFGhNKZvmfecnu9yB0EJSKbGVMESYeaTGp.4BnrXUUZakguMVYB2hhjucghcKnxLo9nv2FyTgIXvfT4gVncjOMnaDSX2KXXYmYnV3OIJC6AC1AhhNv4mA8vTzkwzzXkTW4Snpsvauvp.xtqgIqmhBWk8AVp0ZdtMBbFC1nkZohBCLSY9EQ+RJmN3z0mALLyjgUaJlCqYtYMOuZVTkZ4DWhnLMF3F6oEz4LzzKUJ7ri7ewzkZIdZeoC7m6WMctqzsZAbMSVpWN84KQLbyn8pIE2pcsvQXAB9ZVKoqKu4xwrePLW82pV8ko4cRm9JB4aE0Y8HdVN6Unk8ggYHNiX5VnrERW8PQ2Pld6JwMnYmYDn7sn7MezvzeVj5R7Lz7VQ.gaZa+CMgFsBGd5XnCPa8KQag9TzVasMZGzL1ombBEDfW6lhnBhMDmsbnV0P4KVMG5zBhUgf8hHQ3gZ4Y+ro3wsEqlUDUrIpgX5rEDygRCCS8jXSnp3YsP0pJN6zOqSVJQmtYCCtsRrdwFPHC82YrSa7jwd5DEZsxjHQfrdxauDy9BEBs4l+EhTCl7EVpkahW994XpmZaYC5y3ZOmxxrtdFNLH8L9YHFzd48osX2Xh2noLgZQj6Ij7RjzPaxedTwUMrI0zcRz.biVbntcW5XtpFVY3KYX58yYtNFcaI2qAjNQt.Ox+UsxuYW0pjyAZOSzPmVLSsgD8UcW3btQA33B7dtnBlpM6R7dp6k3kYjssgNG8NGee9YUUyw.M.t.rqA7Uh4nSYd9sJtIKPH9okI+ZxerE4eyDfY7G+0j+Dul7u2qI+QVB+sKxt3ct.AbcI.2jgDSaEpGXfbjqUjHNWtaP9bDqAPh.t.OYVlCf7F40byrM8a5lZxbD7mjZrhrc+4ihS0mnzqumaiNWJBqNb5M+TlfMceGPlXYEiCMMFMzq+fM4Fa5NSCyxhJS0PuRXMpGrlZzadr9T9rsgL+UVBbehe31TUQlX5ZRmVCmGz9q9y8f1u8ONkl22ZW0TZXOBlQJnUigMUdouSSVi51UAlEOemgZb9k1T+o2RZKlxQDdBOsNXAjyqHPlzEOR0INsWkmE9ZRQcnOMHUxzWRzlXZ9H9ExBrJCD3YsAFnaCikZxbjrOjmkiesdSOwExkwcHpLD+d7reGcU1laATN8k.TrpROcM1N8XdURWaWLUkm8VFnJEmWzvhWtsE6RkYEiXsx7qSewFbDHmCd1aqbyLIdhHOWD4T7HhoFtnHd9qygENWOsP7Eq1RrQ0zkeUQZLOH8aMeafTnvv6DRi6UmN4sARq2PL+WAJ1WUjlv6Iw+h2ZHETrupHcOuV++x27H8C3Y8RybVeUwp2jk.ZdqblJc1VEOQzGRCsRjFj2sA1UATN6TJVULnwtvlSbpAcovxu3fLuk3btKFeLOsKLt0mBYcH1sAVuQjm7FFwz14WFhu8qM+C4qXHORk9l489EnP+rabG.5ev2qNm1autkh8DeepF+X8YoroP7i3qSuctkiwGrDLR+hWdCfQ2OlmmvK1sKQxdN.eDe9ydy7k63c6+8b192m+TvXydcmta9fAq5yn56+6+U+6a5mQ0vM9ynpljMf.22UjEIp2Udgwh4ww4WmiXOR2+zcHEyKIpzA8rqE0qO2ThdmYp5XceKF7ruUphxzigoB8u8ebfy0r2j.RibMKIPX8+Mp7CGTejpE4T5QOOq626gbLujKfMkoW6nO+tGttunrn+tyWTVfM8qx4m4RcNhhtzuNm+f.7nUbmIzanoBvJtGgdyLzgpxtZivai9C+bT78oWRyzI.EyZXRDoewMytn5UekK+3tz+N0M1bmZY++Cj0wmq6O0Ai+D9zEx0rga1F1uQh5WSTAA1u6ZECcig8MzU7cruAw1ToWOhunIKULRaaCMTkcj40D+wAkvS7R86e4G+ctS167bnTl.PyK4BP7iYO+c+CoXK2LBW+OlpIzRluut1y+1FDUB1ZNJh72jRTxf9pStip80+cYFfeCcMdBuiPhXogd2qZjmNEeNVg28.3GvyL+uqp+9o7tNiuyp.eJu6Yi2UUgqsf3G9+aJHd8IXfp+PuS2VyuOOTEZLDyTh9sisrgwH52ZbELj9hderPsOMgx7kHz2klNQkVqQfGPqJv44HSegLMI5xrG9ug+bGLJ84.tCFc5faTGLV5qpClu427y+WdmoClC1jNXNO0R5f4iSsjNXfFN13NX99i+m+t66f4cjNXh8icGLIey0ASx66f49NX9sQGLeymG5+5N1ACW1E5f4e8uZS5f4e5u69NXtuCl66f49NXtuCl66f4GuNXdarGZXISiuRxoJJZxl2iQAjac1+ufCxWg9LZ12lFOeDgHbZPkxekjD0e8SfhgVNOwtC7D+NvSh6.O6cG3Y+6.OO+NvSx0xCsIkzirMzb74AB0Ec9OWdfY+GeOvC49erQklTK
      
      
      posted in General Questions
      J
      johnmike
    • RE: Delay speed - tap

      @ulrik the "host BPM" at current in your snippet it only changes the bpm of the delay module....Im trying to get it to tap to change the host BPM...kinda like Ableton live's tap tempo function...

      posted in General Questions
      J
      johnmike