Hi all, congrats on the release of juce 8. Hoping to check out the Direct2D renderer in testing very soon.
I know this won’t be the same for all juce users but I just wanted to share my experience in updating to juce 8.
It’s taken me a day and a half to migrate with something approaching 500 uses of juce::Font that needed updating.
Whilst this change was straightforward, we have ~20 products and we can’t transition them all to juce 8 overnight. I specifically wanted to get Waveform working first so I could give some feedback to Matt. We don’t have a monolithic repo so Waveform has 9 git submodules that use juce, 3 of which are 3rd party (gin and 2 melatonin ones). Our shared/utility modules are used by our other products so they need to be compatible with juce 8 and 7 until we can transition them. If we don’t do it this way, we can’t make changes to those shared repos and use the changes in both sets of products.
In order to do this we ifdef using JUCE_MAJOR_VERSION >= 8 to maintain support for both versions. I know this seems like a small change but means making each of those 500 edits takes about 10x longer. I had to fork the melatonin repos in order to add compatibility whereas before we were only using the main repo.
It might be worth it in future to pre-empt things like this, you could have added juce::FontOptions to juce 7, even if it just passed on the arguments. That would have made almost all of those changes much much quicker.
Hope this feedback is received in the spirit it was sent and thanks for all your hard work!
