iOS app with HISE
-
@christoph-hart THanks. I am one step further... although that field is behaving a bit wonky...
But I think I am doing something wrong here! I do get this error:
Weird. Because that flag is set to 1 in my projucer file!
-
@ursbollhalder Believe me, this procedure will go on for at least 100 times until you have something running on your iOS device.
-
-
@christoph-hart But we're already down to 99, right?! 🤪
-
@ursbollhalder well it's an estimate so we could also have 9999 problems left to solve.
Out of fun I just compiled the current project I'm working on for iOS (which worked after I added a few missing OpenGL constants) and it completely explodes the iOS simulator with
'cyclone' is not a recognized processor for this target
Googling this remarkable epic error message yields this forum topic:
https://developer.apple.com/forums/thread/658330
so the solution to this problem is to use a deprecated iOS simulator < 14.0. Whether the software then runs on an actual device with iOS > 13.0 is completely unclear.
And this is just one example how iOS development is the absolute worst.
-
@christoph-hart That's encouraging!
So where is the bottleneck in this export to an iOS app? Is JUCE just not a good solution for creating an iOS app in that case? What route would you take, if you wanted to create an instrument for iOS? -
@ursbollhalder My experience is that as soon as you deviate from the path that Apple offers you (using JUCE or even C++ instead of whatever language Apple wants you to use today), you're in a world of hurt.
So, use Xcode, Swift, Metal (not OpenGL since that is deprecated) and develop iOS apps that only run on iOS, then you might have a better time. Basically reimplement everything you have already working for desktop with another toolset with an unknown return on investment because the iOS music software market is rather small.
-
@christoph-hart said in iOS app with HISE:
So, use Xcode, Swift, Metal (not OpenGL since that is deprecated) and develop iOS apps that only run on iOS, then you might have a better time. Basically reimplement everything you have already working for desktop with another toolset with an unknown return on investment because the iOS music software market is rather small.
That's what I thought. But learning those frameworks, in general, is not a bad idea I suppose, if you're into that kind of space, no?
The idea I had in mind was more along the lines of an educative, playful, game-sorta app for kids. My 2 plugins that are getting in shape steadily involve drawing on the ui a lot. I thought of creating a bunch of little apps for. kids that would talk to each other and let them create stuff playfully... something like GarageBand jam, where you can hookup multiple devices. Just a crazy idea I had...
-
But learning those frameworks, in general, is not a bad idea I suppose, if you're into that kind of space, no?
If you want to learn native iOS development, then yes, learning about native iOS development is a good idea :)
-
@christoph-hart I managed to get it running on the simulator at least... The graphics performance on there is super awful... as you said... I need a HISE backend with a swiftUI frontend!!
-
@ursbollhalder it gets a bit better on an actual device though
-
@christoph-hart Hmm… it’s ‘ Peitsche und Zuckerbrot’ with you, right? Now you’re making me curious again…
But to build it on an actual device I do need a running dev membership? Which I’ll have to get eventually anyways…
-
@ursbollhalder no i think you can make a Personal account for free where you can register your device to and then you can run a debug build for 7 days so this might work for initial prototyping.
But I get the zuckerbrot and peitsche thing, but it‘s not me, it‘s how iOS works...
-
-
-
@christoph-hart I actually got it running on my iPhone 8!!
It looks a bit like shit at the moment... but there might be hope after all...
I do get sample streaming crashes a lot. Stuff like this...
JUCE Assertion failure in StreamingSamplerVoice.cpp:727
Are there things that need to be avoided when exporting for iOS regarding sample streaming, settings, etc.?
-
@christoph-hart I actually think this is pretty darn cool! Honestly!
The graphics performance is not that bad with this little instrument. I am drawing on a panel quite a bit... and it looks really good and interactivity is also good! The drawing of settings or preset panels with boxBlur and tiny bit of noise is a bit laggy. But not much... Could be optimized maybe on my part...
Also, I wonder how the mouse callbacks relate to the touch gestures!! So is mouseUp working the same way as when i lift the finger from the screen f.e.?
-
@ursbollhalder If you touch for longer than 1 second without moving your fingers more than 8 pixels, it will trigger the same callback as right clicking.
-
Are there things that need to be avoided when exporting for iOS regarding sample streaming, settings, etc.?
Are you using HLAC monoliths? I think I have deactivated using raw files on iOS (not sure why though)...
Also I've rewritten the way how samples that are pitched extremely are handled after I've used iOS the last time so this might also break something.
-
@christoph-hart Yes. Monoliths… I think I couldn’t export it as Standalone from HISE otherwise, no?!
And there is some pitch shifting going on yes, but nothing I’d categorise as extreme…
I had the impression it always crashed when randomising stuff, which also loads random samples and then trying to play a note before the sample map is loaded. That is something I noticed on a macOS standalone export as well. The instrument will go silent and abort loading samplemaps when you try to play before the loading process is finished!