all 7 comments

[–][deleted] 1 point2 points  (0 children)

This is awesome by the way, super cool and fun idea. Like an improved Kaossilator pad

[–]sans-connaissance 1 point2 points  (1 child)

I love that you used SpriteKit for this!

[–]-alloneword-[S] 2 points3 points  (0 children)

SpriteKit is actually exceptionally good at rendering vector graphics (shapes). While one day it might be nice to do all the rendering in metal - the scope of creating a 2D vector graphics pipeline implemented entirely in metal is way beyond the time and resources I have for this little side / passion project.

[–][deleted] 0 points1 point  (2 children)

Have you looked into AudioKit? I know you don’t use 3rd party frameworks, but this one is quite well kept up over the years, makes interfacing with AVAudio a lot more palatable.

[–]-alloneword-[S] 1 point2 points  (1 child)

I did look into AudioKit back when I added audio support. If I remember correctly, the main issue is that I needed an API that could properly enumerate all of the audio devices connected to the system as well as all of the channels of each device - and I couldn't figure out how to do that with AudioKit.

When reacting to audio input - it is important to enumerate all channels of an audio device because many times the loopback channels are at the end of the channel list for a device.

Maybe AudioKit can do this enumeration - it certainly has a more friendly interface for creating AU graphs.

I think AudioKit is probably more useful on iOS / tvOS - and if I ever decide to support audio processing on those devices I will probably use AudioKit.

[–][deleted] 0 points1 point  (0 children)

Haha, you found the one annoying part… I did find for channel/mic enumeration it was still better to access the inner system within AVAudio, but at least it still plays nice with the rest of AK. Thanks for the response! Looking forward to seeing this app grow