[Latest Beta Links] Circle 2.2.1 macOS


Hey everyone,

Just uploaded a new beta of Circle 2.2.1 for macOS…(Windows coming next).

In this update, we’ve finally added resizable GUI. Simply drag the bottom corner and Circle2 will resize. To reset back to 100%, just navigate to “settings” on the bottom nav bar and click “reset interface size”

Changelog since 2.2.0

  • Added openGL support for faster GUI response.

  • Updated to latest JUCE 5.4, retina screens on Windows should now have a correctly scaled interface, regardless of resolution.

  • Added resizable GUI.

  • Added VST3 support.

Download Link for macOS:


Amazing news, finally resizable GUI! Can’t wait for the win version, thanks a lot guys!


Hi Guys,

I don’t know where my user has gone so had to create a new one, did the forum change at some time?

There is a limit to the size it allows to resize to, still small on a 4K screen but better. Is this limit by design?

Also the modulation depth bars are not appearing in the correct place when resized.




@BobTheDog, on the forum, not sure what could have happened on this forum nothing has changed, unless you mean the old forum from ~5 years ago?

We do have a resize limit, I’ll remove that on the next version. Also, good find on the modulation slider, we did tests here of course but missed this one as we were always resizing while it was already showing.

Thanks again for the help Andy.



Hi Gavin,

Could very well be over 5 years, I was the guy that did the Lemur template for the original circle all those years ago.

Looking forward to another version, getting a resizable circle would make me use it again, it was just too small on a 4K monitor.




@BobTheDog, I remember that template, great work and much appreciated. That also explains the forum, this is totally new and the old forum accounts didn’t make it across.

I’ve just uploaded a new beta3 with a much higher resolution limit. You can check it out at the link above.

I’m also looking into the issue with the modulation sliders, I know this was an issue that was fixed in a recent JUCE update so I think it should be an easy fix.

Thanks again,


Nice one, now I can get it big :slight_smile:

Another slight issue, right click on patch point to get slider then right click again, it treats it as a left click.

Also you can get multiple sliders displayed by right clicking multiple patch points, did it used to work like this?



I’ve just uploaded a new beta with a fix for the modulation sliders appearing in the wrong position.

you could always get multiple sliders appearing. On the right/left click, the behavior is like you describe, click once to show, click again and the modulation slider hides. Is this what your expecting?

Again thanks for taking the time out on a Sunday to help, much appreciated!



Ah, Ok as long as it is by design.

Sliders are now in correct place for me.

Had a crash here on exit:

