New granular synth: The Mangle

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Locked New Topic
RELATED
PRODUCTS
The Mangle

Post

New update fixes Reaper GUI sluggishness. Woo!

Post

Hello everyone, I thought I'd drop in and give some background on what's been going on. As some of you have noticed, there were some ugly mistakes in yesterday's release. I've just pushed a new update which I think (hope, pray) fixes these issues. It's been a tough 24 hours fixing these blunders, and I'm now eating a large bowl of ice cream to calm down (I'm beginning to learn why so many devs are on the larger size).

So, why did this update take a long time, and where are those presets? One factor is that I'm just one guy - I do the programming, design, website, accounts, email support, deployment across 2 operating systems and 3 plugin formats etc. And I'm pretty new to most of it. But I just wanted to highlight two things I've been grappling with, and those are "technical debt" and deployment.

Technical debt is a term that devs use to describe code that suffers from a mixture of poor original decisions and subsequent additions that further complicate them. The Mangle was my first program built for others to use, in fact it was the first large C++ program I ever wrote. There are many parts which I could write much much better now than I did originally. Some of these parts can be fixed with some elbow grease, and in fact this release has much cleaner code in many places, though of course mostly this goes unseen. For example, the Waveform display was a huge single component with many overlapping interacting parts. Now it's a stack of simple transparent layers, which makes it much easier to reason about each part.

There are other parts which are not so easy to fix. Some are simply so tangled and complex that it's hard to refactor them without creating more bugs than you fix. Others are hard to change because you need the program to stay compatible with earlier versions.

For me, the worst part of The Mangle's codebase has both these problems. It's the part that deals with preset saving & loading. A lot of this originated with a feature request that many people had - the ability to embed audio into a preset. "Great idea," I thought, "this will make it easier to share presets". This feature is hard to get right though. If your Mangle patch has lots of high-quality audio, stuffing it into the XML format that was originally chosen for the Mangle's presets can be very slow. And there are lots of edge-cases:
  • If you save two versions of the same preset, do you want all that data (could be 100s of Mbs) duplicated?
  • When your DAW project saves, it needs to save the plugin's state, which it does using the preset system. But if you're using & editing a preset that has embedded audio, stuffing the data every time into XML is slow, error-prone and space hungry. And some DAWs like Reaper save state extremely often, causing lag or crashes.
  • Part of the idea behind the feature was to allow sharing between users, but there are significant difficulties loading data saved on a different OS.
Now my preset saving system is a large, rather tangled bit of code, dealing with off-thread saving & loading, audio file formats, references to other Mangle presets or embedded data. This was the cause of some of yesterday's problems in certain DAWs. On the other hand, this is an extremely useful feature, which I think works quite well now, but it's been quite a hard slog to get it there (I was nearly pulling my hair out with one cross-platform bug last night).

Like other parts of The Mangle, this could be done a lot cleaner, but I guess when I started writing it I had no idea how many people would want to use this plugin, all the features they would need to use it to its potential, and how they could be accomplished (I've learned a lot!!). I guess if I hadn't been so ignorant, I might have been too scared to even begin!

All this is made a little bit harder by the fact that I've been working on a new synth. That takes time, of course, but also I was able to learn from many of these mistakes on the new synth, and it's very tempting to work on the nice new clean code instead of the old dirty stuff :)

Deployment is the other thing I wrestle with a lot. When I started writing The Mangle, I was writing it for myself, a Mac user, in what seemed like the simpler days of OS X Lion. I had no idea about how damned difficult it is to release a product on 2 operating systems that are constantly updating & breaking things (Apple are more guilty of this recently). Quite honestly, I hadn't used Windows in years and didn't expect many people to notice The Mangle and ask for a Windows version. The same goes for Pro Tools and and AAX version, which is a right faff I had no idea about either. It's so incredibly convoluted to do a release that it seems like every time I do one, something's broken, whether it be permissions on El Capitan, the installer on Windows 10, backward compatibility with Snow Leopard, you get the idea. And there are so many permutations (AAX on Windows 7, Ableton 8 on OS X 10.7) that it's impossible to test them. There's nothing to be done, but this stuff frays my nerves, every release turns into a multi-day ordeal, and it can have the effect of putting me off. :dog:

Finally, a word on presets. I know many people are waiting for them. I have some great presets from Steven Wagenheim and Gabriel Dib, but I have been holding off releasing them for some time. Firstly, because I needed the preset system to be more robust, which it now is, I think. Secondly, I wanted to create a bank of my own. Steven and Gabriel's presets have some great sounds which many will find useful, but I wanted to fill some 'sonic holes', if you like. In particular, I'm making some more naturalistic sounds as they both created banks with a synthetic focus. Also, I want to show off more advanced modulations in my presets, partly just as a learning tool for people who are new to The Mangle.

I took delivery of some portable recording equipment a couple of weeks ago, which will make it very much easier for me to collect material, and with this release (hopefully) complete, I'm going to concentrate on presets for a while.

Sorry for my ramble, I guess I just wanted to be more open with you guys, and also to explain some of the frustrations which make me hide away sometimes. Keep messing with noises. :tu:

Post

I had the sluggish interface issue in FL12, now it's gone. Nice.

If you want to feel better about this "worst launch ever", check out what happened with z3ta+2 :D

Post

Wow, very cool and illuminating post!

I'm looking forward to getting this up and running

Post

acYm wrote:I had the sluggish interface issue in FL12, now it's gone. Nice.

If you want to feel better about this "worst launch ever", check out what happened with z3ta+2 :D
You wouldn't have heard, by chance, of issues with the latest Z+2 update? I had trouble, and ultimately, it de-authorized my legit copy. Been 48 hours since my support request. I'm being patient. :dog:
In rotation here: Hammock- Stranded Under Endless Sky

Post

What about those missing emails to some of us, where can we download the update now?

Post

wagtunes wrote:Sorry, but that's not professional
Neither are airing differences publicly or laying down ultimatums on forums.

That's more of a twitter thing, I think.
:hihi:

Post

Great post Tom!
It's good to show what's actually going on behind the scenes and how complicated things tend to become.
I personally am not worried by your absences - the plugin works, you seem committed and every now and then there is an update - works for me :-) :tu:

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." - Rumi
ScreenDream Instagram Mastodon

