Friday, December 29, 2006

Oops... I messed up...

A short while ago, we sent this out...


You are receiving this email because you have recently downloaded an installer for the Sonalksis Essentials Mk2 series plugins.

We were informed earlier today of a bug in the VST versions of the SV-315Mk2 Compressor whereby it identified itself to the host incorrectly. As a result, installing the SV-315Mk2 can cause existing sessions containing SV-315Mk1 to open incorrectly, and using this version of the SV-315Mk2 could cause problems in the future.

The bug is fixed, and we strongly suggest that you install the updated versions, available from:

If your VST plug-in host reports the version number to be 2.00, then you have the fixed plugins.

We are very sorry for any inconvenience this may cause,

Sonalksis Development Team


I messed up, and the VSTs reported the wrong names/IDs to the host :( I sux.
Still, it was easy to fix, but it could potentially be a pain in the ass to you, so we fixed it immediately...
It's an obscure detail, and the only way we found it was opening sessions with both the mk1 and mk2 plugs in... Urgh.

I'm starting to conclude that I live in a world of paranoia. I'm not convinced that the installers overwrite the old plugins correctly. There's a universe of arcane logic to decide whether to overwrite or not, and flags to force overwriting... and although I've set those, there's ANOTHER layer of arcane reasoning to decide whether to ignore those flags... Urgh. I hate installers. Although, the new ones only took 1hr to build all of them, so Inno ROX as does Iceberg! :D [Even if they are predicated upon some arcane logic that i fear...]

Wednesday, December 20, 2006

It's all going off 'round here!

I've just built the release candidates for Windows, and the Mac stuff is compiling while I type...
Press releases are written, manuals are getting one last proofread...
Installer configurations are being made, and I even found a neat tool (EasyDMG) for making the mac .DMG files quickly...
The website is being updated, the purchasing system is being upgraded (so all you existing users can get discounts!) and the launch is very near...
Code is all finished, fixed and tested!

Tuesday, December 19, 2006

Dynamics Love

Sonalksis Dynamics...

You've seen 719, and a bit of 517mk2 on the 'net... Well, here's 719 and 315mk2, living in peace and harmony on my logic session ;)

They are very much in love ;)

Saturday, December 16, 2006


A teaser of the makeover...


Friday, December 15, 2006

It is done.

I have been quiet recently, no?

That is because I have been working night and day... in some cases THROUGH the night (such as this week, when I was building a multiresolution fourier analyser...).

Mark 2 is complete.

SV517Mk2, is, in my totally non-humble opinion, the finest EQ you will be able to find. I can't see anyone who is serious about their music 'getting by' without a copy. It sings.

SV315Mk2 is the compressor of my dreams, and hopefully that of many other people's too.

SV719 is probably the most interesting and flexible gate out there... and if you remember my past in RTAS/TDM plugs, you'll know I've seen a few.

We've all worked SO hard on these plugins that it's been physically, mentally, psychologically and SPIRITUALLY exhausting. This evening I built the installer to send SV517Mk2 to join the other plugs in beta. Reports are good, and I've only a handful of cosmetic bugs to clean up. Which I intend to clean up tomorrow. Manuals are underway. The website is being updated. The release date is set.

And yes, it's before Xmas, just in time for you to all get a nice present.
Existing users get a cheap upgrade price too...

I am excited, relieved... amazed that we've pulled it off... and very eagerly looking forwards to the reviews! No stone has been left unturned in delivering solidly pro products.

Pheww. Now for a nice cup of Chai tea, and a good listen to my mate Harry Coade's remix of "Danger in the City" by Roy Young, featuring Snake Davis...

Wednesday, December 06, 2006

New Parallels Desktop Beta!


As I may have mentioned, I use Parallels for my PC development stuff (and thereby only need one computer to roll EVERYTHING out). I got an email the other day to tell me there's a new beta out... so, throwing caution to the wind, I downloaded and installed...

Cool Feature one: It boots your BootCamp installs... When I got my macbook i rather naively allocated a rather large windows partition that has lain pretty much dormant... So, tried it, didn't work... read the info PROPERLY, found I had to install some Parallels tools, and it worked like a charm - it adds new bootmenu options to windows, and it all rolls out nicely.

First time I installed it, all my network stuff was broken... scary, but after I rebooted (having installed the Parallels stuff) it came back perfectly.

