My new plugin/app, Rhapsody, is finally released into the wild!
Best posts made by David Healey
-
I released my project!posted in General Questions
-
HISE Bootcamp - Full Course for Beginnersposted in General Questions
https://youtu.be/7i1vdOz3PSI?si=ZdTWoSeg_gNx4EFY
The AudioDevSchool site that I've been putting together for the last few months is finally ready!
For the initial launch I'm starting with a single course that I'm calling The HISE Bootcamp.
The course is 100% free and is designed for beginners, although there's probably stuff in there that more experienced users will also find useful.
The videos walk you through the process of building two simple plugins with HISE (a sample library and a scriptnode effect). We then move on to building HISE from source and compiling our projects.
Along the way we'll cover a bunch of subjects from basic things like finding your way around the HISE UI to more advanced concepts like Ad-Hoc codesigning for testing your plugins on MacOS.
Here's the link to the course: HISE Bootcamp.
Feel free to share it with anyone you think would find it useful.
Please let me know if you run into any issues with the website or any of the course material - there's usually something that goes wrong on launch day!
-
Export toolposted in General Questions
I'm currently building an app which I hope will allow batch exporting of HISE projects, auto notarization on Mac, and auto-generating installers. So far I have the basics working on GNUx. I need to finish the interface and add the batch handling, but that shouldn't be too difficult, then I'll tackle the other platforms.
This app should make it much easier for everyone (and especially beginners) to export their projects from HISE and build installers.
This is what it looks like so far (it's an ugly work in progress).

-
Time to update Visual Studio?posted in General Questions
It's becoming hard to find VS2017, I can no longer see the community edition at Microsoft's website, only a pro version trial.
@Christoph-Hart Is it possible to bring HISE into the new decade and add a VS 2022 export option?
I know we can already use VS 2022 with a bit of fiddling around, but it's not straightforward and requires additional steps for every export.
-
Plugin Showcase and scripting stuffposted in Blog Entries
With HISE reaching its 10th birthday recently I thought it was a good time to look at some of the commercial plugins that have been built with it.
I've put together a little blog post and video featuring some of the plugins that have stood out to me. See if you recognise any of them.
-
Tic-tac-toeposted in Snippet Waiting Room

HiseSnippet 3900.3ocuZ72baaakJIpMRacq8t9A.1+QqrirrjRhaRbypSjsS703FewdocymubPjPRHljPkDJ1po8t8EXeW22fs26APRPIYWG210ysU.3g2u+E.wAIJeQZpJwqR8ilNV3U4OW8vow5Q8Fwkwd6ssWk+TUsz+Ht+QJg2SmNlmlJB7pT4lOCAnRsa4Q+y+4adJOjG6KJlxy60Jou3ExHotX1C15akgg6xCDGIibf9dasmuJtmJTMAXlaVss2Xt+o7ghuiifcipdOmmNxqxpUefe+fMdX.+q5uwF8+pN9AObP6NOjKD8u68evcE22eC+NC1f21qxGsSfTqRNTy0hTuJ25opfoGNRcVrg.uVlJ6GJvAc7NDnrY5cUgAnHhy50ajLL3fLsTpGfkCJzY2zny97p6KCj4yWn69TZAVwNbUfUtQY16lkXuNtrWaG1aArTEGV5VFV5ypdnehbrtXEisbuXsHY.2ursz.q2M92KWc8UWs9prij5Pwif+m0xCS8jI5QpjGw1l+NY.64BdnXJL8K3oZ19p.4.oH3QrtsWqS205debEv3GmBX4fI8Ck9rsUQfdo9pqWudOEvFw5VQ7SE6l.CxYqFaztcSF7eVYy50AGB.4CS.58X1wmrIa80YOg0caFOIgOkoGw0rDw3DQJfrTXrfMD7VX8U7jfV0qmHFxd1q1a62b3d+yc.TbWBCGAfEOIpuHgoFvRTmkttuJbRTbZSVpPy5OkcZb+mATkPv3P9T.zGyZS6t2jjDfZ1oaxZCqXAoSSVmhQcocqUZd39p2IRywvQ3TNbPDspFTEw0qu95Kw5qieEHRZq7mMDPPldanP2SEMVECCZrbF.KC5rre2JEAIVmnB6wCC6CwRMTwYqZWA0wx3PYrfMXRruVphYyATC+LJ0j8Nd3DwJ0ee8ZxArF1Q0pkHzSRhAjUCME5F.d+EinjoHMRhczEJH10Q4v9yEKF1EuTonLLKVHb8MnY2bdIvOp+AjAM0JDESbgxQAHnnTLZwRSw5Wp.MGXKVllk+GGG9TLbvx8YCuPdOC.jyy98h46rUK3ZW32WMIU.AKPpmFK2KQklBYESLSrbSlIQeZqyFI0hlrigf91m3hh.tl2ZDDZfgdGuFDasVmSJShWiBcir0VrVaFlbw5LLMDFiZ7nOt8I1EOlvJnHco5APRL8qTSz.kZjQoFCID8NdBiC7qdjLE0quP4ygcNINHsAlQqV8ZCMJST5ajqDj5QOIb7HdirMBA0CMqt7JMYEyJh4PIAv3v9FVmVsYOh0t08WAw7vVCf5puBokH3UBeMOdXnnAGxIQTtlg6fLceuLPOBXR9wcOgsdQBxMMP.IDetPNbjl.4tyBR8ZCTIrFRS5LI6qcVkIuycf7AuuVMjbD1NGfKmlqxjFN4JqE.minOH8.faL0jj82XswTS.kBR3m8BzXcdS14n5noQtVi948VgRJuM.DCb1fdcfjyFuHEotfBCHVIo9sFo9skk52RRcs2ijCk4o.TEZwUYukXq+3jYi11J2OF3P1W7E.OloAbUAFgualvOk9yUE.k3k+DDq3pD.YgD..FeNSlBt3IYNXXALNKUR+1WDF9kvxIB.rXS8XL6uUu3igFEtlmSDOy4nYgJakVIhfI9hfF4dNqiLYlfh3BwKE+CnD+8wxSN9slNDdFTpz2VklBiQdDUilNIR+wI.C5pzJv0ROFxjrBhjW56OYLzQyr6gLx0P84gi3iEM7g.r786nGSwUYujApuef0mC8YAIiLHi3IBMPJYHKBU1oVsewxQVM8NQi0ScoNXxROUNlIwNFfbqngHVoYTNRP+ynbkRclTQNNEYQgrZn3IY+7OylcoNzRuckYXpquSagiYYMko0HZkeoN72ufQryW0HqFSd1Uw6.iYdFVLmx9b8nVCBUP0EZwVmC9HYriwMpwJPrWdX5J1zaSWzlmdE1b8Zyn1.DY1sYz2vNF8nOAhKKJWUyzozRF.8g1fOE7D.SfYhDjT8vYKZixvHPasXclFTJsLmziO+jimdhiW5NmK0nCgqaBODB+BlxFww.0LmsrVzpkIGE0OItFkPZd+QPzID5sxl0LlGrIhcsFhTXHc7.fwGJfnTrY4L6GD4a2LDoarfryFIhYfIMgg0XQFB61sEdbhvTESmiGBPr37D3f.YsPOydVet564EtQY.7Ov5qE5orVwonxCEZW0DvrlbCZUdxBCz0qk6PVxHjeNfkbwJDK3OBQRr37BLTz0+ctCA22JDiAAgl2jNRbQm.nVH1z.6LHAJT5bjv+zcUIeuLtvU.VxwcIENwHr79vo7fSK2v3pBjbOCUnyBg4JFLILjwiCvYSvrGweoFXI.YMgrFrnI3QM.2GFFxZHj6gWdryIobiLJyHGIENLBwGOQaR9NVApx4INlgzPS1T3HO3N.GCv+QcFw+49DfNFM2V2Ar9R2b+DUfvvwN8ZOLyAeEnRXGrjXlE7wrNHamgYxAZwabMVWSCfy53UZuH4yOTDNfJBaBP4oSKzPTGZfIPEQY26AkKMpIWSNBDXOigT5D.cLUU5Yon0GXIqSvh2SayddJf2SYOeRDGnchJBo.ByL3XwrEhfcswwzgIv.+ckfCDfMAUcBq2yvyfSalbtnBSZauSFNFB0PK1hheWHkQMoQgL.6lEEOdXJUOBNs.zlQiknEHE7KTpwrIPEKP8AHdN1qNUw1ft75FH+tGDWCc.UJEuEto+JvUu1EmQ9PrDspTyCF1XlBqYhlNwT9ublrMohiVcNHhmRJTtQgSW6wYpIgANgICkPAkLObHTA8Kf+5XU8X1.oFrDDcwtJM4kMHCQtarF.G5uhooOBCcg+vL5f.QdQtfh7bt8zrAzLj.ISzxHggn1MCFH7JmJGVaX4VFFzVzx5llw6v9vbiv5srY0Rrc+TBRRpJ7sJXZ9PNljixBQLExEXXvpzNFQwGN7QNAJ3DTw2rLiCZuzB0mTmxTmEaq2tJqOF5g6bVJ.pC.ostnnA2nXyFNR0CKBPgE+5G85peRkbWXpyYqK7h5.r.lrBpVVxr9kVtZlsuVGyjNUwrcTm6+KaBMhRsNl2OTRVGx4sMhckvdtHbLXGxUefWOUFw1zsJtn9Wq4z0E8khmVoooe87j3KYGlyCliPsSXnbbZ1VtOIgNGtBmlt7.6OX2w7qtYS0o3GYqc2SLH5CDOtaOG02O6VeX8BE7Dmx+XlY5hg.+yDIdLxz4zH1KNBUAtcjWbtyljk.4UeD8DDT6FN2PpaqOlILLj4BLgvQmi.khVr05LesUGrekc5IqlLcaATB.5d050sxJNtfl6P9C3r7y45Zc+ps3VDWPaBy1a1kobohbn5bm3g.RZg60twmpNuwxOCuY6WBmz.fcYSuJrkA+fF19QgeBkftCLGPwzk.nZewLkaeZ+twT6g454L.2NTmJg88P2tBHSL1rMlhvlI0do63Uv2zzZ5YPLrjOTECzEgNUHvy2TNirsLCV8hmdJceCjqEvFSYoxHYHmpAJ3Pq4JbuMY3YVgTBgSYQxXv7GHGL.vYruHskgA8oJpXMQEns5KGVnwPVyOgGgUnPBAFbEwqwhTMHVvIIGCRP+IZDBpzLVBPX3HjTR+IgZjmvylgD7Pk4FRnpT.M26Kg5npwH1PuyTvsJgi2LZZDVDqHMWpQT.+NgVhS.HC2wP.yZP7jw9vuv6a.IEuuLTpmtvxMkRVWzzEjG.4Uax7dFiTwgOVxrtI2nKjuBrhMr2z3kB31YF3Lns4XMPsoaeOiMWpgi2hIUFPJRIpUIBZ0764w.FqM4UwZ2BcTLsqidIRxFfafbKHDkcSU1q5iZUBMxNPDwoC4Q05oVafYs8PIM97WTI8x5vqb1La6uDsJteq1mXOIPIQzbgpnF2Be4dQKZENctlPcKcapx5lbryklbzbBSjCBTByMQYTSFtfLHVcDcsUFWciNdgceP6yoi.6IaLs9iSzGbnOM+pxpQYiqWtWhxcLPYpyN5EgmZ4NWGhIt3okLPT.r8BOSWB.pGdVNLqSXjBjIYfHlteXa5jzy3iGCAZvgNj9RJQxE3AXhM9sX9aeBno1bw15x10Z+FMr4Vl2hj7+WVlxFFPSymy5PYgyzl1j1jqUeHTEObjIt.AiSNlT9eL2LdiBvgHn6Mf6ieKp76lNubSH9wrorvPFzvIABKwRIOBhDYfZHAnuWCmIVElmJW4X4uPmAm7enGAFQS0DyPe8Kv92Fs+4V1r7wFnx5d+84WIPtYGv+2UpREjn8GmHwKcCzvfZ4LdLkVjzkcv9lIoc1DtF0Id9oLeIowWZgtwyeFCWeIFwTPrjI6cV.DyBm49vljRpDtw3bk79thdd4p7binQuOqFu3FuVi4batWtJm7+uF5mRDC92O7XuqhzufvNmuVJXSDuz1M.rDa1kFLXgqY+3pPaJKbY7g9jbYarg4pPc+jrHfdUtU4WHS0K9Ex39.d7MeXaG.Uw6EK0ubrH9hdVOd1uFtmWkaX4J.TM8VZ9T6aoomJpuBZ60SFfuSphqLzi36h2xzs2xaVb7Wr33vPH2VBggZUsuQgEr8+9day0b7o8X4KfWGiecRTMTYaw6fPGyC8oV0sEompUiAsU9mwGl1P1OI6Y.wiEgDUqWMqWeuyKH4+Xqo4C15MacF9Q2JVc5VinOJh6LzUOk8kZ.l5uV8IPSSESj88qQM0859f1c69vM13tdEemHyBOr6C1nyC67Pz.jy72trN6oSzZUrk6ydcJNb++xk681aqT96D6Ee.cfViGgVbN7qOtpYmli2fuLqW.mzz9Xvjo6qh.pySll4iTvPe7U0QvgohJyTQbXspUtILXVk4WuEpU.c3WTsKyfo5cr+vbCx4idNZ2b4r5WA2qBlhclKSs8VQtOguaa3wrgKuETwX7gxeR39J+hjAAghCTozYOJV4y2JPLfC8u+5Y8kM59OpJwJdy+R09zp6qBlDx0ke3b3yKzt.RH2WqF9XwhAFXpKi861qo6pxheV0Cvu8yh4war.dDSs7G.OZeCheR0cfSz5qKXvaUc2e3OlGbnm44uLbetNQht0e2jnCgPZeAP8XHSClqtxMvrplwswwnF3PQb.M3+B+icwN33J1E6jsnWD1o1a7M4QwW43soY.dJldQn0ptONl0Y1zmddfSp7M99kQ0bar60ci285tw6cc238utabiq6F+pq6Fevu9FwLuOYhVEYBa771+fcnxcUpri4lmPuUu+G.YA2EhAn implementation of tic-tac-toe. I've included lots of comments to explain what the code is doing and why, but if something isn't clear just ask.
By default it uses a traditional 3x3 grid and you can use the knob on the GUI to increase this.
The game features 3 modes. 2 Player, 1 Player Easy, 1 Player Hard.
In easy mode the computer move just fills a random space. In hard mode the computer will attempt to take a winning move or block the human player from winning. If there are no winning moves then it will fall back to the easy mode.
Improvements that could be made are:
- The ability to choose which player goes first. Currently it's always the human.
- A higher difficulty mode where the computer will test all possible moves for both players and choose the most optimal move for their turn. If you fancy trying to implement this, lookup the minmax algorithm.
Enjoy
-
Show and Tell: Grid based layout systemposted in Scripting
Just wanted to share something I'm working on. It was briefly discussed last month here.
It's a grid based layout system, inspired by html and other layout languages. The idea is you define your components once in a JSON type format, pass it to the layout engine, and it will do the rest. It can layout components in a vertical or horizontal stack, or use a flexible grid.
If no dimensions are passed components will stretch to fill the available space. Dimensions can be passed either as numbers or percentages relative to the parent/column/row.
By default components are centred horizontally and vertically within each grid cell but you can specify their alignment (top/bottom/left/right). For stacks components butt against each other, I have plans to add some alignment options here as well though as well as margins/gutters.
If you want to add multiple controls you can define one control and specify a number of clones, and they will be created and positioned automatically.
I think it will make it easier for me to transfer layouts between projects as well as quickly build complex projects. I have a lot more functionality planned.

-
Universal HISE Downloader/Installerposted in General Questions
A couple of years ago I proposed making a general purpose downloader/installer app. In the time since I've created a downloader/installer for my own libraries and it works really well. I thought I'd see about adapting it to be an option for more developers.
I'm currently prototyping some things but before I get too deep with it I want to know if any of you would actually use it.
Unlike other similar apps (Pulse, Conduct, etc) what I'm creating is decentralized. Your customers will log into the app using the account they have on your website and downloads will be served from your servers. The app will of course be free software.
The app is more limited in scope than those other options. I don't intend to include an integrated shop and I don't plan support for non-HISE formats - but who knows what the future will bring.
The benefits for you is it's very cheap (you don't need to pay a middle-man), you don't have to develop your own downloader, new customers will discover your products when exploring other plugins available through the app, it's HISE focused and will support expansions and additional presets, etc..
The app supports serial keys to limit access to downloads. It does not (and cannot) provide any DRM but you can include this in your plugins if you wish.
It can integrate with any website, you just need to setup some endpoints and make sure they return the correct data. If you're using a Wordpress/WooCommerce site I can (for a fee) supply you with a Wordpress plugin that will integrate seamlessly with the app - this is the plugin I'm using on my own site.
So is this something any of you would use? If so I'll continue developing, if not then I won't bother, I don't want to be the only one using it :)
Here's a preview of where I'm at with it.

