Loopy Pro: Create music, your way.
What is Loopy Pro? — Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.
Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.
Download on the App StoreLoopy Pro is your all-in-one musical toolkit. Try it for free today.
Comments
Swift. I don't even know what Rust is.
Swift is open source and runs on many flavors of Linux. The development experience is nothing like working with Xcode, but the language is there. https://swift.org/download/
Don't get me wrong ... I think Swift is a dead-end for your use-case at this time. I was just pointing out that there are low-impact ways to experiment beyond Windows.
Thanks for the link. I already fell down the Swift rabbit hole and my brain is past all tolerances already. If I try to take in anything else right now I might have an aneurysm or something.
Rust is a very good language indeed and I think has a bright future ahead of it, but you'd still have to find a solution to your interface unfortunately.
For audio one cross platform solution worth considering is Faust:
https://www.kadenze.com/courses/real-time-audio-signal-processing-in-faus
It's highly functional, so it can be hard to wrap your head round at first (unless like me you broke your brain many years ago with Haskell), but it does compile to a lot of platforms. It has some limited GUI functionality as well, though so I'm not sure if you'd want to rely on it for your UI stuff. I use it for prototyping a bit, and am starting to use it for writing custom instruments that I can drop into Reaper as a VST.
I recently jumped into my hobby project, besides my daily job which is web app development in plain React. I also had a strong preference to develop multi-platform app (ideally also browser-based). I wanted to learn something completely new but then I realised React Native is still "new enough"
Few years ago I attended a workshop with the founder of Expo framework and I remember it looked like magic at the time so I was wondering, if it still exists and it actually matured to a very powerful tool. So I started working on an app using Expo and I am really surprised how convenient it is. It's built upon React Native, but it fills gaps that React Native does not aim to solve (specific components, deployment process, prepared working environment etc). It really seems to me like currently the best way to go for a single person project, if you want to go multiplatform. I was able to have a running "hello world" app on my phone in 10 minutes from checking out the repository, that's really crazy if you compare it to other tools. Not to mention that if you save a file on your computer, the app on your phone is (wirelessly) reloaded with a new version.
React Native is also now also battle-tested and Expo is only building on top of it, so I also believe it's pretty future-proof, you can always decide to "eject" Expo and work with bare React Native if you want to.
I also paired it with Firebase cloud functions to go serverless and this also seems to be working so far pretty well. As I used to do backend in the times of PHP with complicated assembling of SQL queries, this feel like cheating Not to mention things like out-of-the-box support for user authentication, push notifications etc... I used to do these things manually on various BE frameworks, this is saving you dozens (or rather hundreds) hours of work and the result is even better.
Also I am a fan of TypeScript as we use it in my daily job, I recommend jumping directly into TS if you have previous programming experience (which was not JavaScript) - it will likely save you from a lot of headaches while learning specifics of JS. Expo and React Native support TS nicely, you can generate a starter project in Expo with TS pre-configured.
Still, expect there's a lot to learn. I have quite a lot of experience with React and been doing web development for 15+ years, but still I needed to learn a lot. But this won't be easy with any of the paths you choose
Wish you good luck and, most importantly, have fun!
I left the 't' off the end of the link...
try this:
https://www.kadenze.com/courses/real-time-audio-signal-processing-in-faust
One thing about plugins which is a pain, is that you can't use most GUI libraries with them (this is one reason for JUCE's popularity). Not sure if that's true for AU3, but it's definitely true for VSTs.
You can use Faust with JUCE to develop libraries, though FAUST is not as optimized as native C++ (or indeed Rust) would be.
For audio Rust currently doesn't really have the libraries. People (including me) are working on that, but there's a lot to do before it can compete with C++.
Ha! No, I wish. I'm creating a DSP library for my own purposes in Rust. It's very experimental at the moment, and may never leave the laboratory. It's fun to work on though. I like Rust working in Rust a lot. It's a very good language for doing low level stuff, with extremely good tooling. One of the things I used to like a lot about Ruby was that it took care of all the boilerplate for you. Rust is similar, except that unlike Ruby your code will be blisteringly fast.
I hate to repeat myself, but without any indication that SwiftUI** will be open sourced and ported to other platforms than iOS, I believe you're dead in the water with Swift for Windows. I believe you will be waiting a long time for that component - if it ever comes.
But - maybe you're not in any hurry. In that case no harm in waiting. But I wouldn't make that decision based on simply that article saying Swift will come to Windows. That doesn't really mean all that much if the need for cross-platform GUI tools in your OP is important to you.
(I expect there will be some mention at WWDC in a few days of the direction, so maybe that assessment will be confirmed or disproven soon.)
** SwiftUI is the current generation GUI management for Apple platforms (only). UIKit / AppKit / WebKit are the older iteration GUI platforms, which are gradually being superseded by SwiftUI and are not being developed further. Those also aren't multi-platform and open source.
I've spent some time researching this topic a year ago. I have some Android app development experience and wanted to start developing for iOS.
My advice: go full native. It will save you a lot of headache in the future.
If you have a lot of code you want to share between different platforms, you can use native views and just put your core logic inside a shared library or framework. C/C++ libraries work best, but you can also use Go, Kotlin/Native, Rust, etc.
For some it works fine, for some (see this article by the Dropbox tech team and a very interesting discussion on HN) - it does not. Debugging that shared code would certainly be a real issue.
Just my 5 cents as I see your thoughts and doubts: If you want to build your "app wishlist" consider even if just a simple web app wouldn't be enough for this. This will be definitely the easiest way to get a working prototype, anything else will be always tougher.
If you want native iOS app, you definitely need Mac, there's really no way around it (yes, people try crazy things, but believe me, it's out of question). So with Windows, your only bet are still multiplatform frameworks like React Native, Xamarin, Flutter... For this kind of app, it's completely fine to go with multiplatform as you won't use any specific APIs which these frameworks usually can't support.
So I would maybe narrow down your question to wether you want to learn specific stuff (e.g. iOS development) or you want to simply build an app the most straightforward way with the setup you have right now.
That said, for such an app, I'd forget about native development, unless you really want to learn that specific platform. And if that platform is iOS, then you'd need a Mac. Otherwise, pick some multiplatform framework, likely one of React Native, Flutter or Xamarin.
Can't help myself but i don't like MVVM used by SwiftUI. Simply old good MVC is hardwired to my brain i'll stick with it for now.
More i dive into Swift, more i like it. Hope one day they will add something which will make possible to use Swift code also inside realtime audio tread and stay thread safe - i don't like you're forced to use C++ for DSP code - Swift is soo much more readable than old raw C++ )))
Unfortunately, there is no way around - if you want deploy app to appstore, you need Mac with XCODE. You can do whole developement in other IDE, even on Windows (Matt develops whole NS2 in C++ in Visual Studio on Windows), but for final build / deploy Mac/XCode is mandatory.
Use Rust.
Just my two very biased cents… Swift is a very cool language. If you have a Java or JavaScript background you will feel very much at home with the syntax. For me it very much resembles Groovy if you know this fine little language. I would not do any serious app development with any of those cross platform tools like flutter, cordova, etc. These apps somehow never feel really native. For the personal wishlist it might be sufficient though. If you do not develop for Windows natively I think a Mac or a Linux machine is the better choice for a developer. Think about it. There was no better point in time than now to buy a MacBook. Even the cheapest M1 MacBook Air beats any medium range Windows laptop out of the water regarding bang for the buck, battery life and performance.
While Flutter is primarily focused on Android development, there are ways to develop and test iOS apps on Windows, although these may involve workarounds and additional steps.
Regarding the missing Android SDK, be sure to install it correctly as it is important for Flutter development, especially for testing on Android devices or emulators.
While developing for iOS on Windows may not be as easy as developing for macOS, it is still possible with the right settings and tools.