Cool Feature two: Coherence... I kept clicking on this and nothing happened, so I reinstalled my Parallels tools, and then it worked. Oh My God. It's crazy. This is the coolest thing anyone has done in a long time... Basically, my Windows apps float around with my mac apps... and I have a startbar under my mac menu... Crikey. This is incredibly cool.

If you own an intelmac, and have any reason at all to run windows in any circumstances (and even if you've already set up bootcamp), you NEED Parallels. This is the coolest piece of software ever.


Friday, December 01, 2006

719 finally goes to beta

It's amazing how those little things add up.

It was nearly finished.
I was tidying up the UI.
Then we realised that a full sample-accurate MIDI implementation would be nice... which takes a while when you have to support VST AND AU AND RTAS.
Then someone pointed out that independent stereo gating would be nice (gate open on one side, closed on the other)... and that took a little while.
Then someone suggested lookahead, and that was too good an idea to ignore... so we did that...
It's a very sexy plugin... to me at least.. because it does actually let you do whatever you want to do... such as using both MIDI and an external sidechain (oh, yeah, we have external sidechains on VST, AU and RTAS... the VST one is with 4in2out and 2in1out versions) at the same time... so you can sidechain the gate off a beat, and play in some extra swung notes, to make it groove. It's fun.

Feature creep? Or making a great plugin? I dunno. We've certainly made you wait for a while, and that's not so great. It would have been nice to finish it a month ago. We stuck in a DirectX version too, just because some people use it. We're considering doing a MAS version (though it may prove more sensible to just wait until DP supports external sidechains on AU).

Still, today, I can announce with great happiness and relief that we have finally gone to beta. The last phase of optimisation is completed, and all the bugs I know about have gone to bug heaven.
I'm hoping that release will follow fairly shortly (but I don't control that... so who knows).


I'll post more when we get some feedback, and I'll tell you how it's looking :)

Saturday, October 14, 2006



10 days.

Well, it's been hectic. The UBs are out now, and 719 is coming along verrrry nicely.
Production graphics came through today, so I have a few days of stitching to do :)
I have some tidy tricks up my sleeve for this [that I'm importing from FreeG]... all that textbox<->control stuff is implemented by magic in FreeG, so we'll have editable textboxes for 719, with almost zero code to do it! :D I'm happy.

The final Lemony Snicket book came out today: "Book the Thirtheenth". I've been waiting excitedly for months. :D It was worth the wait.

My Macbook got fixed! It was doing the random shutdown thing.
I will relay my tail of woe and then great happiness! :)
Basically, it was shutting down at random. Earlier yesterday was the first time it crashed and took some work with it, so I decided enough was enough, and phoned Apple.
First A:"do you have applecare, 'cause there's a 35quid charge if it's not a fault with the machine".
ME:"It's a fault with the machine. It's a macbook. It's the same thing they all do. It shuts down at random."
A:"Ok, well, we'll arrange a collection, fix it, and courrier it back."
ME:"How long will that take?"
A:"7 to 10 days"
ME:"It's business critical, that's too long. How about I take it to the Apple store?"
A:"They have to send it away. still 7-10 days"
ME:"So... any other options?"
A:"Maybe you have a nearby Apple Authorised Repair Centre?"
ME:"Yes! I do! I know em! They're great! Can they fix it?"
ME:"Will it cost me money?"
A:"No. They have access to our database here, so they can see it's a warranted repair."
ME:"Great. Niceone. Bye"
*digs up the number for Computer Associated Decisions, my local Apple Repair Centre*
ME:"Hello, I have a macbook, serial number xyz, can you fix it?"
CAD:"Yes, we'll just order in the parts, then you can just bring it in and we'll fix it."
-NEXT DAY!!!!-
CAD:"We got the parts. We can collect it if you want."
CAD:"Yep, give us an hour and we'll have it back to you."
*knock at door*
*hands over laptop*
*1hr passes*
*laptop returns*
So, there you go people! 1 hour to fix my macbook. UNREAL! :)
If you can get to Computer Associated Decisions, use them. They're GOLDEN. :)

I have been spending too much time on KvR. It's too easy. Lots of nice music people to chat to. Addictive.


Wednesday, October 04, 2006

Cracking Sonalksis Plugins


This is a public request to crackers.

