randy's Recent Posts

Hardware and software and men’s style tips since 2008

I know, I can make a madrona logo patch and you can sew it to a Uniqlo hoodie. Problem solved!

still working on that.

Just a quick note for Soundplane players: the new client application version 0.985 is now available in the usual place: the sticky topic in the hardware forums.


new features:

  • Rewrite of carrier calibration.
  • Better filtering for raw pressure data.
  • Added carrier settings buttons on expert page.
  • Added autosave for menu selections.
  • Added debug text panel on expert page.
  • Added debug output for OSC connection.


The noise performance for all instruments should be much improved over the previous version. To start using the new calibration, go to the Expert page and click "select carriers." Watch the debug window as the client picks out the combination with the lowest noise. This choice will be saved in the preferences file.


I am going to revisit the manual after the 1.0 feature set is complete, so these new features are not described there just yet. Meanwhile, thanks for bearing with me—please post to the hardware forums with your questions and comments.

Fixed in 0.986.

Aalto.

Did they ever really exist and if so where to order?

Only in our minds.

I would love to make some things for all you nice folks to wear. I've just been too busy getting Soundplanes and Aalto out there.

I'm going to go with the T-shirt-- love me some hoodies but with the shirt I can afford to just make some and not need people to pay in advance. Less hassle all round.

In the short two days since its release, I have served approximately eighteen pounds of tasty Aalto downloads! That's over two billion electron volts, or enough salted peanuts to circle the Earth three times! Thanks for your support and all the feedback and comments.


A few issues with 1.3.0 bear mentioning.


Automation incompatibility from previous versions


If you have set up automation curves in Logic or Live with 1.2.6 or a previous version, these curves will be lost in 1.3. Unfortunately most hosts save automation parameters only as indexes. So when adding parameters as I've done there's no good way to preserve older automation data.


I recommend you finish up old work with 1.2.6 or render tracks to audio before installing 1.3. It is also possible to rename the old VST file "Aalto126", and run both versions simultaneously while you make the switch.


Host sync issues in Logic


The new host sync divisions feature may cause drifting off the clock in (surprise, surprise) Logic. I thought I had this problem solved but apparently it still comes up sometimes. I'll be looking for a workaround. Ableton Live and Numerology should be very solid.


Window resize issues


The size of the newly resizable GUI is only saved when the DAW file is saved. Simply closing the Aalto window does not save the data. Since the host only asks for this data when it pleases, it's hard to see how to change this. I'll look for a workaround. In the meantime, just save your file to save the current window positions.


Also, Live does a weird thing with the AU version where it tries to smoothly fade the window size, resulting in glitches during resize.


Live 9 beta crashes


While Live 8 is working fine, I have reports that the Live 9 beta is crashing with Aalto. I've asked Ableton for the beta and will investigate as soon as I can.



Manual stuck in the past


The manual was last updated for version 1.2.6. I'll update it to reflect the 1.3.0 changes as soon as I have time.



If you find any more issues, please start a forum thread under software, or email them to support at madronalabs.com. That email just goes to me, since I'm the only one here, but it allows me to file it in the right place more quickly, so your help is appreciated.

Hmm, haven't heard of any other modulation problems. I did find one bug that could in rare cases cause crashes in other areas. This will come out with 1.3.1 very soon and hopefully fix your problem. Please keep me posted.

I could add some at the end if it were needed. Why do you ask?

The new Aalto installer is not code signed to pass Gatekeeper on Lion and Mountain Lion. To install your Aalto download on these systems, please visit Apple’s page here [support.apple.com] and follow the instructions under “How to open an app from a unidentified developer and exempt it from Gatekeeper.” That will get you up and running. For the whole story, read on.

If you bought a licensed copy of Aalto, you have experienced one aspect of it I’m particularly happy with, its watermarking system. Making this software is my livelihood, so I need people to support my work by buying it instead of just using a copy downloaded from somewhere. This is a problem faced by all developers, big and small, and typically, addressed with some kind of copy protection.


I'm not happy with the idea of copy protection for my software because I think copy protected software is broken software. You should be able to move and copy any data on your computer without worrying if it will be usable later, programs and media files included. This is hard enough to accomplish without software publishers deliberately making it harder.


Hardware dongles are probably the worst example of making things harder for the user. I assume the reader is familiar with iLok and the like, and has possibly experienced the nausea at the gig on realizing the dongle is at home in the desk drawer. Thankfully, dongles are on the way out. Any company that uses them is willing to make your life more than a little worse in return for a little more sales, and should be avoided.


