Hi Folks,
Is it possible to use Juce to develop apps for tvOS?
Thanks in advance,
Pete
Hi Folks,
Is it possible to use Juce to develop apps for tvOS?
Thanks in advance,
Pete
Hi again - just a bump - any news on tvOS support in Juce? Pete
So… I’ve had to go ahead and create a native UI for the tvOS version of Wotja, using Swift, storyboards etc. for the front end (and with our substantial C++ engine behind the scenes - no Juce, of course). There are quite a few limitations in tvOS, mainly in regard to the way that the remote works to control the app; and the way that user focus animates. The port of our C++/Objective-C layer was really easy, as you’d expect. Shame that Juce wasn’t an option!
Hi folks, FWIW I’ve been able to build most core Juce libraries for tvOS, using
#if TARGET_OS_TV
…
#else // TARGET_OS_TV
…
#endif // TARGET_OS_TV
Primarily: had to mess around MIDI support, and a few other changes such as no clipboard support.
I’ve not attempted any UI Controller (i.e. remote control) support!
Only took me an hour or so.
Is this something you might put in the backlog?
Best wishes,
Pete
As a further update, I’ve even managed to the the complex animated display in Wotja tvOS working - rendered entirely from Juce (replacing my previous 100% Swift UI implementation). This is via a UIView / juce Component peer combo. NB: Didn’t require much in the way of customisation to Juce to get this to work.
On top of our custom UIView (which is hooked-up to my Juce componentry, as noted), I have some “normal” tvOS controls to manage the UI navigation and some native lists for selecting content. But, the bulk of the tvOS UI (the complex animation stuff) is now all done via Juce. Yay!
So, that is great news. I’m sure we’re not the only developers who could take advantage of Juce in this way, to get great UI results on tvOS.
Best to all,
Pete
Hi Pete,
Are you guys considering sharing with the Juce community, some of whom could possibly help edit it and get it into the Juce core code. It appears like there has been a lot of time and possibly work between your posts. If you did this work for someone else, you could suggest that putting it in Juce core is a great way to keep it up to date with Juce.
Whether you do or not, congrats on getting it working.
Hi Lob,
Thanks for reaching out.
Sure, I’m very happy to share the code. However, I’m guessing the Juce developers are just too busy to reach out.
I tend to update Juce only very rarely, as historically there are a lot of things that need fixing, and they can be quite onerous to work through. So, for example, we stuck on Juce 5.3.0 for a very long time; and I only made the move to Juce 6 a week or so ago. It has taken me that week or so to work through most of the issues.
The general things I’ve had to patch in Juce 6 are:
Other things I’ve had to work hard on outside of the Juce layer are:
Don’t get me wrong - Juce is fabulous, and has allowed us to no longer rely on our own cross-platform rendering layer. But to allow our range of apps (iOS, Android, macOS, Windows, tvOS) to work well on all platforms, has required very significant work over the years. Anyhow, we’re able to build on all that work now, and focus much more on App features rather than the lower-level stuff.
With best wishes,
Pete