Post

Still an issue on my Mac : the plugin seems not to know where are the involved audio files and crashes when i manage to open a user preset (that is still using factory audio files) here on a sheet, the crash report primarily destinated to apple :

https://www.dropbox.com/s/t28l16uevy29a ... h.rtf?dl=0

Still i didn't try yet to trash all the original files before loading the last full version, gonna see if i can circumvent the problem that way...

Post

:?

Wow...i'm afraid the problem is deeper : as far as i can see, the presets are kind of monolith patches (judging by their volume) though the interface says not to find the original files (with it original file name)...and no change after entire reinstallation !

:(

too bad...

Post

Really great to have you here Tom, and on the case in such a visibly involved way, thanks. I'm a software developer myself professionally, and I totally get the challenges you talked about so clearly.

In my (getting pretty long) experience, there are exactly zero non-trivial projects with no technical debt. You *never* know what pieces will need to expand in the future, and in what ways. That all-encompassingly-robust umbrella strategy you built over here ends up as largely unused weight and complexity, and this quick bit of semi-scotch tape in the back of a seemingly-unimportant drawer turns out to be where major expansion needs to happen, repeatedly, for years after.

Deployment is one aspect of works-for-me syndrome. You test your stuff in as wide an assortment of circumstances as you can put together and can tolerate doing, but the vast majority of real-world situations aren't exactly any of those. *Something* is *always* different about every computer environment, not to mention people's ways of working, experience, and mindset.

So hats off to you for shipping! That's really the thing, getting your work out there, and into the hands of people so they can use it. Some will love it, some less. Some will have some of the problems you worried about, some will hit things that never even occurred to you.

I'll be taking some vacation time around the holidays, and will definitely be checking back in with the Mangle, looking forward to all your improvements.

Thanks again.

Post

That ramble was very much appreciated Tom.

I have been slowly building a library of "found sounds" myself and The Mangle has become a permanent part of my setup due to it's ease of use and depth when required.

Great work.

Post

Sampleconstruct wrote:What about those missing emails to some of us, where can we download the update now?
+1 !
now it's fixed on reaper I'd love to install the new upgrade...
pleeeeaseeee!!! :pray:
:tu:

Post

AgiKvr wrote:
Sampleconstruct wrote:What about those missing emails to some of us, where can we download the update now?
+1 !
now it's fixed on reaper I'd love to install the new upgrade...
pleeeeaseeee!!! :pray:
A direct mail to Tom gave me a rather quick response.
Might be complicated to sort forum names to users/buyers through KVR... ;-)

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." - Rumi
ScreenDream Instagram Mastodon

Post

ThomasHelzle wrote:
AgiKvr wrote:
Sampleconstruct wrote:What about those missing emails to some of us, where can we download the update now?
+1 !
now it's fixed on reaper I'd love to install the new upgrade...
pleeeeaseeee!!! :pray:
A direct mail to Tom gave me a rather quick response.
Might be complicated to sort forum names to users/buyers through KVR... ;-)

Cheers,

Tom
Ofcourse I've sent him a mail....but no luck for the moment

did you use the support mail of his site?
Thanx
:tu:

Locked

Return to “Instruments”