Regarding foo_openmpt fork and the new foo_openmpt54

It was never my intention to force users of the official libopenmpt component for foobar2000 to update to development state code. My intention was to bring a working product to users, and contribute any changes I may have to the OpenMPT library, or its components, back upstream as is possible.
I am not used to having to ask developers for permission to use their libraries, and the license for this particular library is MIT/BSD compatible, one of my favorite licenses to use for my own code, so it was not necessary for me to immediately publish my work, especially as I was not yet ready to push my own repository changes to the public eye.
Currently, my entire work tree is somewhat of a mess. It’s unpublished code everywhere, changes made to update everything to building with MSVC 2017 targeting Windows XP, with workarounds for bugs in the optimizer of the new compiler. I still haven’t finished updating all of my components to the new SDK, which involves little more than a rebuild for some of them, while all input components need at the very least to derive from the input_stubs class, and gain new name, GUID, and optionally preferences page GUID. For convenience, I have been naming the input after the preferences page, then changing the preferences page to retrieve its name and GUID from the input’s static functions.
Know this: I will make the Git repository of my foo_openmpt fork much easier to access, as a real repository, and will be sidegrading to the latest stable release of libopenmpt, and force deprecating all 0.40-pre.* versions. I will still maintain a “+N” moniker for any subsequent updates against a particular version of the OpenMPT library, to denote incremental changes against a previous component release.
I wish to apologize to the developers of the OpenMPT project, whose very active development has been carefully controlled over the years to bring their users the very best possible work, without releasing code that wasn’t ready for general consumption. I hurt their image by releasing unfinished code, and also made the entire foobar2000 component reservation process look bad.
I will be granting their developers an account on the foobar2000 components site, with which they may do whatever they want to publish their own component on the site, as they see fit. I will continue to publish my own component, with the very latest changes to the component interface, that will hopefully filter down into their official work tree as they also see fit, since some things may not be considered stable enough for mass consumption.
My only reason for using the development version of libopenmpt was to collect a single obscure change which seemed important to me: The removal of the J2B format’s minimum and maximum period clamping from the format reader, which fixes at least one of the modules in my Jazz Jackrabbit 2 collection. This minor change is probably not really that important to most users, in the grand scheme of things. I assume the latest stable release, as of today, also contains this fix, so I do not need to cherry-pick it from the development source.
Also, in the grand scheme of things, it may or may not be the best idea for a component to derive its main version number from the library it uses, considering the component itself may be updated with newer features or bug fixes in finer granularity than the frequency of stable releases of the library. The “+N” notation will still be used for differentiating component-only updates.
I hope this clears the air a bit, and paves the way to a more cooperative future for all of the developers involved, and all of the users who enjoy our various works.

Cat Scratch

Warning! Blooooood! (hover to reveal)

Cat scratch

So, I was just getting up around noon today, and headed into the living room, where I found our male kitty, Gibbs, and he was in a good mood. So I sat down, in my t-shirt and underwear, cross-legged, and he sat in my lap for a whole of 30 seconds, kneading around and purring happily, until I accidentally swung my arm to the left into a trash can, which scared the shit out of him and made him bound out of my lap, leaving this nice souvenir.

iMac is home

CSS finished replacing the display assembly in my iMac. The report indicated “hundreds” of stuck pixels, so I guess I got lucky with the warranty.

My dad figures maybe one in ten people who experience this problem actually have it dealt with, while the rest either put up with it and don’t bother to take it into the shop, or don’t even notice it.

ESXi in the home

On the 10th of March or so, I set about installing VMware ESXi 6.5 on my PC tower, and using the divided resources to replace my previous bare metal Windows installation. The machine is now divided up into:

Four CPU cores in two sockets, with 16GB of the RAM, 120GB of the SSD space, and with my RX 480 8GB and two internal USB 2.0 adapters via PCIe passthrough, to my primary Windows 10 Pro installation, which hosts Steam, some games, and is purposed for regular use.

Four CPU cores in two sockets, 4GB of the RAM, and 86GB of disk space, to another Windows 10 Pro VM purposed for development and debugging. I use a VM for this due to debugging issues when running bare metal that result in deadlocks that can only be escaped by stabbing the three finger salute and logging out.

Two CPU cores (yes, I over provisioned) and 8GB of RAM, 16GB of disk space, and the three (previously four, need to buy a replacement and let it resilver) hard drives (2x4TB WD Red, 1x6TB Toshiba) passed directly into a NAS4Free VM, which is hosting a ZFS array, RAID10 style: The 6TB drives were in a mirror, and the 4TB drives in another mirror, and the two mirrors were joined. I now need to replace the 6TB drive with another, and wait while it resilvers, before my data will be slightly more secure again.

Back to the primary VM: Since I sent my iMac into the shop, I’ve been running it as my primary desktop. With the video card passed in, and enough USB ports to plug in my usual array of input and accessory devices, I can use a VM in a hypervisor as my primary desktop. Living the dream, or at least it’s flying like a dream after the initial nightmare was over, getting it to work in the first place.

Situation update

It came to my attention some months after I put it back into service, that my Retina 5k iMac had some stuck pixels. And by stuck pixels, I mean a whole shitload of them:

Stuck pixels galore

See those faint glowing expanses in the far right corner of the screen? That’s not dust, this screen is sealed to the glass panel. It’s a mess of stuck bright pixels.

I took it into the shop Thursday, and the next day, the shop called and said they couldn’t find anything wrong. I told Gregg to run a black screen and look again, but he called later to report he still could not find anything.

So I sent him that picture again, with the pixels circled, and he said he could see them in the picture, but not on the monitor. Then it occurred to him to clean my apparent fingerprint smudges off the glass, probably left when I was packaging it up. He spotted the mess of pixels with a magnifying glass, and was blown away by how many of them there were.

So, he’s set about ordering a replacement screen and installing it, then will get back to me as early as Monday with the results.

Meanwhile, I am on my Windows machine, which is different now, but I’ll outline that in another post.

Hello and welcome to modern dental care

I went to the dentist for my twice yearly checkup again, and this time, I had a popped filling, possibly one from my previous dentist from over 10 years ago. And after the checkup, and the report of watching the same teeth as last time, no new full cavities, but I do have to wait over a month until I can go back in and get this missing filling taken care of. Oh, and a chipped tooth as well, joy!