You would expect that serious professionals would buy plugins... but actually all too many of them still use cracks so...

Our request is:

If you crack a Sonalksis plugin and release it, please badge it with your team logo on the front fascia.

We'll be very grateful to you if you do this for us.


FreeG v1.01

Sonalksis Announce FreeG V1.01!

1) Nicer mouse-hide behaviour
2) Improved interpolation for automation
3) INSTANT attack for digital PPM ballistics

Available to download now!

Thanks for all the support!


Monday, October 02, 2006



So, TBK2 is out now, FreeG is out now, the new User Area is up and alive!! :D

Intelmac binaries are in beta, so they'll be around next week!

And we have a few more tricks up our sleeves...

Anyway, that's the work stuff.
The actual real life meaning of all this is that we've been locked in an appartment in Montmartre working our ASSES off for the last three days solid. I haven't even made it to the Louvre yet... which is my plan! With luck, I'll get there this avo. It doesn't feel like a monday. Weird.

Amazingly, we've already sold a plugin without having even told anyone that the site had been updated... which means that people are ACTIVELY checking the site for changes! That's exciting :)

I need a cup of tea. And some lunch.

Crepes are the best thing in the world ever. I could eat nothing but crepe until I die, and die happy. It is true.

Saturday, September 30, 2006

Mac Users- Quick Question


I need quick answers as to what people prefer:

I'm building the installers for some things, and we're providing the option to install specific plugins as well as specific platforms.

So, topical example: TBK+TBK2 installer
Platforms: AU RTAS VST [ + Documentation]

You know how mac installers work? With 'custom' install type, where you get "main" options and suboptions? Well, we're figuring out how to split it.

Here are the options:

TBK Docs
TBK2 Docs

2) Plugins->Platform
| - AU
| - RTAS
| - VST
\- Documentation
| - AU
| - RTAS
| - VST
\- Documentations

3) Platform -> Plugins
| - TBK
\- TBK2
| - TBK
\- TBK2
| - TBK
\- TBK2
| - TBK
\- TBK2

[the stuff with text arrows are the suboptions... you know the ones...]

Which do you want, 1 2 or 3?

I want to go with 3, because it makes more sense... i.e. ... Joey Beatbox uses Logic, so he unticks RTAS and VST, and then opens AU, and chooses to only install TBK2, which he uses the distort his vocal rhythms. Makes sense to me... but I'm often wrong...!


p.s. did you see me on kvr! :) EXCITING! :)

Tuesday, September 26, 2006

Ha ha ha ha ha

Ha ha ha.

Reminds me of that episode of Black Books where he gives the guy 40quid just to take the box of books away, so he doesn't have to price them and sell them...

Thursday, September 21, 2006


So, here it is... ;)

TBK2 which brings filth to your music :)

It's a combination of clipper, downsampler and bitcrusher, all blended together in our own inimitable style, to give you as much filth for your mouse movement as possible!

If you look at the screenshots, you'll get the idea pretty quick - four different modes, a LPF to tame it a little, and a threshold for the clipper. And the knob. Of grime.

Out very soon ;)

Friday, September 15, 2006



Free-G our FREE gain plugin... is 99% done! :)

Time to:
Do PC RTAS + VST Ports + Installers = 1hr
Do Mac RTAS Port from VST/AU code = 30mins
Do Mac Installers = 10mins
Decide how the fine fader mode should work = THREE DAYS!!!
Make the fader move beautifully, with labelling, autokerned fonts, shadows, alphablended everything = TWO DAYS!!
Pan knob, Trim knob, Flashing LEDS, peak displays knobs = a day
Delicious metering, with VU/PPM/EBU/Digital PPM ballistics options = a day
Deciding on the UI layout: FIVE DAYS!

Oooh. it's been fun. And stressful. And relentless.
Really the majority of the credit for this has to go to my parents for buying me a coffee service for my birthday - i can now sit on my bed with a cafetiere of freshly brewed coffee, a milk jug, sugar bowl, mug, etc. It's ace.
Hans our graphics designer is the most patient and forgiving person in the world... he's put up with us changing our minds every 15seconds for weeks, and those few occasions where we suddenly remember important things... like... metering? ;)

No credit should go to Felix or I, since we've just bickered constantly about what options should be available on the back panel.