Process:               Circle2 [3102]
Path:                  /Applications/Circle².app/Contents/MacOS/Circle2
Identifier:            com.FutureAudioWorkshop.Circle2
Version:               2.2.1 (2.2.1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Circle2 [3102]
User ID:               501

Date/Time:             2019-03-03 16:12:23.210 +0000
OS Version:            Mac OS X 10.13.6 (17G4015)
Report Version:        12
Anonymous UUID:        43C15E11-9B85-2D1A-0F5B-445CC07FD480

Time Awake Since Boot: 8500 seconds

System Integrity Protection: enabled

Crashed Thread:        0  JUCE Message Thread  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

Application Specific Information:
Performing @selector(terminate:) from sender NSMenuItem 0x6040000bdf40

Thread 0 Crashed:: JUCE Message Thread  Dispatch queue: com.apple.main-thread
0   com.FutureAudioWorkshop.Circle2	0x000000010a10e098 0x109f97000 + 1536152
1   com.FutureAudioWorkshop.Circle2	0x000000010a10ea90 0x109f97000 + 1538704
2   com.FutureAudioWorkshop.Circle2	0x000000010a10c8de 0x109f97000 + 1530078
3   com.FutureAudioWorkshop.Circle2	0x000000010a06c869 0x109f97000 + 874601
4   com.FutureAudioWorkshop.Circle2	0x000000010a09ca79 0x109f97000 + 1071737
5   com.FutureAudioWorkshop.Circle2	0x000000010a09c58e 0x109f97000 + 1070478
6   com.FutureAudioWorkshop.Circle2	0x000000010a078e4e 0x109f97000 + 925262
7   com.FutureAudioWorkshop.Circle2	0x000000010a07009e 0x109f97000 + 888990
8   com.FutureAudioWorkshop.Circle2	0x000000010a092c09 0x109f97000 + 1031177
9   com.FutureAudioWorkshop.Circle2	0x000000010a2815cd 0x109f97000 + 3057101
10  com.FutureAudioWorkshop.Circle2	0x000000010a28171e 0x109f97000 + 3057438
11  com.FutureAudioWorkshop.Circle2	0x000000010a05c7a9 0x109f97000 + 808873
12  com.FutureAudioWorkshop.Circle2	0x000000010a0585ee 0x109f97000 + 792046
13  com.FutureAudioWorkshop.Circle2	0x000000010a1091a0 0x109f97000 + 1515936
14  com.FutureAudioWorkshop.Circle2	0x0000000109fa223e 0x109f97000 + 45630
15  com.FutureAudioWorkshop.Circle2	0x0000000109f9c39d 0x109f97000 + 21405
16  com.FutureAudioWorkshop.Circle2	0x0000000109f9ac1e 0x109f97000 + 15390
17  com.FutureAudioWorkshop.Circle2	0x0000000109f995fe 0x109f97000 + 9726
18  com.FutureAudioWorkshop.Circle2	0x000000010a1cadef 0x109f97000 + 2309615
19  com.apple.CoreFoundation      	0x00007fff2d07447c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
20  com.apple.CoreFoundation      	0x00007fff2d07434a _CFXRegistrationPost + 458
21  com.apple.CoreFoundation      	0x00007fff2d074081 ___CFXNotificationPost_block_invoke + 225
22  com.apple.CoreFoundation      	0x00007fff2d032c12 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1826
23  com.apple.CoreFoundation      	0x00007fff2d031ca3 _CFXNotificationPost + 659
24  com.apple.Foundation          	0x00007fff2f15c817 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
25  com.apple.AppKit              	0x00007fff2a7cfddc -[NSApplication terminate:] + 1596
26  com.apple.AppKit              	0x00007fff2ad86a43 -[NSApplication(NSResponder) sendAction:to:from:] + 312
27  com.apple.AppKit              	0x00007fff2a81b213 -[NSMenuItem _corePerformAction] + 323
28  com.apple.AppKit              	0x00007fff2a81af9b -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 114
29  com.apple.AppKit              	0x00007fff2a8a0c7a -[NSMenu performActionForItemAtIndex:] + 133
30  com.apple.AppKit              	0x00007fff2a8a0be5 -[NSMenu _internalPerformActionForItemAtIndex:] + 94
31  com.apple.AppKit              	0x00007fff2a8a0a15 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 106
32  com.apple.AppKit              	0x00007fff2a7672a2 NSSLMMenuEventHandler + 882
33  com.apple.HIToolbox           	0x00007fff2c317904 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1541
34  com.apple.HIToolbox           	0x00007fff2c316c4d SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 374
35  com.apple.HIToolbox           	0x00007fff2c32bf21 SendEventToEventTarget + 39
36  com.apple.HIToolbox           	0x00007fff2c3753f9 SendHICommandEvent(unsigned int, HICommand const*, unsigned int, unsigned int, unsigned char, void const*, OpaqueEventTargetRef*, OpaqueEventTargetRef*, OpaqueEventRef**) + 411
37  com.apple.HIToolbox           	0x00007fff2c39e2ee SendMenuCommandWithContextAndModifiers + 49
38  com.apple.HIToolbox           	0x00007fff2c39e2aa SendMenuItemSelectedEvent + 188
39  com.apple.HIToolbox           	0x00007fff2c39e184 FinishMenuSelection(SelectionData*, MenuResult*, MenuResult*) + 96
40  com.apple.HIToolbox           	0x00007fff2c39eb26 MenuSelectCore(MenuData*, Point, double, unsigned int, OpaqueMenuRef**, unsigned short*) + 559
41  com.apple.HIToolbox           	0x00007fff2c39e866 _HandleMenuSelection2 + 472
42  com.apple.AppKit              	0x00007fff2a758acf _NSHandleCarbonMenuEvent + 244
43  com.apple.AppKit              	0x00007fff2a9b2dde _DPSEventHandledByCarbon + 54
44  com.apple.AppKit              	0x00007fff2ad845e2 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 914
45  com.FutureAudioWorkshop.Circle2	0x000000010a1cf65b 0x109f97000 + 2328155
46  com.FutureAudioWorkshop.Circle2	0x000000010a28c51d 0x109f97000 + 3101981
47  com.FutureAudioWorkshop.Circle2	0x000000010a10ca14 0x109f97000 + 1530388
48  com.FutureAudioWorkshop.Circle2	0x000000010a2b621a 0x109f97000 + 3273242
49  com.FutureAudioWorkshop.Circle2	0x000000010a2bf263 0x109f97000 + 3310179
50  com.FutureAudioWorkshop.Circle2	0x000000010a2bef9c 0x109f97000 + 3309468
51  com.FutureAudioWorkshop.Circle2	0x000000010a2b957c 0x109f97000 + 3286396
52  com.apple.AppKit              	0x00007fff2af2343d -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 5040
53  com.apple.AppKit              	0x00007fff2af21c70 -[NSWindow(NSEventRouting) sendEvent:] + 497
54  com.apple.AppKit              	0x00007fff2ad83236 -[NSApplication(NSEvent) sendEvent:] + 2462
55  com.apple.AppKit              	0x00007fff2a5e38b5 -[NSApplication run] + 812
56  com.FutureAudioWorkshop.Circle2	0x0000000109f9945b 0x109f97000 + 9307
57  libdyld.dylib                 	0x00007fff5502d015 start + 1


Also are the “Subs” on the analog OSCs broken?

They are very, very sub!


That crash is from the standalone Andy, were you doing anything in particular and if so can you describe what you were doing.

Agree the subs are too low, the idea originally was that they allowed the oscillators to be used as LFOs. I’ll have a look at preset banks and see if any are using the sub mode and in what context.



I found the crash Andy, if I shut down Circle2 while the wavetable selector is open, it crashes.


Nice one, glad you have found it.

The “Sub” makes more sense when used as an LFO, I had not thought of that. Maybe just changing the label to “LFO” might make it more easily understood as I was also confused that the “Original” oscillator disappeared, a “Sub” button to me means add a sub (-12 or 24) to the oscillator.

As you can probably tell it’s been a while since I used circle as the display was too small for my ageing eyes, the addition of resizing is huge for me. So now it is back on the table.


Good call on changing “sub” to “lfo”, just implemented here Andy.



Hey @BobTheDog, I just uploaded a build with the standalone crash fixed, have also changed the “sub” text to “lfo”, fixed a bug where the preset browser wasn’t resizing correctly in standalone mode.

Also, you were right about some strange behavior with the modulation amount sliders. Now when you click another on to open, it will all other open amount sliders. To close an open slider, you can now click anywhere outside the slider and it will close.

Thanks again for the help and if you find anything else just post here and we’ll fix them.



Hi Gavin,

I will have a test today and get back to you…




Hi Gavin,

There is a problem with the wavetable selector when resized.

  1. When you click to open it sometimes it can flash up, disappear and then reappear after a second or so.

  2. The update is very slow, if you move the mouse around the selection border takes around 1/2 a second to appear.



p.s. Mod sliders are much better now, makes more sense.


I’ll have a look Andy at the wavetable selector today and do a build. Good catch!



Another thing, not a bug:

Did you ever think about having the module selectors and power buttons accessible by OSC and Automation parameters?

Another one:

The LFO Shape automation don’t cover the 0 to 1 parameter range instead it seems we have 0 to 0.018.

Another one:

Is fine control of controls working as expected, I have tried shift and control and they have an effect but controls still seem to be quantised, easy to see with the filter frequency.

I had to add to this post as new post but it says users can’t post 3 times in a topic even though I already have!


hy … resizing just works on my mac pro in “element”, but NOT in cubase 9.5 ;(((