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: Testers Needed for Rhapsody v3posted in General Questions
@HISEnberg Were you trying to save over the default preset or did you create your own? I suspect it's blocked because it's a factory preset. In which case I'll turn it into a "save as".
-
RE: Testers Needed for Rhapsody v3posted in General Questions
@HISEnberg Thanks I'll check out the transpose issue. The save button also isn't working here so I'll see what's going on there too.
Did you use the drag n drop or clicked the +?
-
RE: Intel Integrated Performance Primitive Linksposted in Blog Entries
@JulesV You'd need to search Intel's site to see if they provide it, or just skip IPP
-
Testers Needed for Rhapsody v3posted in General Questions
The next version of my Rhapsody player is ready but I'd like to get a few more people to test it if possible.
You can download the installer for your OS from here:
https://e.pcloud.link/publink/show?code=kZCfuhZJolLvxQ2nxuDvmh6ezXqkQ5aqfhVYou can download the sample library (Bell & Bone) from here:
https://e.pcloud.link/publink/show?code=XZm4ycZWRIqN1pUCPmGxb4Vxktn7LJfhul7You can install either by clicking the + button on the UI or drag n drop the hr file onto Rhapsody. I recommend you use the standalone version of Rhapsody for installation, but test with the plugin version too if you like.
Thank you
-
RE: Linuxposted in General Questions
@zachhealy1005 You need to be able to compile it yourself - the process of compiling HISE is the same process as exporting plugins. If you can't compile you can't export.
Take a look at my free HISE Bootcamp course, I show you how to compile and export on Linux: https://audiodevschool.com/courses/hise-bootcamp/
-
RE: Custom Loop Player loadingposted in Scripting
@svkpowa Aha ok, just took a look at it and it's probably not needed for new projects.
-
RE: Custom Loop Player loadingposted in Scripting
@dannytaurus said in Custom Loop Player loading:
Can you explain what this means?
https://docs.hise.audio/scripting/scripting-api/engine/index.html#addmodulestatetouserpreset
@svkpowa said in Custom Loop Player loading:
Found the solution! The Migration.js file was the problem. I just don't know why. Can I remove it from the project completely?
I don't know what Migration.js is
-
RE: Load/draw image but switch images using combo box .posted in General Questions
Image component and a panel are two separate things. Do you want to draw the image with a paint routine or do you want to use an image component?
-
RE: Custom Loop Player loadingposted in Scripting
@dannytaurus said in Custom Loop Player loading:
Do you AudioLoop Players have saveInPreset enabled?
That isn't an option.
But you're in the right direction. You need to add the module to the preset system or add waveform controls to the UI that connect to the loop players and have saveInPreset enabled.