Lots of credit goes to you lovely people who suggested it and gave us a feature set...
We've embellished a little on the original spec... like, lots of metering stuff, the HARDCORE Neve-style linear/fine fader mode [you're gonna go nuts for that.. trust!]. Nice things like ultrafine adjustments by holding down shift. Typable text boxes. A Trim knob with [configurably] up to 36dB of gain. Yes, the phase invert is there, as is the mute + bypass - which both have flashing (or non flashing) leds.
I'm convinced that it's the MOST complicated volume adjuster in the world. :) Yay! :)
Still, while all the other functionality is there, it's all out of the way until you want it. :)

Felix is gonna take some screenshots, and I'll stick em up in a bit (like tomorrow).
It's 2am now, and I'm going to go to sleep.
Tomorrow I'll tell you all about TBK2 which will be coming out very shortly too... ;)

Felix has really made this project happen; he's a joy to work with, and we even finalised a 'fine mode' implementation [which turns out to be intensely complicated to actually do!!] without killing each other :)

So, we'll run it through a quick beta and I'll keep you posted. With luck, we'll send the beta out tomorrow. There are a few more things to tidy up [exact pixel alignments of centered text and such], but nothing major - it's all done now, on all five platforms.

I can't wait to see what you all think of it! :)


Friday, September 08, 2006

It's all gone quiet...!

But I'm still here...!

Thanks to peeps for publicising the blog!
Sorry for not replying to all the new comments and such, I'll get to it in a few days once the current task is over...

I'm working on a plugin which'll be in your mitts soon enough; just figuring out what needs coding, and coding it as I go! ;)

Betas are going good. Should have a release once I finish this little beast.

Sorry for such a brief post. It's late. I'm gonna sleep now.


Wednesday, August 30, 2006

Putting your names on things.


I am debating a point, and I'd like to throw it open to anyone who'd like to comment.

Obviously our job is to provide you with as much as we can for your money.
I don't think anyone wants to question the quality of the software, but what I want to discuss is other stuff we can do to make your world a bit better.

Personalised installers look like a good thing - zero hassle for you.
Perhaps also including an uninstaller, so you can easily and quickly install/uninstall bits?

People like to customize things - I've changed things so you can customize our UIs... but...
When I ran the very first TBK beta, I put the betatester's name across the knob. And people loved it!? Honestly, I don't know why. It WAS discrete, but it was still prominent. I can almost see the appeal... but I don't really get it. But----- if it makes people happy, I'll do it! :)
I've been thinking that maybe people would like to have their names on display on the UIs of plugins?

Basically, I'd like to do some things to reward paying customers for being lovely and supporting the cause.

People who support the cause without paying are ok, because they keep the name alive... but without the paying customers, I'd be working in a supermarket, and no-one would have any plugins!
Remember, I'm the last one in (most recent hire), so I'll be the first one out!

I'm well up for any kind of online communities you want, I'm happy to go and hassle people for whatever purposes you can devise.

Tell me what you want (besides more software... I'm on that!) and if people want it, it will happen :)

Please, talk to me!

Copy protection and demo periods.


So, today, I fixed a bug in TBK. As I mentioned before elsewhere, if the demo runs out, it just stops passing audio. It doesn't tell you anywhere, unless you click on setup.

This is relevant, 'cause people forget to register their plugins (they just install em, and forget about the registration files), and then the demo period expires. I'm gonna do new installers that fix this, but right now, something needs to improve, so that's what i'm on.

When it's expired, the plug is basically useless until you register it. So.
Now, when it's expired, it comes up in setup mode automatically [and stops you switching out] - basically the plug ui becomes a big warning saying "it's over! register me!"
Potentially, we can also pop up a messagebox to warn you. Is that too annoying? Or is that really useful... Either there's no box, and you wonder why it's not passing audio [it mutes the channel], and have to open the ui to find out... or it tells you straight up, once per session...

Thoughts please people :)

Why I am a GEEK, part 1.

Version numbers are a serious pain in the ass.

Today, I have edited millions of files, and thrown around loads of code, so that I have one file with all our version numbers in, so I can update them when needs be.

It was painful, but it worked; mostly because apple allow you to run your Info.plist file through the C preprocessor. I love apple.

Thursday, August 24, 2006

AU and MIDI [mac specific]



We wanted MIDI input for the TBK AU.

Now, if you want midi input, you need to be a MusicEffect (or a synth, which we aint).

