@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: 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
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
@dannytaurus Great idea. I'll add this to the HISE/JUCE package updates.
Thanks!
-
RE: Customer support softwareposted in General Questions
@dannytaurus Hey Danny,
Not to Hijack your thread but figured I could let some light in on Soundsync.The initial post is about support. I dont have this yet but I just added to the update list and will get it done ASAP! This feature would be included as "transactional" emails, so they will be free.
Soundsync also offers a Marketing Email option which segments your users based on useful info like products purchased, date range, imported list and more options coming soon (like plugin versions, etc).
You also mentioned wanting a more easy to follow fee matrix. Soundsync is easy.
10% fee covers everythinng except marketing emails (first 1000 free every month) and redemption overages (first 10,000 free each month).So it looks like this:
10% Platform fee (covers transaction fee as well)
Email Marketing (First 1000 free each month, then $1/1000 emails)
Redemptions (First 10,000 free each month, then $0.005 each)There is a $10 monthly minimum, but this is waved once you surpass that in other charges (like platform fee).
Soundsync is also a MoR.
Apologies again for Hijacking. if you feel this is crossing the line just let me know and I'll remove it.
Best,
Aaron
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
@Edwards said in Soundsync Beta: HISE Ecosystem | UPDATE: Native-Authoritative C++ Licensing Bridge:
Sounds like a useful workflow for HISE developers, especially having licensing, delivery, and customer management tied together. I’d be interested to see how the activation flow handles offline use in practice.
Good question! The current flow is online for first activation because the plugin needs to verify the license/serial/customer account against SoundSync and bind that activation to the user’s machine.
After that, the plugin keeps a local activation state so the product can continue opening without calling home every launch. If the server is unavailable, the plugin can enter an offline grace state instead of immediately locking the user out.
The intended behavior is:- First activation requires internet.
- Normal launches restore from local activation data.
- Periodic validation refreshes the license state when online.
- If offline, the plugin can continue working during the configured grace window.
- If the license is refunded, revoked, deactivated, expired, or outside grace, the plugin returns to the activation screen.
- Developers can choose how strict the grace period should be for their product.
So the goal is not “phone home every time or fail,” but also not “activate once and trust forever.” It sits in the middle: friendly to real users who are offline, but still gives developers control over revocations, device limits, offline grace and subscription/license state.
-
RE: NEW GUI DESIGNER APP! ::: ROX DESIGNER SUITE ::: is LIVE!posted in General Questions
@Chazrox Gotta check it out now!
-
Soundsync | Storefronts: Branded Website Builder for Developersposted in General Questions
Hey Gang,
I’ve been working on a complete website and storefront builder for plugin developers, and it’s now mostly finished.
The goal is to make it easier for developers to launch a polished, branded website for their plugins, instruments, effects, sample libraries, or audio tools without having to build the entire web side from scratch.
I’m using Moonwave FX as the live demo:
Moonwave FX WebsiteThis is not just a product page template. It can be used for a full developer/brand website, a complete storefront, or only for specific pages like a product page, landing page, homepage, etc.
Moonwave FX is using Soundsync fully as its host. Only a domain with access to DNS was needed. Outside of that, everything is handled directly inside Soundsync.
The builder is designed so you can customize the website around your own brand, including:
- Full branded websites and storefronts
- Individual product pages
- Full Catalog Pages
- Custom domains (including SSL certificate)
- Custom themes and color palettes
- Logo and brand placement
- Screenshots, videos, audio demos, and product previews
- Feature sections and product descriptions
- Purchase, download, or signup buttons
- Support, documentation, and contact pages
- Page-level customization for different products or releases
Everything is meant to be editable inside the website builder via pages themes, so you can adjust the layout, content, branding, colors, themes, and page structure without manually rebuilding the site each time.
I wanted to share it here because a lot of plugin developers spend most of their time building the actual product, while the website, storefront, branding, and presentation side can become its own huge project. This is meant to make that part faster, cleaner, and more flexible.
I’d be interested to hear what other developers would want from something like this, especially around storefronts, product pages, demos, downloads, licensing, documentation, and support sections.
Website Builder Pages View:

Click Here to learn more about SoundSync.
Of course, everything within Soundsync interacts so websites, customers, verification, serial validation, marketplace, etc all work to make a smooth experience for both Developer and Customer.
Best,
Aaron
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
UPDATE: Native-Authoritative C++ Licensing Bridge
SoundSync HISE package is rebuilt so the UI stays in WebView/HiseScript, but the licensing authority is now native C++. The WebView only collects user actions and renders safe public state. C++ handles activation, validation, restore, protected storage, device identity, offline grace, deactivation, and the final mayOpenProduct access result. HISE copy protection then reads that native result.
It’s not a pure C++ UI replacement. It’s a hybrid: WebView for branded UX, C++ for licensing authority. That seems to fit HISE better because WebView is still the easiest way to keep product branding, storefront, My Products, and login flows flexible, while C++ owns the trusted licensing path.
@Lindon thanks for the suggestion.
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
UPDATE: Auto-Detect + Dynamic GUI Sizing
When you download the HISE package, you will not be required to enter the GUI size anymore as it is auto-detected directly in your project. Thanks @David-Healey
Also, the complete HISE package is dynamic and will change dimension based on changing GUI elements (like an expandable keyboard or effect section). Thanks @dannytaurus
For example: Customer didn't pay for their subscription, grace period ends, they are using plugin now with the keyboard extended. The plugin will pause, popup the activation webview, and the webview overlay will still block the entire plugin, not just the original size.
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
@dannytaurus YES! Im adding this now as well. Didnt even cross my mind.
-
RE: Soundsync: HISE Ecosystem | UPDATE: WE ARE LIVE!posted in General Questions
@David-Healey I have a position open when you're available lol