@d-healey You were right, it was the bundle identifier.
Best posts made by soundsync
-
RE: AU Compiles but not visibleposted in General Questions
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
Hey Gang,
Quick update on SoundSync & the HISE integration I've been working on.
SoundSync is now LIVE!
This means you have two integration paths available from the developer dashboard:
1. HISE Script Package
This is the simpler drop-in version for developers who want the fastest setup inside a regular HISE project.The include is intentionally simple:
include("SoundSync/Runtime/SoundSyncRuntime.js");This package handles the branded activation UI, login activation, serial activation, machine validation, deactivation, Store, My Products, and customer product access using HISE Script + WebView.
2. Native C++ HISE Package
This version is for developers who are comfortable building HISE from source. It moves the more sensitive licensing/runtime layer into native C++ and keeps the HISE Script side as small as possible.The HISE Script side is only a lightweight gate:
include("SoundSync/Scripts/SoundSyncNativeGate.js"); ssSoundSyncNativeGateStart();The Native package includes the C++ source, HISE source patch/tools, setup instructions, and the same product/developer branding flow as the HISE Script package.
The goal with the C++ version is to make the licensing layer harder to inspect or tamper with than a script-only package, while still keeping the HISE-side integration simple.
Current package features include:
- Activation by customer login or serial + email
- Product-specific machine activation, validation, and deactivation
- Server-side activation counts and serial status updates
- Offline grace period and cached local license state
- Branded activation UI with developer logo, product image, Brand Manager colors, and light/dark logo background handling
- In-plugin Store with catalog browsing and single product pages
- My Products panel with current product serial, activation info, copy serial, deactivate this machine, and owned-product access
- Branded storefront/account link handoff with SoundSync fallback links
- Test Connection flow for checking package/API setup
- Product-scoped generated config for each developer/product
- HISE Script package and Native C++ source-build package options
Both versions are generated from the SoundSync developer dashboard and are product-scoped, so developers can export a package with their own product info, branding, activation settings, storefront links, customer product access, and machine/license behavior already configured. They both include simple instructions for integration as well.
The HISE Script version is the fastest route for most developers.
The Native C++ version is the better option if you are already maintaining a custom HISE source build and want a stronger licensing boundary.SoundSync for HISE is live now, and both package options are available from the developer product dashboard.
If you are building commercial HISE instruments or effects, you can now generate a product-scoped HISE package with activation, validation, Store, My Products, branding, and customer access already wired in.
JUCE packages are also offered for direct JUCE connection.
Feedback from the HISE community is always welcome as we keep improving the developer & customer experience.
Best,
Aaron
-
Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
Hey Gang,
I wanted to start a cleaner updated thread for SoundSync and keep this one focused specifically on the HISE ecosystem/workflow we’ve been building around it.
SoundSync started as a platform to help audio/plugin developers handle the pieces around releasing a product: licensing, customer accounts, serial activation, product delivery, storefronts, checkout, and customer libraries.
The HISE side has now grown into a much bigger part of the platform, so I want to use this thread to share walkthroughs, updates, screenshots, and short examples of how the HISE workflow is coming together.
The goal is not to replace anything inside HISE.
The goal is to help with everything around releasing, selling, activating, supporting, and managing a HISE-built product.
Some of the HISE-focused pieces currently being tested or polished:
Product setup and delivery files
Storefront and checkout testing
Customer library / download access
Serial generation and activation
Plugin-side validation
Offline grace handling
Suspend / deactivate / reactivate flows
Reseller, imported, and unassigned serial activation workflows
Branded activation UI
WebView-based in-plugin storefront
“My Products” customer view inside the plugin
Developer support links/pages
Customer/product ownership checks
Basic customer and purchase managementRight now the platform is still in test/beta mode. Stripe checkout is in test mode, so no real payments are processed.
For checkout testing, Stripe’s test card is:
4242 4242 4242 4242
Any future expiration date and any CVC should work.
What I’m mainly looking for from HISE developers:
Does the setup flow make sense?
Is the HISE package/drop-in workflow clear enough?
Does the activation/licensing flow feel reliable?
Does the WebView storefront/customer area feel useful inside a plugin?
Are the customer/product/storefront tools helpful or too much?
What would make this safer, clearer, or easier before real launch?
What support/docs/walkthroughs would make the HISE side easier to trust?This is still not meant to be a polished public launch thread. I’m mostly looking for a few HISE developers willing to test the workflow, create a demo product, run a fake checkout, generate/activate a serial, and give blunt feedback.
If you’re actively building or selling HISE plugins and want to test it, you can sign up here: https://soundsyncsolutions.biz/developer
You can also schedule a meeting with me here for any questions, walk-throughs, etc: https://www.soundsyncsolutions.biz/demo
I’ll keep posting HISE-specific walkthroughs and updates in this thread as the package gets cleaned up.
Best,
Aaron -
RE: Taking my Mailing list seriously, so a first question....posted in General Questions
@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.
-
RE: Apple altool vs notarytoolposted in General Questions
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" --timestampBuild 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).
-
RE: control.Timer crashing plugin in DAWposted in ScriptNode
@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.