A kinder solution is the software challenge/response system. These come in many different forms, and can be very bad, or only a little annoying, depending on implementation. The ones that are just a little annoying will ask you to upload some information to identify your machine, then give you a code that authorizes you to run the software on that machine. Sounds simple, but this can go wrong in quite a few ways:

&#x2022 breaking the software when seemingly unrelated hardware configuration changes

&#x2022 interfering with the operation of debuggers (I'm looking at you, PACE)

&#x2022 not allowing copy/paste of the response code, resulting in manual errors


But these are all minor problems. The overriding problem is that from the user’s perspective such a system has no reason to exist in the first place, and can only make life worse, unless you buy the argument that the company making the software could simply not pay the bills without it in place.


With the release of Aalto, I implemented a watermarking system that works transparently for the user. If you have bought a license to use Aalto, you can log in to the website, and click a link at any time to download the latest version. When you click the link, the server makes a personalized version of the installer with your name and serial number encoded into it. Your registration is inserted into the executable plugin code itself, so when you copy the plugin to use on another computer, it will just work---there's no key file to hunt down and copy, or installation process to do over. I think this was a good solution to the problem of how to encourage buying the software, but without creating any hassles for the user.


Enter Gatekeeper. Gatekeeper is a new feature in Mountain Lion and OS X Lion v10.7.5 that is intended to keep malicious software from running on your computer. It allows us developers to sign our apps, using a certificate that can be traced back to Apple verifying the source of the actual bits being downloaded, and that said bits have not changed since being registered with Apple, a process called code signing.


Code signing, by design, obviously breaks the watermarking process I was so proud of implementing. The watermark is a change to the installer binary, the very thing Gatekeeper regards as malicious. You might think, what if the code signing had some feature that allowed for a watermark, but rejected other changes? Unfortunately this isn't possible for Gatekeeper to do while fulfilling its mission. There's no way to insure that the changed bits aren't going to be executed by the program, and any change in an executable file could be enough to turn a program malicious.


I have no problem with Apple’s strategy... so far. Malicious software is a huge problem for many users, and overall this will make life better for people. Expert users who want more control and know what they are doing can turn Gatekeeper off. If Apple ever decides to make that impossible, it would be a huge blunder in my opinion, but that doesn't mean it won’t happen. So I should have some plan for delivering my software on Mac OS X if it does.


Is there a way I can both watermark and code sign my products? Yes, in theory. It would be possible to do the code signing process on the server, on each watermarked installer before each download. However, porting Apple's tools to my Linux server would be a lot of work I don't have the resources for, work that would need to be redone every time Apple changed any small aspect of their code signing process. I would love to hear about someone who’s currently doing this, because I'd like to have the best of both worlds. But it’s nothing I can take on myself.


The next best thing I can come up with is to move to a key file system. I will try to think of a way to use the website to make this as transparent as possible. People are used to having registration files, so this won’t be a big problem. It will be kind of sad though because, for a while, I had something way more awesome.

Hi Randy - I've been having automation issues with 1.3

Well this is covered above-- I had to change the parameter order which I realize is a pain for some people. It will break old files. If it's not working with new automation you're trying to make, maybe your host is caching the old parameters somehow.

I will see what I can do.

Hi Klinke.

Thanks for your very reasonable note, and sorry for the trouble. Unfortunately there's no good way to add parameters to a plugin that won't break previous versions. Hosts could save a parameter name, but instead, they all (so far as I know) save an absolute index.

If I wanted mappings not to break, my only choice was not good. I would have been forced to add some dummy parameters in place of ones I removed, and add the new parameters at the end, where they would not be found by users in the right order in menus, etc. So, I had to balance out an hour of pain now in mapping against an annoyance every single time one maps a parameter and confusion for new users in the future.

Anyhow, you may not care about such details but in any case thanks for understanding and I promise not to move Aalto's parameters again.




The 1.3 release of Aalto, the patchable synthesizer from Madrona Labs, is now available. With its innovative UI, distinctive sounds, and unique personality, Aalto is designed to help you make expressive new sounds with ease.


