So I realize this is probably one of those things where you'll either be like meh, or ooh cool, but here's another thing I've been working on, mainly for my own personal use and a group of friends than anything, but I figured wtf, someone else here might enjoy this. This is #FastPlay, a little media player that I've been working on. It's not and will never be a full replacement for Foobar2000, and thus lacks things such as a converter and a media library, but has enough features I think for it to still be useful. It supports being able to be set as the default for formats, for example. I'll paste a bit from the readme here which explains what's unique about FastPlay: At the core of Fastplay are what we will call virtual sliders. Right now, there are two of these virtual sliders.
The first one adjusts things like your volume and any effects you choose to enable/add. You choose what this slider adjusts by using left and right brackets, and then adjust the value itself with up or down arrows.
The second slider allows you to do things such as seek and move between tracks. You adjust what this slider does by using comma and period, and you adjust the slider with left and right arrows.
You can choose what shows up in these sliders by heading to the options dialog, control comma.
More and download: https://masonasons.me/softs/FastPlay.zip

#FastPlay 0.4.0: Add speedy as another tempo/pitch algorithm.
Add reverb algorithm adjustment.
Correctly show midi format in the file formats tab
Add option to have FastPlay not automatically hide to tray.
Add new bookmarks option. Press M to place a bookmark at the current position in the file. Press control M to open the list of bookmarks. Press enter on a bookmark to jump to it, or press delete to remove it.
Attempt to fix internet streaming crashes.
Add the ability to record the player's direct output. Useful in many applications, recording internet radio streams, recording affected audio, etc. Press R to toggle recording. Set up options in the recording tab.
Add a radio dialog, for saving and quickly playing internet radio streams. Search tab coming soon.
Thread youtube search, so NVDA doesn't freeze.

https://masonasons.me/softs/FastPlay.zip

#FastPlay 0.4.1: Add toggle record and speak now playing as an available global hotkey assignment
Add new speech tab, with some new settings for verbosity.
Fix volume over 100 setting
Add shuffle
Fix a bug with tags where they were getting cutoff in some cases.
Adjust volume curve and step.
Fix flac playback by actually including the proper version of bassflac.
Add home to jump to the beginning of the file.
Add J for jump to time.

https://masonasons.me/softs/FastPlay.zip

#FastPlay 0.4.2: Add convolution reverb.
Add all files option to the open file dialog.
Add chapter seeking option.
in the speak now playing key, remove the now playing: text
Make it so shift numbers show a text field in a dialog with the tag that that number key would speak.
Add open folder option
Add playlist manager dialog, control P. Allows you to modify the current playlist. You can add files to it by pasting them, move them with alt up and down arrows, delete them with delete.

https://masonasons.me/softs/FastPlay.zip

#FastPlay 0.4.3: Add scheduler for scheduling playback/recording from within the app!
Fix a bug report where now playing song titles didn't continue parsing past an apostrophe character.
Add a keystroke, u, to mute the player. This works in such a way where recording the player would still work but you wouldn't hear the player output.
Add backspace to reset the current effect slider to it's default value.
Adjust it so that player volume does not affect recording volume.
More adjustments to volume curve.
Add volume step setting to options/playback.

https://masonasons.me/softs/FastPlay.zip

#FastPlay 0.4.4: Add an option to make playback rate adjust by semitones instead of .01X
Add a use legacy volume adjustment checkbox to advanced, for those who don't care about volume affecting recordings and want it to respond quickly.
Add an option to not show track filenames in the window title.
In addition to this, improve window title display so that it shows much more useful track information than before.
Fix the scheduler so that when set to both playback and recording, the audio is now correctly muted.
Add an import button to the radio dialog, for importing M3U or pls streams.
Add the promised search tab to the radio dialog, which lets you search RadioBrowser, TuneIn, iHeart Radio.
Adjust rate feature to not rely on the tempo algorithm being BassFX/Sound Touch.
Fix pasting into the playlist view.
Load folders from m3u's.

https://masonasons.me/softs/FastPlay.zip

#FastPlay 0.4.5: Legacy volume mode fixes. https://masonasons.me/softs/FastPlay.zip
#FastPlay update! FastPlay can now be found on Github! Here is a link to the latest release: https://github.com/masonasons/FastPlay/releases/download/latest/FastPlay.zip
Here's what's new in FastPlay 0.4.6: Attempted network buffering fixes.
Fix leading spaces in M3U favorites import.
F2 will let you update a station.
I have made building FastPlay as easy as possible for those that are interested. It's as simple as making sure you have the Visual C++ Build Tools installed, and then cloning/downloading the sourcecode, running download-deps.bat, and then running build_new.bat.
@Bri Can I ask why you're using an old version of SQLite from 2024 pretty much exclusively as a key-value store, nothing relational like SQLite was made for, without any transactions or proper error handling?
@TheQuinbox I figured it would be much faster than using something else, especially if users end up with shit tons of radio stations/stored files with positions.
@Bri If the goal is speed for simple path-keyed lookups, a structured file, embedded key-value store, or append-only log with an in-memory index would be just as fast or faster. SQLite's advantages show up when you use transactions, indexing, and query planning, not when you treat it like a big dictionary.

@TheQuinbox @Bri I don't think you're wrong on the merits, but sqlite is just right there and easier to implement. Especially in Python, where it has been optimized to hell and back. If you wanted a specialized KV format and wanted it to actually be fast, you'd have to pull in a dependency (which means C/C++ libraries and more build weirdness). I'd probably also opt for Sqlite unless this was a specific performance bottleneck, just because it's right there and it's simple.

Agree on the version point though.

@miki @TheQuinbox Looking into that. Thanks for both of your feedback :) It's appreciated.
@miki @TheQuinbox I just updated to using SQLite 3.51.2.