-
RE: Preset Crashes DAWposted in General Questions
@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!
-
RE: Making a Simple Rompler?posted in General Questions
@daniel89ep Ya, @d-healey videos are great. I think this is with a Sound Generator but essentially you do the same with the Sampler.
-
RE: Sample Editor Functions + UI Controlposted in General Questions
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+8FUbNTL1sYxMl43zXqFVSgZUeumm3fvsAFtXc19ZnyctF5b2qgNex0Pm6cMz49WCc9sKUGQaB6LiSmpRRBSzaOUfk8doAVqZ8eY0VljDSCRIPT:
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);
Latest posts made by soundsync
-
RE: AI takeover the plugin industryposted in AI discussion
@lijas90 Time. This the the one & you've hit it on the nose.
-
RE: AI takeover the plugin industryposted in AI discussion
Davids right, it's more than a plugin, its the entire user experience. People still like interacting with people, they just don't care how the plugin came together, especially if it works great and solves the problem.
I started off nearly 15 years ago creating music, sample packs, midi packs, construction kits, etc.
I certainly wouldn't consider myself a professional coder, hense why I came to HISE years ago. It was a way, with limited coding experience, to expand my brand.
AI has done that x10.
My opinion is adapt and move forward, not retreat. I don't think AI is going anywhere. Praying for its downfall wouldn't be a hill I'd be willing to die on.
-
RE: Payment providers comparedposted in General Questions
Quick follow-up on the documentation gaps raised earlier: we’ve expanded SoundSync’s public pages so the features, fees, and commercial policies are easier to find.
Product migration is now supported. You can bring a catalog from another platform using public store/product pages or a supported spreadsheet/JSON export. Imports become drafts for review before publishing. Customer accounts and existing recurring payments are separate from catalog migration. Migration details
Security and integrations have expanded too. We support authenticator-based two-factor authentication, recovery codes, and team accounts with role and product-specific access. HISE developers have both HISEScript and native C++ integration paths, alongside the JUCE package. The API documentation now covers substantially more of the platform, including licensing, refunds, subscriptions, and partner integrations.
Account security · Developer documentationWe’ve also expanded the Website Builder and branding tools, including root-domain support and SoundSync-provided SSL, plus native affiliate and collaborator programs alongside reseller integrations.
The commercial details are now explicit: Stripe and PayPal checkout, USD-only pricing, and one 10% SoundSync fee covering ordinary payment processing on SoundSync-managed checkout. Developer, affiliate, and collaborator payouts follow the same schedule: the 1st and 15th, after the minimum 14-day hold.
The updated pages also explain Merchant of Record responsibilities, tax handling, refunds, disputes, and payout eligibility.
Pricing · Trust Center · Payout policyThanks again for pointing out what was missing. That feedback helped us make the information much clearer.
-
RE: Payment providers comparedposted in General Questions
@dannytaurus Thanks for putting this comparison together. I'm Aaron, the developer behind SoundSync. Your post highlighted some genuine gaps in our public documentation, so I've updated the site to make these details much easier to find and compare.
I've also attached a detailed 10-page reference covering the SoundSync entries in your comparison, newer features, and links to the relevant public pages:
Download the SoundSync information reference PDF
Pricing and what's included
SoundSync charges one 10% fee on SoundSync-managed sales, with ordinary payment processing included. There is no additional marketplace fee and no fixed per-sale SoundSync charge. For example, a $49 sale has a $4.90 SoundSync fee, leaving $44.10 for the developer before any agreed affiliate/collaborator shares. Tax is handled separately from product earnings.
The $10 monthly minimum is a minimum, not another subscription charge on top: SoundSync fees already incurred that month, including sales fees and usage charges, count toward it. If those total $7, the shortfall is $3; if they total $10 or more, there is no minimum top-up. Paid products, bundles, and subscriptions must be $9.99 or higher after discounts, before tax.
Transactional emails are included. Marketing email includes 1,000 sends per month, then $1 per started block of 1,000 additional sends. Qualifying free claims and external serial redemptions include 10,000 per month, then $0.005 per additional redemption. These allowances reset monthly without rollover. Normal licensing validation calls are not billed as external redemptions, and a free BOGO gift included in a paid checkout does not incur an external-redemption charge.
Pricing: https://www.soundsync.dev/pricing
Email counting and billing: https://www.soundsync.dev/docs/email-marketing/usage
Fees and redemptions: https://www.soundsync.dev/docs/fees
Payments, Merchant of Record, and the business behind it
PayPal is supported for one-time checkout, alongside Stripe payment options. Recurring subscriptions currently use Stripe. Products and checkout currently use USD only; this is not a claim of local-currency pricing. Any provider currency conversion is separate, and developers bear applicable conversion costs when receiving funds in another currency.
SoundSync Solutions is the Merchant of Record for SoundSync-managed checkout, including developer storefront and marketplace sales processed through that checkout. SoundSync handles the applicable sales-tax/VAT responsibilities for those sales. The tax page lists current country coverage and explains the scope; developer income taxes remain the developer's responsibility. An external reseller collecting its own payment is different: SoundSync does not absorb that reseller's processing fees or become its Merchant of Record merely by fulfilling a serial or entitlement.
SoundSync Solutions is based in Michigan, USA. The business address is 2632 Crossing Circle #1010, Traverse City, Michigan 49684, and support is support@soundsyncsolutions.biz. The site now has substantive Terms and Privacy information, rather than just headings, plus retention and account-closure details.
Payments: https://www.soundsync.dev/payments
Merchant of Record: https://www.soundsync.dev/trust/merchant-of-record
Tax scope and countries: https://www.soundsync.dev/trust/tax-compliance
Business information: https://www.soundsync.dev/about
Terms: https://www.soundsync.dev/legal/terms
Privacy: https://www.soundsync.dev/legal/privacy
Where funds are held, and when payouts happen
Funds collected through Stripe and PayPal are transferred manually to a dedicated business account used only for developer, affiliate, and collaborator payouts, not business expenses. Developer payouts are made through Stripe Connect. This is a dedicated payout account, not a claim of escrow or deposit insurance.
Payouts are scheduled twice monthly, on the 1st and 15th, after at least a 14-day hold. Eligible funds go into the next scheduled payout after that hold completes. There is no SoundSync payout minimum or routine reserve. The scheduled date means payment initiation, not a guaranteed bank-arrival date; unresolved disputes, account restrictions, or payout-destination issues can affect an individual balance.
Payout policy: https://www.soundsync.dev/trust/payouts
Refunds and disputes
Customers request refunds from the product developer within 14 days of the initial purchase. Authorized developers can refund the full order or selected whole products; arbitrary cash amounts and fractional refunds of one product are not supported. For subscriptions, the standard refund policy covers the initial payment, not renewals, with mandatory consumer rights still applying.
The customer receives the refunded product's paid amount and associated tax. SoundSync retains its original share, and the developer is responsible for actual additional refund charges and confirmed chargeback/dispute losses. This is separate from ordinary checkout processing already included in the 10% fee. Affiliate/collaborator shares reverse according to the original allocation. Access associated with the refunded purchase is withdrawn; unrelated purchases are not removed.
Refund and dispute policy: https://www.soundsync.dev/trust/refunds-disputes
HISE, JUCE, licensing, and delivery
There are now two HISE integration paths: HISEScript, for easier integration without modifying HISE source, and native HISE C++, which requires patching/rebuilding HISE and offers stronger native enforcement. The JUCE package is also available, with activation, processor-owned licensing, and Store/My Products integration. Package-specific requirements matter: HISEScript documents configurable offline grace following a valid state, while the current JUCE release requires online renewal at startup and does not provide offline audio access.
The public API reference includes serial claims and claim status, activation, customer-login activation, validation, and deactivation, with authentication and request/response details. File delivery uses authorized customer downloads, and the customer library brings together owned products, downloads, serials, device access, and support.
HISE docs: https://www.soundsync.dev/docs/hise
Native HISE setup: https://www.soundsync.dev/docs/hise/native-setup
JUCE docs: https://www.soundsync.dev/docs/juce-package
Licensing API: https://www.soundsync.dev/docs/api/licensing
File delivery: https://www.soundsync.dev/features/secure-delivery
Customer library: https://www.soundsync.dev/features/customer-library
Storefronts and branding
SoundSync supports hosted storefronts and a full embedded commerce experience, including catalog, product pages, cart, checkout, and customer access. Custom domains can use the main domain, not just a shop/store subdomain. Developers need domain control and DNS access; SoundSync provides guided setup and manages the hosted connection and SSL certificates once verified. Brand Manager covers logos, light/dark branding, colors, imagery, support details, and the supported brand settings reused across the storefront and other surfaces.
Storefronts: https://www.soundsync.dev/features/storefronts
Branding and domains: https://www.soundsync.dev/features/brand-manager-domains
Affiliates, collaborators, teams, and resellers
There are dedicated native affiliate and collaborator programs, not just reseller attribution under another name. Affiliates use agreed product/rate terms and referral links; collaborators use product revenue-sharing agreements. Their earnings and payouts are tracked separately. Team Accounts are a separate permissions system, so a revenue-sharing agreement does not automatically grant dashboard access. Approved resellers also have serial, external-order, fulfillment, and API integration paths, including WooCommerce.
Affiliates: https://www.soundsync.dev/features/affiliates
Collaborators: https://www.soundsync.dev/features/collaborators
Team Accounts: https://www.soundsync.dev/features/team-accounts
Resellers: https://www.soundsync.dev/features/partners
Partner API: https://www.soundsync.dev/docs/api/reseller-partner
Email, growth, subscriptions, and marketplace discovery
Marketing includes campaigns, audience management, scheduling, reports, and growth flows such as cart recovery, onboarding, review requests, follow-ups, and winback. Promotions include scheduled deals and supported codes/offers. Subscription documentation distinguishes recurring access from models where paid invoices earn product ownership.
Marketplace discovery is included in the same commercial model. Launch into an ecosystem backed by nearly 50,000 established audio-software customers.
Email marketing: https://www.soundsync.dev/features/email-marketing
Growth flows: https://www.soundsync.dev/docs/email-marketing/growth-flows
Subscriptions: https://www.soundsync.dev/features/subscription-bundles
Marketplace: https://www.soundsync.dev/features/marketplace
Two clear "no" answers for the comparison
We do not currently offer assisted Gumroad migration or pay-what-you-want pricing. Imports and external fulfillment should not be described as a Gumroad account-migration service.
Migration policy: https://www.soundsync.dev/docs/migrations
Product setup: https://www.soundsync.dev/docs/products
SoundSync is still a newer platform, and I understand that documentation is only part of evaluating one. My aim here is to make the commercial details and integration requirements public and easy to check, rather than leave you guessing. Thanks again for calling out what was missing.
Trust Center: https://www.soundsync.dev/trust
Documentation: https://www.soundsync.dev/docs
-
RE: Payment providers comparedposted in General Questions
@David-Healey I've tried getting SES for over a year now with no luck, they deny every time.
How did you manage to get it?
If I could get them, I could reduce Soundsync marketing email pricing by nearly 50%.
-
RE: The gap between finishing a plugin and running a plugin businessposted in General Questions
@dannytaurus A bit of a rigamarole but I'm biased lol.
@cartemtune I'd open it up. As David said, Japan & Australia have a good market, about 15% of my sales are these 2 places.
-
RE: The gap between finishing a plugin and running a plugin businessposted in General Questions
@dannytaurus What do you mean by reseller terms?
-
RE: The gap between finishing a plugin and running a plugin businessposted in General Questions
@dannytaurus ahhh I see now, I misunderstood the statement.
-
RE: The gap between finishing a plugin and running a plugin businessposted in General Questions
@cartemtune Does it prevent you from using the platform once the cap is reached?
-
Why you should plan for support before launch.posted in General Questions
Hey Gang,
Planning how your plugin business handles licensing, logging, customer accounts, purchases, activations, updates, and product management can prevent many support requests before they happen.
It also gives you the information and tools you need when a customer does need help.
A few things worth planning early:
- A reliable licensing system that handles activation, restoration, device limits, and offline use.
- A logging system that records useful technical information without collecting the customer’s creative data.
- A customer-management system that connects purchases, products, licenses, downloads, and support history.
- A solid checkout and order system for failed payments, duplicate purchases, refunds, receipts, chargebacks, and missing orders.
- A clear Merchant of Record or payment-processing setup so tax, billing, refunds, and customer responsibilities are properly defined.
- Self-service tools for resetting activations, managing devices, finding receipts, and downloading products again.
- A clear way to identify the installed plugin version and whether an update is available.
- Useful error messages that explain what happened instead of only saying something failed.
- A simple way for customers to send relevant diagnostic information with a support request.
- A plan for server outages, expired subscriptions, refunded purchases, and other unusual situations.
Purchase issues can create just as much support work as technical problems. A customer may have been charged but not received access, used a different email at checkout, purchased the wrong product, or lost their receipt. If orders, customer accounts, product access, and licensing are disconnected, resolving a simple issue can require searching through several systems.
When everything is connected, support becomes much easier.
If someone changes computers, they can reset an old activation themselves. If a customer reports a problem, you can quickly see what they purchased, which version they are using, and whether their license is active. If a payment or fulfillment problem occurs, you can trace the order and restore access without manually piecing everything together.
Good customer service is not only about responding quickly. It is also about building systems that prevent confusion and give both the customer and developer useful options when something goes wrong.
This is one of the areas we are working on with SoundSync: connecting commerce, customer accounts, licensing, activations, downloads, product versions, communication, and support information in one system.
The goal is to reduce preventable support requests while making the requests that do happen much easier to understand and quicker to resolve.