So, I hacked and hacked, and now we're a musiceffect.
I've been playing midi to TBK in Logic and it loves it. Filth.

Now, the catches:
1) To play midi to a plugin in logic, you have to instantiate the TBK on an instrument channel, and select a "sidechain input" as the audio input. Then it all just works.
2) I can register as either an Effect, a MusicEffect (with midi in) or BOTH.
If I register as Effect, you don't get midi.
If I register as MusicEffect, you get midi, but your old sessions stop working, 'cause it can't find TBK any more
If I register as both, everything keeps working, you get midi... but TBK shows up twice in your plugin menus. Definitely the least evil option. I'm going with this.

If anyone has a fix, or a better idea- or some magical hackery - please please please let me know!


TBK MIDI Control Mode - take 2! the KEYS!

Hey people.

Part 1 of today's antics.

I've added in a feature to TBK whereby you can play keys, and it'll set the cutoff to that frequency. It's a preference, so it won't mess up your existing stuff...

Releasing sooooooonnnnnn


Tuesday, August 22, 2006

VST2.4... the saga continues


Well it's all good news over here now... but there was a scary moment earlier...!

Like probably everyone out there, our plugins are VST, with interfaces to convert to AU, DX and RTAS.

When I did the port, I had to fix loads of stuff in the interface code... everything went fine... except... RTAS... Digi (who rock) provide sample code for how to write a VST->RTAS interface layer, and it passes through "Draw" and "Mouse" messages to the VST. However, the interfaces it was calling no longer exist in 2.4, so I figured it would sort itself out, and just took out that code.
It did not sort itself out.

So, I had to paste in the old handling code to the top-level of the GUI implementation (which the RTAS interface has a handle to), and put the old code back in. It's not evil, because I'm adding the old code back in _in my code_, rather than in the VST libraries, and because it's still absent in lower layers, noone gets hurt! :)

Little bit sticky... but essentially 10lines of code pasted into a headerfile, and the world was well again...

Phew. Well. I've finished the 2.4 upgrade... what shall I tamper with now... hmmmm...

VST Users! Love me! :)


I just added double-precision (64bit float) to the entire range of sonalksis plugins.

They've always been double-precision internally, and now you can run double-precision between things.

It took about 5 minutes, after getting the VST2.4 port completed successfully ;)

I am such a pedant.


I decided to rid my world of warnings.

Never more will a NULL and a 0 be used incorrectly!

Actually, I did this ages ago for the VSTs and AUs. Leave warnings ALL on, tidy the thing up.
That's another reason to like VST... there's nothing implicitly wrong with the code; it doesn't throw up many errors... and, yes, I did fix the handful that it did.
AU- same deal; nice clean code.

AUs and VSTs have been building clean for ever.

RTAS is a different story. RTAS was throwing up ~1200 warnings. Mostly (almost all) warnings of nonvirtual destructors in classes with virtual functions. This is a violation of the "effective C++" rules. However, it's meant to be that way. It's correct, for a variety of reasons, for the digi classes to have nonvirtual destructors alongside virtual functions. So.. just disable the warning for that file, right? GCC doesn't do that yet. Ugh.
Disable the destructor warning? You know the code is otherwise clean... No. -Wmost switches it back on somehow. I've never really understood XCode's build system. Well; I think I do, it's an inherited overridable system, and as such it's pretty straightforward. But, it IS magic when things start to interact within the compiler. Or just plain lie to you.

Anyway. I switched off -Wmost, and was suddenly left with a sensible set of warnings!
Entire build is now warning free.

I'm a pedant, but I do rock ;)

Monday, August 21, 2006

Updating to VST 2.4

So, updating to VST2.4 is on my list of things to do.
We've got full double-precision processing internally (and have had from day one, because we rock), so it's just adding a double-precision input and output connection to the host. No big deal. Real easy.

Guess what! WRONG!

If you've ever written a VST plugin, you'll know that the SDK is a bit messy... there are a few things that you sort of have to assume, or figure out for yourself... but it's not BAD. It's not TERRIBLE. The sheer number of VST plugins is evidence to that. It's not messy, it's a bit scruffy. Rudeboy like even.

It's hard not to like VST. It has an elegance and minimalism to it. An ill type flow that makes it all groovy.

Steinberg are smartening up. Oh lord no.