Veteran producers, modular fanatics, and neophytes alike have been praising Aalto for its sound quality and usability since its release. Now, in response to a year of user feedback and extensive testing, Aalto 1.3 has many new features and a few important bug fixes:

  • redesigned, rewritten, vector-based, smoothly resizeable UI
  • DSP optimizations
  • Open Sound Control input for Soundplane / t3d format controllers
  • fixed key stealing in Ableton Live
  • fixed Fxpansion RTAS wrapper compatibility
  • improved dial / mouse wheel ballistics
  • fixed Logic noise burst bug of doom
  • sync by ratios to host sequencer
  • added MIDI program change automation
  • store window location / num / anim prefs with saved data, not patch
  • fix startup / shutdown issues affecting Max/MSP, Reaper
  • KEY: added two MIDI modulation outputs
  • KEY: rearranged knobs for Soundplane/t3d switch
  • SEQ: added random sequence button
  • SEQ: added steps signal input
  • SEQ: allow fine delay time changes in steps of 0.1
  • ENV: increased attack, decay ranges
  • ENV2: added delay, attack signal inputs
  • LFO: add level signal input
  • OSCILLATOR: fix linear pitch input range
  • patcher: fixed sticky signal displays
  • patcher: display bipolar signals as absolute

    Aalto 1.3 is a free upgrade for licensed Aalto owners. If you already own a copy of Aalto, simply log in to your Madrona Labs account and click "My Downloads" to see the new links.

    An Aalto license is $99 US and includes all future 1.x upgrades as well as Mac and Windows versions.

I investigated this and thought a lot about it over the weekend. Conclusion: it can't be done, not without making the parameter menus in various DAWs look really ugly going forward. I would have to have some dummy parameters in there and some out-of-order parameters too. it would be a nightmare.

So, I'll be sure to make the 1.2.6 version available again for anyone that upgraded and lost automation.

thanks a lot tm.

Control over the window size is actually up to the host, so proper software on the host side is needed to get this right. Some hosts are more cooperative than others so there's nothing I can do. Still it's very good to have this info!

Resizing the GUI is something not many plugins do, yet. If you want to spread awareness by contacting the makers of the hosts that aren't getting this right, I'm all for it.

I will fix the patch naming glitch for the 1.3.1 release.

This was an oversight. I'm going to replace it ASAP.

Please explain better, what it does?

The mod output from the KEY module sends the MIDI continuous control (CC) selected by the "mod cc#" dial. The +1 and +2 outputs send the next two CCs. So if "mod cc#" is set to 1, mod, +1 and +2 send out signals from MIDI controls 1, 2 and 3.

That's it. The built-in sequencer is not affected by the scale and has never been. The scale just affectes incoming MIDI notes.

I know, it would be good if the scale affected the sequencer as well but it's a bit tricky.

Where can I get the aalto 1.26 version, would need it since I already installed the new update and I have a few tracks with automation.....

Give me the weekend here to look at rearranging the parameters. If it has to be the way it is, I'll make the 1.2.6 version available again for download.

I have Live 8.2.1 and it crashed 2/2 time when use the new update.

Strange... What OS? What did you do when it crashed?

Maybe just try reinstalling.

If it keeps up I will get you a version with some debugging code to try. Thanks.

A lot of the Western tunings are not obviously different from 12-equal. Try picking something really different like "balafon."

Works for me. Host / OS?

Is this true OSC or a conversion to MIDI?

Max sends parameter changes to the plugin through the AU / VST interface, so there's no MIDI involved.

Is the Aalto different when it kicks into t3d mode ( mapping x,y,z from gui etc. ) Can i send along any DeviceId. The Lemur tries to update around 60Hz, is this to slow.
Maybe its a waste of time without proper expressive instrument, but i am just a bit curious.

Yes, it displays a notice that you are in t3d mode, and sends out x, y, data etc.

No, I would love to see this work with a Lemur--I'm too slammed to do anything about it now (and don't have an iPad) but will happily support this work with answers etc.

hi randy thankyou for this FREE update.
i have a small prob with mouse going on the waveguide delay. it changes very, very quick. is this normal

If you want to fine adjust the waveguide (or any control), you can hold shift, then drag. Or, you can click to set it where you want.

I am having trouble with the scaling. When I drag from the lower right corner, the UI scales up, but the window does not. I am left with the same size window - but a cropped UI...
ableton live 8 / osx 10.5.8

Strange to hear, because I also use Live 8 here and I have never seen this problem. I would try upgrading to Live 8.2.2 if you don't have that version.

A bit offtopic, but as a software developer I was wondering how the new vector-based UI was implemented, resp. which GUI-library was used?

Aalto is written for Mac OS and Windows using JUCE. JUCE provides the low level drawing and interaction code on top of which I implement my own GUI components.

Not yet, although I might add OSC parameter automation to the next minor update.

What the t3d stuff is, is a way to get the high speed, high res touch data from Soundplane to Aalto. So if you wanted to, you could program some other 3d touch controller to send out notes to Aalto using this method.

T3d is designed to pass high res multitouch data, so it's easier to work with than MIDI for Soundplane-like situations where each note is articulated individually.