Forum
    • Categories
    • Register
    • Login
    1. Home
    2. soundsync
    3. Best
    • Profile
    • Following 1
    • Followers 1
    • Topics 106
    • Posts 666
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: AU Compiles but not visible

      @d-healey You were right, it was the bundle identifier.

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Taking my Mailing list seriously, so a first question....

      @Lindon My subscriber list for my Plugins are roughly the same as yours (around 18k). Ill be as open and honest about what Ive done, results, etc since beginning my current plugin company 1 year ago.

      My main focus for marketing is collecting emails. I do this in various channels (resellers, free giveaways, exclusive blog discounts, affiliates, etc).

      Whenever I have a new release, my email subscribers get it first. Whenever I have a deal/bundle/sale, my email subscribers hear about it first and/or get a special/addional discount.

      Any purchase recieves a thank you along with he downloads.

      Some amount of time later, usually 5-7 days, i automate an email checking in on how they like the product and if they would leave a review. Leaving a review gets you a small discount/gift card to be used in the store.

      As far as campaigns, it depends on what Im aiming for. A new release will get "hype" emails, 1-2/week, for a couple weeks. Then the actual launch and deal will recive 2 emails/week. The final 48 hours receive 2 emails as well for urgency purposes.

      Bundles, deals and sale may get a similar treatment just less "hype".

      My audience is pretty used to my email format and layout. Im usually pretty straight to the point with a bit of sarcasm. I think being yourself and not bullshitting is pretty important.

      I typically can make $2000-$4000 from my email list each release/deal. These deals are usually 2 week periods.

      Hopefully something in this ramble while im rocking my daughter to sleep s helpful.

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Apple altool vs notarytool

      For anyone doing it it manually, here is the code.

      Thanks @d-healey as always!

      Codesigning Plugin
      codesign --remove-signature "MacHD/User/Desktop/PluginName.vst3"
      codesign --remove-signature "MacHD/User/Desktop/PluginName.component"
      codesign -s "Developer ID Application: YOURTEAMID" "MacHD/User/Desktop/PluginName.vst3" --timestamp
      codesign -s "Developer ID Application: YOURTEAMID" "MacHD/User/Desktop/PluginName.component" --timestamp

      Build Installer

      Sign Installer
      productsign --sign "Developer ID Installer: YOURTEAMID" "MacHD/User/Desktop/PluginName.pkg" "MacHD/User/Desktop/Signed/PluginName.pkg"

      Notarize Installer
      xcrun notarytool submit --apple-id "YOURAPPLEID" --password "App-Specific-Password" --team-id "YOURTEAMID" "MacHD/User/Desktop/Signed/PluginName.pkg"

      Wait For Upload To Complete

      Staple Installer
      xcrun stapler staple "MacHD/User/Desktop/Signed/PluginName.pkg"

      Check Status (Accepted)
      spctl --assess -vvv --type install "MacHD/User/Desktop/Signed/PluginName.pkg"

      FYI: Just a tip coming from the altool manual notarizing. I used to have to enter my TEAMID including my name like "My Name (GD78YHD87G)" but with the notarytool, it seems you just need the actual TEAMID Number, not the name as well.

      Also, I dont think this way sends the Notarization Email Confirmation. I did a fairly small upload a while ago and have yet to receive it. I've had it take hours before, but for a much larger file. Typically it sent the email within 10 or so minutes with altool. (it does not send the email. Once the upload is complete, youre good to go).

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Notarisation for dummies

      All hail @orange

      posted in General Questions
      soundsyncS
      soundsync
    • RE: control.Timer crashing plugin in DAW

      @trillbilly If anyone hits the same problem, I got around it by using a tempo-synced ramp and a couple compare nodes to simulate the timers engagement.

      Simple and works.

      336f515f-ea93-490f-9e7b-57a63772fade-image.png

      posted in ScriptNode
      soundsyncS
      soundsync
    • RE: Preset Crashes DAW

      @Lindon @d-healey @Dan-Korneff @Matt_SF @DanH I did another rebuild and managed to get things saving correctly (so it seems). I messed with a few settings and properties so Im not 100% sure what it was but it's working so thats that. I appreciate all the help and input fellers!

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Making a Simple Rompler?

      @daniel89ep Ya, @d-healey videos are great. I think this is with a Sound Generator but essentially you do the same with the Sampler.

      https://www.youtube.com/watch?v=2C4psWqleRs

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Sample Editor Functions + UI Control

      I dug the forum again and found a little trick about naming the Sampler for instances of 2 const var calls.

      Im horrible with scripting and new to this so excuse the shitty code, but hey, it did the job! Here is the code if anybody wants to try it out. It allows you to control the editing functions of the sampler (Loop Enable, Reverse, Loop Start/Stop, etc).

      HISE SNIPPET:

      HiseSnippet 2171.3oc4Z0sbaabEFPRPIj1owIStn2jYvvoWPkQVgT1wtM+TSQJoLbhjLCorSlwMSxRfkjvFbWLKVpeZGOSeD56Pauu8MvOB8t9Z365ktm8G.rfBjBRwIwSKuQd28bN624Cm8bNXg6wnd33XJyxtxwmGgsruoyfyI7IclfBHVc20xtpyQ3Sc6P8wVsOOBEGi8srsW8KEqaWYMK4uW9f1nPDwCmMkk0ioAd3CBlFvylsWquJHLbejO93foFRe2Vc8njNzP5L.Kq5zvJB48LzX7QHgXq3XYu9d9AbJa.GwwwV1q0l5e9fIzSIJ4ebPbvvPrXPSqAfgTSuOMzWfXwrVclDD52Kwmisrrc5kw.qpXfOv4v.+fz4yXhaIWvMSCS9vdk7va0bvqoI7ZX.uBfjsAjVSAo2yYfGKHhmsh.O2voKgiYiPd4eznj0Zk+dUmNTPBBeqonmg2mACR0ndysazXS262nwFeV0pe7GOXmC6cvd8ca5t+iNpywce3QCpVEdjDycOAwbGflFEhYMc+BWY7wViwb8b0qkrXMsoTCAScasdt.qv3teEgNrZ.ILffcGMi3wCnDWJQIiTDAdYzv5dzoQTBf7MgcObFdip+optvuQTV8X2.RJd1xigABe.NDKMW8Za8Q01XCovJUD+BodnP2P.7QHVLFHg5wBOnt1Lao96dD+M.WHQq3shufHRTpAk6G4FpE+4UeN35IrMX4NINPB6HUr1FBSpcxNnvvgPPd8hXfExj.FWNOBB7FOKBhjwgau8u6N2+dklHAcWNMlQ.WjDOfRiVdvnPhKMTrhfAQWWFjYxfnKmAQ4XvT.lwfrRPdopsHxadGeAj2Rh+Dq+lczmFgWsyuZkVFucogbeqnh2x3Mo.ugybRLd04NoZKi8L88EF0gfhm9tsmw4TR0EPhpUuzCt+xPgM0QeRG4pyhJeaYzXNuWvi.QJDws1oPk+w0RbYQXj9eeHJJtfh74pxKaPQN5BE5ikCml2HwoVVXEM8j1s.L+AAw75JC.OhFRGROykP43O00a5PPGBzwmKcjaxhW.fwJ4VVQBgHBPlMR9nnV.GOMt1lFfbqmRCfG5+AfZUX5HITR3pL3nmYg0cEaxRC8RiCBoH+T1ndFTdhT1a276.fbYUAUN3xJCZfGgiYfWgG9PRcInp97ptyuznQEtl1XhN9JZYQ+7rkoXcxroCwLSJQHHzja9NmcVbmylM16oXGCAojtj.9CivjE0tuklRgtrqnQEHJW1i8uR2i8fv.eLyJ.Zk9cbLZLyRBay2uwpDl3FNo0Uyaf+8e8EOnLFnhit.y7p+udP42eYF1R3.2RafNhidsomIMwMcxBnl2FubwfPkNRZg20oO9DLj2TOW4YxbF4gDL7zl+iwH2zIKS4UvWxQnoo5Kv.Op6tHNR7Rb5HMH5KBy3Ah.a6cwm.uQr5U5p3rKN9YbZD7F1omtgf+RFLdV111s04oC9yOtEGeFWZ.i27RvMkXKLCVWvF7hg5MPwjEX90KQnblwew3hLdUmjdMs7wiPyB4OtfmUk1iTg+KviZ8z7djR3BL+ke3vXGNxXGrtaKYcGK62xoMh7TZNqeCt9VGTVeen5.OfL93.HkmJt2bpllahkkA2wZoC4TwWuqSOFFJOzlQOMFXigiStbkJqCh+eD5HPU1r+yW8WdU9Y2VKr7mLvdkudEGQWQ0DocGfNQeht1m5xYyvalrxdmEgHwP1+3chASMapPhQnv3LQj2KCqX0EUghufFhpDJ4iMUHaZnvE3vvZMajpzN99EuG8whB6Eu1tPyf7Er19nSnLfhDWWk4ZZj0EbaebaJCbtbdvQylpXBA3aJmRM9aB74S5COfovBOQ1KXistyb+17JNOL82I2CQyV6.c3lxM5cXyh9SpVJj0mdZOjuOD4UV8FfQLuIsQr1zYDegm9D0BIrlhkLVs5ysNUP.voL6+lsk0Dbv3Ihyb1qYak6bxaU5xKYmP9gyLyM9D8A8JIxaEkzaPWeQRmjNzrfl7gfCNVOuVb+b3oRoqTsH770sztdx44enUh6mLymmlPDLoqvlkCyURfvxx7un5hK.uV+dMXVWJbIS5aVu7LyjtETzJIY5xS7ewqG8VNGR8mEh34usVwUTqW.REk6JREWCJbRketokm+JbWqbWg6xug4xB22yoW.2aRw3ckBvKzjwO03Ueg3uiydiFAucbFXWyY+uco298qcn7gJn79NC3P1roPNIcfu9aTjdL30v2nHpzeiBnDq7k4B9iFh8hVsmA7EK+r+iVxsZmoPtub6kF48wQXD+PwmYIcw2tU+9eIiNKZdsd4CjAKGyfW3CnByERN2a3icXz33Qf6HsUr4R8lwFK3prYRy0YLmn10DDgfCEudlsHw7ihEMhxC7NDwYA45IQtKMNFIeduhiZby4Fu8biuybiu6bi+j4Feu4Fe+rwouZsHxHoiq4eIyJk6kLAqzCA9sgjsCFmtCpYLihS4ZIdL97TeCzrzHJapgkFf4h15hMlpfOGz5+T8Ep9YM81O9rwud9fZURv3f.UUoSfSvvLBL99vqjIq4jLa9rIGRIznITRfW9yKP7+3wXlI1Kzg1gygiqYy7As5C8YhhMNv+aZcP.A5gJeZfqDWz7J+wEK740u1QAWWQJP2+2nJ5p+eeUzkQcyciAuY+b9lNxr9tx2U+WHn1mNSj9No.nCTkb.zYfG1rV4Jh5upwMDiE.Z.l3KG7J3mdwlIEVEK1LYQKuDSA9l9eKeOb6UwpOjfn4vPnjcnYHcLz+g.RPwveVP4TjGi98dpKOSf02VNCfRh7+8FUbNTL1sYxMl43zXqFVSgZUeumm3fvsAFtXc19ZnyctF5b2qgNex0Pm6cMz49WCc9sKUGQaB6LiSmpRRBSzaOUfk8doAVqZ8eY0VljD
      

      SCRIPT:

      Content.makeFrontInterface(1200, 700);
      
      //SAMPLER 1 FUNCTIONS
      
      const var Sampler1 = Synth.getSampler("Sampler1");
      
      //Sampler 1 - Sample Start Knob
      inline function onSampleStartControl(component, value)
      {
          for(s in Sampler1.createSelection(".*"))
          {
              local l = parseInt(s.get(Sampler.SampleEnd));
              s.set(Sampler.SampleStart, value * l);
          }
      };
      
      Content.getComponent("SampleStart").setControlCallback(onSampleStartControl);
      
      //Sampler 1 - Sample End Knob
      inline function onSampleEndControl(component, value)
      {
          for(s in Sampler1.createSelection(".*"))
          {
              local l = parseInt(s.get(Sampler.SampleEnd));
              s.set(Sampler.SampleEnd, value * 229376);
          }
      };
      
      Content.getComponent("SampleEnd").setControlCallback(onSampleEndControl);
      
      //Sampler 1 - Loop Start Knob
      inline function onLoopStartControl(component, value)
      {
      	for(a in Sampler1.createSelection(".*"))
          {
              local r = parseInt(a.get(Sampler.SampleEnd));
              a.set(Sampler.LoopStart, value * r);
          }
      };
      
      Content.getComponent("LoopStart").setControlCallback(onLoopStartControl);
      
      //Sampler 1 - Loop End Knob
      inline function onLoopEndControl(component, value)
      {
          for(s in Sampler1.createSelection(".*"))
          {
              local l = parseInt(s.get(Sampler.SampleEnd));
              s.set(Sampler.LoopEnd, value * l);
          }
      };
      
      Content.getComponent("LoopEnd").setControlCallback(onLoopEndControl);
      
      //Sampler 1 - Loop XFade Knob
      inline function onLoopXFadeControl(component, value)
      {
          for(s in Sampler1.createSelection(".*"))
          {
              local l = parseInt(s.get(Sampler.SampleEnd));
              s.set(Sampler.LoopXFade, value * l);
          }
      };
      
      Content.getComponent("LoopXFade").setControlCallback(onLoopXFadeControl);
      
      //Sampler 1 - Loop Enabled Button
      
      inline function onLoopButtonControl(component, value)
      {
      	for(s in Sampler1.createSelection(".*"))
          {
              local l = parseInt(s.get(Sampler.SampleEnd));
              s.set(Sampler1.LoopEnabled, value * l);
          }
      };
      
      Content.getComponent("LoopButton").setControlCallback(onLoopButtonControl);
      
      
      //Call "wrong" Sampler for SampleMaps
      const var Sampler11 = Synth.getChildSynth("Sampler1");
      
      //samplemaps
      const var sampleMaps = Sampler.getSampleMapList();
      
      //combobox note: cmb = name of combobox
      const var Samplescmb = Content.getComponent("Samplescmb");
      Samplescmb.set("items", sampleMaps.join("\n"));
      
      //Note: Sampler = name of Sampler
      inline function onSamplescmbControl(component, value)
      {
      	Sampler1.loadSampleMap(sampleMaps[value-1]);
      };
      
      Content.getComponent("Samplescmb").setControlCallback(onSamplescmbControl);
      
      
      
      posted in General Questions
      soundsyncS
      soundsync
    • RE: Notarisation for dummies

      @orange Ive gotten to waiting for the email. Ill post update after.

      UPDATE: Success. Thanks again!

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Export Error - JUCE VST3 Wrapper

      @orange it looked a little different as I had downloaded the newest SDK. It had some extra folders but everything else looked the same.

      @d-healey Thanks for the Password. Now that I am able to use the included sdk.zip contents, it has completed an export of VST3.

      The help is much appreciated!

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Dropdown for Floating Tile

      @d-healey Perfect, appreciate it man!

      @MikeB Im already on it!

      posted in General Questions
      soundsyncS
      soundsync
    • Beta testing a HISE-friendly licensing / customer delivery system

      Hey Gang,

      I’m getting close to opening a beta for SoundSync, a platform I’ve been building to help audio/plugin developers handle licensing, customer accounts, serial activation, product delivery, and simple storefront/checkout workflows.

      I’m especially looking for feedback from HISE developers because the first real integration package is built around a HISE workflow.

      The goal is not to replace anything inside HISE. It’s more about the stuff around releasing a plugin:

      • Product setup
      • Storefront/checkout testing
      • Customer library/download access
      • Serial generation and activation
      • Plugin-side license validation
      • Offline grace handling
      • Suspend/deactivate/reactivate flows
      • Basic customer and purchase management

      Right now the platform is in Stripe test mode, so no real payments are processed. Anyone testing checkout would use Stripe’s test card:

      4242 4242 4242 4242

      Any future expiration date and any CVC works.

      What I’m hoping to find out:

      1. Does the setup flow make sense for a HISE developer?
      2. Is the HISE drop-in package clear enough?
      3. Does the activation/licensing flow feel reliable?
      4. Are the product/customer/storefront tools useful or confusing?
      5. What would make this safer or easier before real launch?

      This is not meant to be a polished public launch yet. I’m mostly looking for a few people willing to test the waters, create a demo product, run a fake checkout, and try the plugin activation flow.

      If anyone here is actively building or selling HISE plugins and wants to test it, just sign up on the website: https://soundsyncsolutions.biz

      I’d also appreciate blunt feedback on whether the workflow feels useful, unnecessary, confusing, or missing anything important for real-world HISE releases.

      Best,

      Aaron

      posted in General Questions serial protection beta
      soundsyncS
      soundsync
    • RE: Envelope follower intensity

      @Ben-Catman My first thought would be to just boost the signal before the follower and then reduce it after.

      posted in ScriptNode
      soundsyncS
      soundsync
    • RE: Can't Add Positive Gain in HISE – Am I Missing Something?

      @the-red_1 try changing the type from decibel to "unknown" or whatever the top selection is.

      Then you can change it back once you set the value if you need.

      posted in AI discussion
      soundsyncS
      soundsync
    • RE: HISE Build - "This application is not supported on this Mac"

      @d-healey Then my job here is done.

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Creating Multiple Samplemaps

      @d-healey I figured out that it was looking for samples titled differently. Maybe I'm misunderstanding the script. Once I changed all my sample names, it worked.

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Transpose/Detune Incoming Audio

      Thanks for all the replies. I have yet to use an outside library like RNBO or Faust but maybe its time I give something a shot.

      I figured out a way to get a detune effect (sort of) by modulating the Delay of a Simple Gain effect. Not perfect but for small, subtle changes is ok.

      I will check out these libraries and try to dive a bit deeper into one of them.

      Beast and thank you.

      Aaron

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Get Sample Filename from Sampler using custom Sample Maps.

      @d-healey I know, I can feel you've basically given me the answer and yet its like I'm blind, deaf & dumb. However, of those may be true. I'm looking right over it. I'll go back and figure it out. I need to take a HISE break to work on another HISE project. The cycle...

      posted in General Questions
      soundsyncS
      soundsync
    • RE: Get Sample Filename from Sampler using custom Sample Maps.

      @d-healey Ive got it working with this minor change. Does this look better?

      inline function onSampleViewer1Control(component, value)
      {
      	Sampler1.loadSampleMap(list[value]);
      	SampleName1.setValue(list[value]);
      };
      
      Content.getComponent("SampleViewer1").setControlCallback(onSampleViewer1Control);
      

      This works when using the viewport to change sample. Now the issue is if I use my randomize samplemap button, which does change the sample selected in the viewport, it doesnt update the label.

      I'll dive into the button code and see if I cant figure that out as well.

      posted in General Questions
      soundsyncS
      soundsync