So. You need to work on Win64... this means that some things need to change.
No, part of the scruffiness of VST was that everything was just assumed to be 32bit. And, because it was, everything worked, and there was no problem at all.

So, let's have thousands of lines of code, expecting the C type "long". Now, let's change all the functions to use "VstInt32" instead of "long" (to be explicit and mark out what will change between 32bit and 64bit versions).

Because of something that you don't care about, but which is a very very good thing, called "polymorphism" in C++, if you don't remember to change EVERY appropriate instance of "long" to "VstInt32" in the definitions of ALL your functions, then random bits of your plugin will fall off. Literally. Bits you were relying on... like... the UI... will just stop working.


And then, when your code actually compiles again, adding double-precision processing support is a synch! :)
But... factor in a few hours of very careful code review.

We chose to stick with the old VSTGUI, rather than moving up to 3, because our current VSTGUI is heavily tested, and works. Merging the old VSTGUI with the new VST SDK was easy enough... although a bit dodgy in places. You MUST be using QUARTZ if you want to keep the old VSTGUI on mac. This is because the VSTGUI QUARTZ implementation registers a carbon eventhandler, and makes all the mouse and key stuff work by magic. VST has now stopped passing mouse + draw stuff up to the gui, so you wanna be on quartz, or you will probably lose your UI!

But anyways... I'm most of the way through with catching bugs... and I've just got to make everything compile smooth ;)

Hope this helps VST2.4 peeps :)

Friday, August 18, 2006


Hey Peeps!

So, it's official now, we're releasing a free plugin! :D
[This started elsewhere on the blog!]

What you get:
- Really nice metering [pre / post fader], [peak, hold and rms]
- A really tall fader
- Ability to use it as a +/-24dB trim, or a channel fader
- Phase invert
- Mute

So... do you want a Bypass button on the UI?

Here's how the thing works, btw... There's a button on the bottom, marked "Trim".
When you boot the plugin, you get a channel-type fader, from +18 to -96.
Hit Trim, and the fader labelling changes, to +/-24 db of where the fader is set, so that you can
do extra accurate fader positioning.... or, just boot it up and hit trim to pad or gain a few db.

How does that sound?

Thursday, August 17, 2006

You like customising your UIs [mac specific] ?

Well, you'll be pleased to know that I've just restructured things so that we now have .bmp files inside the plugin bundles! :)

Those .rsrc files are GONE!
This means, you can open up the plugin, and reskin your graphics.
This bring the wonderful result that I won't need to support the process by generating files for people ;) you can just send around the bmps.

Of course, if we update the UIs... [ ;-) ] you'd have to start again (because things would probably move around!)

PCwise... ugh. resource files. it's NEVER easy to reskin things on PC unless you're happy using resource editing tools. What +DO+ people use to skin plugs on pc?!? If you can find something that works for people, I can bring it through... but I don't REALLY want to spend a week adding an interactive skinnability mechanism to the plugs [read: that'd be REALLY boring]


Wednesday, August 16, 2006

Going quiet for a bit...


If I don't reply to postings until... say... friday-ish, it's because:

1) I have to write some code...! I need to actually make some things for you all :)
2) I'm going out for drinks tonight and it's going to be messy :-D
3) You should all come to Swerve at The End tonight!

So, I'm going to focus on beer, and then working, in that chronological order... but with equal priority. I've been working verrry late recently, and I need to go relax for a bit ;)

Back in a bit people :)


Tuesday, August 15, 2006

Input Trims/Gains on plugins


Is it just me that regularly chucks audio at +12dBFS into plugins?
I kinda rely on having +/-24dB of gain on things. On input AND output!

I want to add input trims to things. Particularly 315 and 719.
Please post "me too" to second the idea!



Copy Protection

We're redoing the installers, as you probably know, so we're looking at ways to fix up our copy protection so that it's easier for people to handle. I'll explain a bit about it, but first, I need to make the following point:




It's basically the worst thing in the world for a programmer to have to deal with, because it just gets in the way of trying to work. If it annoys YOU as a customer, using it, say, once... consider how much it annoys ME using it several thousand times.

Reasons to not have copy protection:
1) I hate it.
2) Our software gets cracked the day it comes out, and people are using cracked copies on the day of release ANYWAY.
3) It annoys the HELL out of users.

