A Locking Problem

I have been aware for quite some time that, occasionally, plays of music made by AMP would not get recorded in the PLAYS table as they should. It's difficult to know precisely why: when you're developing the code and saving changes to the script as it's playing something, it could well be that your editing has caused the 'record in PLAYS' bit of code to get skipped.

Or it could be a locking issue. Putting it at its simplest, databases cannot have one person modifying data whilst simultaneously allowing a second person to read that data. If I am in the process of withdrawing £5000 from my bank account just as a credit check is being performed, do we let the credit agency see the £5000 in the account? Or do we see it missing the £5000, even though I might be about to type 'Cancel' at the ATM? To resolve these data concurrency issues, all databases implement a form of 'locking': if I am going to withdraw money from my account, we lock the data until my withdrawal is complete, so that no-one can see it, either with or without the £5000, then when I'm finished at the ATM, we unlock and people can read the definite results. [...] 

Continue Reading

Scarlatti In Bulk

Thanks to another recent video by David Hurwitz, I was finally persuaded to bite the bullet and splash out on the complete Domenico Scarlatti keyboard sonatas as performed by Scott Ross (the album artwork of which appears off to the left). It's a 34-CD collection, available for purchase from Presto Classical at only around £2.50 a box, which seems reasonable value to me.

Curiously, this collection of works has previously been discussed by me in comments on this blog piece, where I was asked by 'DACO' how I would go about tagging the multiple Chopin Nocturnes or the even more multitudinous Scarlatti keyboard sonatas. I had to answer DACO in that exchange in the abstract, since I didn't at that point actually own the Scarlatti. The general principle I advanced, however, was: group lots of little pieces together in whatever way makes them accessible and attractive to play. Thus, I could speak from experience: a CD of Britten arrangements of folksongs would be ripped and catalogued as a single collection of folksongs, rather than 21 short pieces of (usually) less than 3 minutes' duration. Similarly, I had only just completed a re-rip of the complete works of Percy Grainger, where because of the quantity of music involved, and its overall great similarity, I found it more expedient to essentially rip entire CDs as 'Grainger Compilations' than try to separate out each individual composition as its own 'album'. [...] 

Continue Reading

AMP Doing Its Job

It's been a little over a fortnight since I modified my AMP player to work with a database -and, when it does so, to record every 'play' it decides on in a database table of its own.

So now, 15 days later, I can analyze that 'plays' table to determine if AMP has been doing the job I designed it for: picking a wide variety of composers and music genres, at random, and thus not creating any 'favourites'! [...] 

Continue Reading

Let's not get physical!

I had a slight mishap with my main PC on New Years' Eve: Manjaro released a new kernel and I installed it without thinking -and, though I believe the PC rebooted fine, I couldn't actually see anything on my monitor, so whether it had or not was really kind of moot!

So, a swift rebuild later, and we're back in business -though it's not quite how I imagined I would spend my New Years' Eve! [...] 

Continue Reading

The Absolutely Minimal Media Player...

I suppose it had to come sooner or later: since all my media manipulation is done by scripts I've written myself (and which are freely available to download for anyone capable of installing ffmpeg and one or two other packages), it seemed appropriate to consider creating a scripted, minimally-functional media player.

The Absolutely Baching Media Player (AMP, to its friends) is the result. [...] 

Continue Reading

Distinguishing Artists

In the post-pudding Christmas after-glow, I have come to the conclusion that if I am going to put the recording year into the ALBUM tag (because only by including it there do we properly and completely use recorded classical music's primary key), we might as well not fear duplicating data in another important matter: namely, the business of declaring who is the "distinguishing artist" for a recording.

It should already be common practice to have this data already present in the ALBUM tag (it's why I own Symphony No. 5 (Karajan - 1970) for example). [...] 

Continue Reading

Overflow

Once you've been collecting music for a while, you will suffer from an abundance of riches: those 15 different versions of the Beethoven symphonies; those 5 complete sets of Bach cantatas; at some point, they will all become difficult to navigate and make playing any particular recording increasingly difficult.

It is for such times that an 'overflow' library is a good idea: a separate physical storage area on disk where you move your lesser-played recordings to as you come to realise that they aren't your favourite performances any more. They're still there on disk, though: so they can be restored from the overflow folder back into the main library if you change your mind later on! Or (more pertinently), they can be played at will whether they are considered 'overflow' or not. [...] 

Continue Reading

It's not just Easytag... :(

In my last post, I pointed out the shenanigans that ensue when you use Easytag to update the metadata associated with your FLAC music files. Specifically, I demonstrated how Easytag will silently, and without the opportunity to configure the behaviour, change the name of a tag from COMMENT to DESCRIPTION.

When you then go on to use software which expects a tag to be called COMMENT, this causes problems! [...] 

Continue Reading