devlog > installer

Captain's Log: Stardate 78108.1

As of a few minutes ago, I have confirmed with a couple of friends that the Windows and MacOS installers work on their computers. This is pretty great to see, because I'm always nervous when initially distributing software packages that they are somehow tied to my machine.

On MacOS, this turned out to be very true. I had been using a modern Clang compiler, instead of Apple's piece-of-junk ancient "Apple Clang" (aka We Like To Punish Developers Clang). Well, that turned out to be a distribution nightmare, since the binaries I created were linking against a homebrew Clang libstdc++, and Apple doesn't like static linking, etc. So now I'm back on Apple Clang (which from now on I will refer to as Crapple Clang).

After that, I found out that the MacOS binaries I was producing were tied to MacOS 14. I tried a bunch of things to fix this before finally finding the right CMake flags to target MacOS 11 as the baseline version. That led me a down a rabbit hole with how to create my own vcpkg "triplet" (I hate that term) to get vcpkg to build my dependencies also targeting MacOS 11. But again, to vcpkg's credit, once I got it set up correctly, it Just Worked. Which is nice.

Now that I've seen the installers succeed on a couple of non-Evan machines, I'll feel comfortable starting the pre-alpha. I'm sure lots more issues will come up, but at least I've worked out the most basic "it doesn't even install" issues before handing out the installers to a few more people.

Captain's Log: Stardate 78099.9

Things are going good with the Windows pre-alpha release. The installer works properly now, and the new distinction between "factory" and "user" presets (you can't overwrite the factory ones) works well. There's a bunch of tiny small new features like an About menu. The docs for the changelog, known issues, and 3D controls are all done. And I fixed a bunch of small bugs that I introduced recently; for example the VST plugin was crashing hard at startup, since I hadn't tested it in a couple weeks.

MacOS is next, and it's in decent shape but there are more issues there. Some weird things have cropped up, like weird visual corruption when the file chooser menu is launched (no other dialog menus do it). And when it runs as an AU plugin in Ableton on MacOS, switching to the plugin GUI and back to Ableton leaves the system main menu bar in a weird state. I think have have leads on what to do about both of those, but I also suspect a couple more things will come up. On the plus side, vcpkg did just magically work on Mac, so at least I didn't have to wrangle the new libraries. Actually it worked so well that I think I'm going to lean on it more heavily, and move some of what I currently have as git submodules to vcpkg dependencies.

But also, I need to create the MacOS installer. Sadly I don't think I can release as a .dmg file, which would be much easier, because I need to put VST3 and AU files in their correct system locations (which a .dmg can't do). So I need to learn about the MacOS package building tools. Doesn't seem too bad, but it's just another thing to get done.

Captain's Log: Stardate 78093.8

The pre-alpha is getting so close I can feel it. There is now a fully-functional Windows installer. I set things up with CPack so that I can press one button and have the installer built, with all the binaries inside it as well as the installer itself signed with my EV certificate. The binaries now have branded icons, and uninstalling works flawlessly. And the installer has the annoying-but-important screen where the user has to agree to the EULA.

The next work to do is to get all my recent changes up and running on MacOS. Which should hopefully be trivially easy, but this depends on whether the new vcpkg manifest just magically works on Mac. Which, it should, but I'm not getting my hopes up. Provided that I can get vcpkg working, though, it should just be a matter of running the unit tests to make sure things look good, and then configuring CPack to generate a MacOS .dmg file installer thing.

After that there are just a couple of small administrivia tasks. For example, there needs to be a doc that explains the 3D interface controls. Most of the other controls have menus and the hotkeys are discoverable, but some of the interactions for 3D are non-obvious. One huge thing that will be missing in the pre-alpha is any kind of hand-holding for new users. Eventually I want to have a tutorial system (inspired by Factorio's) to help new users learn the ropes, but that's definitely more of a beta thing than an alpha thing.

Loading...

© 2024 Anukari LLC, All Rights Reserved
Contact Us|Legal