Reasons TO have copy protection:
1) It protects the investment of customers.

Unfortunately, as utterly bizarre as it sounds, that's a really strong reason.
If you're a customer, we have to put something in place which makes our software not free, because otherwise we're being disrespectful to you by asking you to pay for something which there are no restrictions to using free of charge.

Personally, I'd like to give stuff away free to everyone, but alas, I'm not naive enough to believe that I'd be able to go on doing that for very long before someone asked me for some rent, and I realised I was skint... the more money we make, the more plugins you get. [Or, in the case of recent history, the more mindblowingly groundbreaking a product you get...]
So in our case, you who pay for software invest in the future of that software... and for R&D that will give you more of that quality software that you love

So... our copy protection has a bit of an issue. In its eagerness to NOT annoy the user with windows telling you things like "err, hang on, you need to actually register this", after it has expired, it just locks itself into bypass [or won't pass audio]. So, when your 30days demo has expired, it doesn't tell you... it just stops working. To a legitimate user who didn't realise that they had to register it, after 30 days, our software appears to break!!! You open up your session and it just sounds different... and you wonder why!

We're thinking about how we can improve things. This issue of dilligence to protect investment means that we MUST do SOMETHING.
Currently, you go to the registration site, enter your details, and it sends you a license file
which will register your plugins and make them work forever. (though it has to be done manually)
We need to wire SOMETHING into the installer to sort this. But what if your studio computer ain't on the 'net?

Things we've been considering:
1) I got some speak'n'spell samples. I'm going to splice them up, a-la Cassetteboy, to say "Your Sonalksis plugin has expired. Please register them... etc" when you instantiate an expired plugin or open a session.
3) A page in the installer that tells you ALL about registration (because you really care), or perhaps something that takes your details, and tries to connect to the 'net (or generates a link file if it can't?) and downloads+installs your license file.
4) A license manager application which is your friend.

Basically though, you know way more about this than we do, so we want you to know that we're taking it seriously, but really we want to know what you think.

Please tell us! I hate copy protection.


Friday, August 11, 2006

DirectX Plugins

I don't want to write DirectX versions of TBK, 719, and the new stuff.

If you DO want me to, leave a comment and petition me!
Best of all, tell me what system you'd use them with!?

Thursday, August 10, 2006

Today, my brain hurts.


Today has been.... eventful (read: painful).
Fixed a bug in the copy protection so that intel mac demos don't time out immediately.
Refactored TBK severely, so it's MUCH MUCH quicker to open the UI and to load.

Suddenly TBK crashes in protools on launch.
Poke around for an hour or two, and discover that I have (Very cleverly) left a directive in the build that it should use the instruction set and register set for the G5 only, for compiled code. I have no idea how. I didn't know that that setting existed. I'm using a macbook. It crashes. I remove the directive. It works. I curse, loudly, but feel better afterwards. :)

Killed the lovely nag screen when a plugin starts up.
Built all the plugins ready for beta.

At this point, I was ready to celebrate.


Someone *cough* decided that we should use this opportunity to check that the copy protection actually works, which is, unfortunately, fair enough.

Rebuild all plugins.
Then, beat up the installers (well, actually the mac one was fine, but the PC one needed kicking) to build TBK installers. Uuugh. If I'd put a few more hours in before, it'd have taken a few hours less.

I still haven't built that window that lets you choose -which- plugins get installed. Still on the list of things to do.

So, built em. Felt glad. Ready to celebrate. Headache in full swing by this point.

Recompilation sucks, because it takes a long time, and makes the computer very VERY hot.
I have a heatpad thing from the apple store. My laptop is cool, and comfy, all day. Except when it's doing heavy compiling. Then it melts my legs again.
I am using Parallels to run windows and compile for windows. I have to test stuff using bootcamp (because isochronous streaming to a virtualised os is mostly impossible), but it means i can compile win stuff, and check i haven't broken anything without rebooting.
Unless I leave XCode open, which eats ram. When both apps are running, my computer is essentially dead. It's a deeply frustrating experience. More RAM please! Anyone know if I can fit more than a gig in a macbook?

And now... we're going to beta -without- the installers, because we want to test them separately. Oh great. I'll do that tomorrow. Enough for today. Gah.

Feel free to post ibuprofen :)

Wednesday, August 09, 2006

Best Looking Plugins Ever

