1. Why doesn't Giocoso play anything other than FLAC? What if I want to play MP3s?
There are two answers to this question, really. First: Giocoso is a classical music player, and classical music deserves to be taken seriously; which in turn means listening to it in the best possible quality. Therefore, the audio codec in which you store your digital music ought to be lossless, in my opinion.
Now: there are several lossless codecs out there I could have supported. Lossless WMA is Microsoft-proprietary and I have no idea whether it's on life-support or will remain properly supported and developed by Microsoft in the years ahead. Apple Lossless (ALAC) used to be Apple-proprietary, but has been open source and royalty-free since 2011... but the clue is the name: it's mostly going to be used on Apple hardware and Giocoso is primarily a Linux player. That doesn't leave a whole lot of lossless audio codecs that are genuinely and broadly cross-platform and non-proprietary. FLAC, however, fits the bill.
For anyone old enough to be able to say 'but my ears can't hear the difference between FLAC and 320kbps MP3' (join the club!), the second answer to the question is that in a previous life, I was a very serious, very high-end Database Administrator... and DBAs don't like losing data under any circumstances (usually, it's a sack-able offence, let alone a blow to one's own professional pride!). Therefore, whilst my ears cannot tell the difference between high-bitrate MP3s and FLACs, my brain is nevertheless upset at the thought, as I listen to an MP3 (or equivalent lossy audio codec), that I have forever denied my ears the chance to hear the difference because I've thrown away allegedly inaudible data. Remember: once you've thrown data away, you can never get it back. Throwing data away is therefore not cool, and I don't approve of it... and that's why Giocoso insists you listen to lossless music only!
Oh, and I suppose there's a third reason too: disk space is cheap. Yes, you can fit 10 times the MP3s you can into the space occupied by one FLAC, but at about £25 per Terabyte of spinning hard disk capacity, it's a false economy to shrink your music files to lossy formats. Remember a ripped CD isn't dynamic data: you rip it once and it stays, unchanging thereafter. It doesn't need to be accessed at huge speed, because audio just doesn't demand huge data throughput rates, unlike (say) graphics: therefore, solid state hard disks and their fast data transfer rates are not needed to store and access huge quantities of it. The cheap, spinning rust-flavoured disks will do just fine... so there's no genuine economic reason for listening to lossy audio formats these days, either.
2. You don't list my choice of Linux distro... why won't you support it?
Because there's only one of me and I can't be testing every single distro that's ever produced. I've limited myself to the top 20 or so distros, as per Distrowatch's page hit league table. I think that ought to be sufficient!
More subtly, I've restricted myself to supporting the Arch, Debian, Ubuntu and openSUSE families of Linux, plus Fedora and Solus. If your special choice of distro is built on, or derived from, one of those 'families', then Giocoso will probably run just fine on it. I haven't tested them, for example, but I'm pretty certain Giocoso will run on Xubuntu and Kubuntu just fine -because it runs fine on Ubuntu, their 'parent distro'. They will probably work just fine without any effort, too, since 'child distros' tend to report themselves as running the parent distro (in other words, the contents of /etc/os-release for Kubuntu is very likely to report, 'I am Ubuntu') -and therefore, Giocoso's OS detection algorithms will see the child as the parent, and just work.
If, for some reason, your choice of distro fails Giocoso's OS detection tests, but you think it should otherwise function as a given 'parent' would, you could email me to ask me to fiddle the OS recognition code to swiftly add it in as a recognised family member. That sort of 'support for the currently unsupported' is something I would be quite happy to do, on request.
If your choice of distro is more bespoke, however, and not one of the listed 'families' of distro, then I simply don't have time to test everything out and offer continuing support for it. Something like Mandriva, for example: I've never used it, I don't know how it even does package management, and I'm not going to the effort of learning it for the two people in the world that use it and want to run Giocoso on it. Sorry!
3. Why don't you support running on macOS Ventura?
I own two pieces of Apple hardware: a 2012 Mac Mini and a 2012 iMac 21.5". Both pieces of hardware are not even supposed to be able to run macOS Monterey, though I persuaded the iMac to install and run it just fine -but that's as far as I'm prepared to push it! Since I have no hardware capable of running Ventura, I cannot reasonably offer to support running Giocoso on it.
If you would like to buy me a piece of Apple-y hardware which does run Ventura in a supported manner, please get in touch and I will adjust my macOS support offerings accordingly!
4. Why don't you support running on Windows 11?
I don't have PC hardware modern enough to run Windows 11 in a supported manner. I have forced an old laptop to run it, by making it ignore the hardware requirements and so on; and I was then able to get Giocoso running on it without too much drama. There's even an article documenting it! But though I can finagel it, it's still Giocoso running on top of an operating system I'm not supposed to be able to run on my choice of ancient hardware -and which Microsoft might make impossible to run in the future at the drop of a hat, thanks to one Windows update or another. So, if the operating system itself is not supported for my hardware, I can't really offer support running Giocoso on Windows 11, even though it does currently run on it, quite nicely.
In other words: you can run Giocoso on Windows 11. But I can't support you on that platform if or when things go wrong. I simply lack supported hardware/infrastructure to make that possible. Now, if you'd like to buy me some hardware that runs Windows 11 in a supported manner, then I'd definitely be up for 'properly' supporting Giocoso on Windows 11. So, by all means, get in touch if you were willing to buy me such hardware!
5. I keep being told that a Database create/refresh operation is already happening, but it isn't. Why? What can I do?
Giocoso version 2 introduces a 'scanlock' to prevent a database create or refresh from being launched whilst a similar operation is taking place. Avoiding simultaneous database create/refresh operations is necessary because otherwise the two operations would interfere with each other (the second deleting files that the first still needs, for example). To prevent simultaneous creates or refreshes, such operations now check for the existence of $HOME/.local/share/giocoso/scanlock and if such a file is found, it immediately quits: the file was put there by the first create/refresh operation and won't be removed until that first operation completes. However, if you interrupt the first operation (by pressing Ctrl+C, for example), then it quits abnormally and doesn't get a chance to delete the scanlock file as part of its normal cleanup operations. The lock file is thus left there, preventing new refreshes or creates from starting and it will never be removed as part of a standard cleanup operation.
If you are certain that no other session is currently performing a database create or refresh, then you can just manually remove the lock file: rm $HOME/.local/share/giocoso/scanlock will do it. Obviously, if you do that whilst another session is running a create or refresh, general mayhem will ensue, though a failed refresh can always be re-started. Similarly, a failed database creation can always be re-performed (just delete the .db file in the $HOME/.local/share/giocoso folder and re-perform the create operation that failed).
Ideally, kick off a refresh (or create) and walk away -and don't touch Giocoso again until the operation has completed. Then Giocoso will tidy up the lock files properly by itself and this situation shouldn't then arise again.
6. I know I have tagged my FLACs with details of performers, etc. Why isn't Giocoso showing them?
Giocoso is hard-coded to read the contents of the COMMENTS tag to retrieve details of a recording's performers. If you've put those details anywhere other than in a tag called COMMENTS, Giocoso won't see them and hence won't be able to display them.
A slightly corner-edge case can arise, though, even when you do store your performer details in COMMENTS. See this blog post, and this one, for details. The short version is that quite a lot of music-related software out there tends to silently rename COMMENTS to DESCRIPTION. Easytag and ffmpeg are probably two of the worst offenders. This means that if you tag your COMMENTS correctly, but subsequently use such software to make a minor correction to, say, the ARTIST tag, the COMMENTS tag is silently renamed to be DESCRIPTION. Giocoso doesn't read the DESCRIPTION tag, though, so now your performer details are stored in something that Giocoso can't see and thus can't display.
It is on the list of possible things to include in Giocoso version 2.1, whenever that happens (it's not currently planned at all!): if there's a DESCRIPTION and no COMMENT, use DESCRIPTION; if there are both, use COMMENT. Don't hold your breath for that update, though. The better bet is to always tag COMMENTS and make sure you don't use software that doesn't respect your tagging choices, but seeks to modify them without permission!