Latest posts made by David Healey
-
RE: I made a really good sounding JUNO-6 emulation for free, shared it in the KVR forum - this is what happenedposted in General Questions
@Orvillain said in I made a really good sounding JUNO-6 emulation for free, shared it in the KVR forum - this is what happened:
make sure MacOS performs a postscript process to remove the quarantine flag that Apple helpfully decide to add to almost anything you download through a browser these days.
Won't the installer itself have a quarantine flag if it's not codesigned/notarized?
-
RE: I made a really good sounding JUNO-6 emulation for free, shared it in the KVR forum - this is what happenedposted in General Questions
Edit: Updated from my earlier post that had some incorrect figures.
This got me thinking.
I have one free product that generally gets positive reviews, but I've been considering making it a paid product - especially since I've just completed a big upgrade for it. So I decided to run some numbers.
17,292 people downloaded the free product.
400 (2.31%) became paying customers on average (very skewed, see the bit below)
The average delay to conversion is about 84 days.
336 (84%) of converted customers bought only once.
During 2023 and 2024, the freebie benefited from YouTube exposure, Facebook ads and product marketing, around 3-5% of downloaders went on to become customers.
Based on downloaders acquired since that marketing activity stopped, the conversion rate appears closer to 0.3-0.7% (roughly 1 customer per 150-300 downloads).So for approximately every 1000 downloads I get 5 customers. They go on to spend more than the freebie cost me (not including the initial cost to create it), so I guess the freebie stays for now. But that conversion rate is terrible.
-
RE: audio files not embed (Engine.loadAudioFilesIntoPool) addedposted in General Questions
@Yannrog said in audio files not embed (Engine.loadAudioFilesIntoPool) added:
Is that good?
Does it work?
-
RE: audio files not embed (Engine.loadAudioFilesIntoPool) addedposted in General Questions
@Yannrog That loads the files into HISE to make them available, it doesn't load them into the reverb.
You need to get a reference to the effect
Synth.getAudioSampleProcessor()and then you need to use.setFileto load in the impulse.https://docs.hise.audio/scripting/scripting-api/audiosampleprocessor/index.html#setfile
Another method is to have a hidden waveform control on your UI connected to the convolution. Make sure it's set to saveInPreset and load your impulse through that control. Then the IR should be saved with the preset.
-
RE: audio files not embed (Engine.loadAudioFilesIntoPool) addedposted in General Questions
@Yannrog If I remember correctly in the compiled project it needs to be loaded through scripting.
-
RE: audio files not embed (Engine.loadAudioFilesIntoPool) addedposted in General Questions
@Yannrog How are you loading the IRs into the reverb?
-
RE: audio files not embed (Engine.loadAudioFilesIntoPool) addedposted in General Questions
@Yannrog What makes you think the files are not embedded?
-
RE: audio files not embed (Engine.loadAudioFilesIntoPool) addedposted in General Questions
@Yannrog The version number doesn't really have any meaning because it doesn't change between commits - although apparently it did change recently
. The git commit hash is more useful.This issue is not related to the HISE path.
How many mb of audio files does your project have?
-
RE: Building Hise githubposted in General Questions
@Yannrog said in Building Hise github:
When I open it it ask for the sample location. I have to reexport as monolith?
Maybe, try it and see
-
RE: I made a really good sounding JUNO-6 emulation for free, shared it in the KVR forum - this is what happenedposted in General Questions
@Morphoice said in I made a really good sounding JUNO-6 emulation for free, shared it in the KVR forum - this is what happened:
that doesn't change my experience though ;o)
True, no amount of AI can do that :) Just respond politely, ignore the trolls, and focus on the positive comments.