What do you think is the best looking plugin(s) ever?



Well, it's taken a little longer than I'd have liked, 'cause we've had server nightmares [PLESK YOU ARE A CURSE!!], but everyone is signed up now, and I've sent the first email!
As I type this, FTP is getting sorted out [PLESK YOU REALLY ARE A CURSE], and the testers are starting to mail in info for our test grid database!


I'll let you all know how it goes!


Saturday, August 05, 2006


And switching on "anyone can leave comments" option might help...

Friday, August 04, 2006


So, I got the DirectX stuff building as part of the build, and everything is all tidy.
Which brings me to my next agenda point... Installers.
Now, InstallShield CAN be used in an automated build. Of this I am reassured...
I opened up InstallShield for the first time today, and my eyes BLED.

So, I figured I had two options - 1- stick with InstallShield, deal with it, be a man.
or 2- move to inno setup.

In case you've never seen Inno Setup, it's amazing. It's hard to get excited about installers, to be honest, but Inno Setup is CLASS. That's the installer that makes installers that look like windows installers. ;)
And it's free!

So... our needs in the installer are pretty weird... no application to install... but installing four different sets of files, to four customizable locations... InstallShield does handle it very well... View: Old Installer:

This certainly does the job. But I don't want to use it because InstallShield is ugly confusing expensive and the sort of thing that makes me want to cry, since it is based around a database that they're quite happy for you to edit by hand and the files are binary and aaaaagh.

So Inno Setup uses scripts, and you can write bits of pascal, and customize it to hell, and basically anything remotely complicated you might want to do, they've already thought of, and given you a function call for.

This afternoon's work:

What do you think? Is it ok?




You could post ideas for plugins on the forum, and they would filter their way to me in the same way that bug fixes and such do.

However, I'd like to invite you to tell me directly!

Please add comments to this post, and tell me what you'd like to see!

Feature requests, new plugins?

I'll be checking this blog every day, so you can be sure I'll read your comments.

Looking forward to your ideas... :-)


And so it begins

I decided it'd be a good idea to start a development blog for Sonalksis projects.

This way, you guys can tell how things are progressing, and it saves me (a developer, rather than tech support) trying to read through the forum. Hopefully a big link to this is pasted somewhere on the forum so you will all know about it.

So... what IS news at camp Sonalksis?

Well, I saw one posting on the forum claiming that the two founders have new jobs now... wow... actually they've been immersed in some geniunely groundbreaking research for a few years now.

I've been brought to the team to take care of all the other 'little' things... like IntelMac (which is done now, and just needs testing), the RTAS versions of TBK (which are done, and again just need testing), and next is the 719 Gate, that just needs a little tidying.

Sorry you've not heard much from us, but now I have a blog so you can follow what I'm up to!
I'll try and post fairly regularly - every time I get to some milestone.
I can even use this as a way to share notes on the weird weird things that go on in plugin development!

So... let's start with some questions you'll probably be asking...
1) Why is this on, and not on the sonalksis site?
Because blogger is really good, and I didn't want to have to add anything to the sonalksis site. I don't look after the site.

2) Who are you?
I'm Dave, I'm a software engineer - I used to work at Focusrite/Novation. A few things I've done include The Forte Suite for Protools, some MIDI drivers for some novation/digidesign units, was on the team for The Saffire Suite plugins, on the team for the Saffire range control panels, contributed some bits to the Liquid Channel... and TBK, which I hope you all like.

3) Will you let me be a beta tester?
No. I choose my beta testers - they're people I know and trust. Sorry; my beta list is like the A-Team. If you're hardcore enough, or prove yourself in some way, I'll come to you.

4) When can we see some stuff?!?!?!?!!?
Well, the email server blew up today, and it's getting fixed - hopefully as I type this.
Once that's done, someone will be setting up a mailing list for the beta testers, and we'll launch a load of stuff for beta... There's a new product finished too...

Basically, I've spent the past few weeks acclimatising myself to the way all the existing Sonalksis code works, and setting things up, like automated builds (This is important! see: The Joel Test ), and doing things like intel mac, and RTAS ports.

I've got to the end of that now, so it's time to test and release... and then the next major objective is the gate...

but before that...
*) Beta test everything
*) Get the DirectX plugins building automated
*) Maybe redo the installers to use the fantastic Inno Setup, which will work well with automation...