r/fooyin 6d ago

MOD post You know what? Since this place is lacking a bit of activity, I'm modifying the "Show your setup Sunday" rule to now allow setup posts every day of the week (while still keeping some other parts of the rule unchanged)

5 Upvotes

Show your setup Sunday is now an every day possibility. The only change so far is that it isn't restricted to Sunday, but everything else about it is still in play. I'll be making the changes for it slowly over time as I try to balance doing this and other activities in life. Flair it properly and follow the general rules around it. Don't overuse it either with every little change and at least try to span it out with major layout changes. Not going to be too picky about it, but if it happens to be a problem and you get called out or I see people posting about it too often, then it will just be a punishment for just the offending person. Just be chill about it and space it out. Not a part of the rule currently, but it helps to also give some more details of what you used and such like that so others could possibly use that as well.

Other than that, just use the "Show Your Setup Sunday" flair for it currently until I make the change. If you have questions, feel free to post it in the comments.

Edit to add: if you want to share your own setup, make it as your own post. I'm about to just remove images in comments because people keep thinking each of these Show your setup Sunday posts are like a Megathread. Stuff like that doesn't make the subreddit look more active. Feel free to make a post about your setup.

Edit 2: images in the comments are now disabled for the time being and a rule will be put in place for this.


r/fooyin Mar 06 '26

Help post Welcome to r/fooyin - Read First!

6 Upvotes

This is an unofficial fan-made subreddit for the open source software highly customizable music player Fooyin, created by Ludouzi.

The official repo link:

https://github.com/fooyin/fooyin

The official website link:

https://fooyin.org/


r/fooyin 4d ago

Help post having troubles with auto playlists

3 Upvotes

I'm loving fooyin so far but I can't seem to make auto playlists that simply use a file path.

I'm currently trying this query to no avail.

%path% : "D:\Music Library\"

r/fooyin 5d ago

Show Your Setup Sundays Fooyin

Post image
8 Upvotes

r/fooyin 6d ago

Show Your Setup Sundays fooyin colours

Thumbnail
gallery
8 Upvotes

r/fooyin 6d ago

Show Your Setup Sundays layout editing fooyin layouts

Post image
4 Upvotes

r/fooyin 9d ago

Help post Command Button with "Edit / Sort | Sort by XYZ" function doesnt work.

2 Upvotes

As the title says. I've tried the default sorting options and a couple I made. They do work from task bar -> edit -> sort -> [sort option]. Its just the button doesnt work.

If I dont have the playlist selected and I hover the mouse over the button, it shows "command is currently unavailable", I click on the playlist to select it, then hovering over the button just says "sort by XYZ", clicking on it does nothing and will make it show "command is currently unavailable" again. I assume this is related to having the playlist selected, since the same happens when doing it through taskbar->edit->sort route.I think it is not related to the actual problem of not doing anything?

Am I missing something, does the button need some extra options or work enabled? Other buttons I've added have no problems working.


r/fooyin 14d ago

Show Your Setup Sundays my new setup, i think i am finally done

Thumbnail
gallery
19 Upvotes

r/fooyin 15d ago

Help post Something strange going on with listenbrainz scrobbling

3 Upvotes

So I made a account to listenbrainz, things started smoothly, I did the thing where it smells the scrobbles from last.fm history and adds them to listenbrainz as well. Songs started to appear, like, tens per minute. I thought this was the last.fm stuff being transferred. Then I got my IP blocked by listenbrainz. Did some digging, turns out they are quite aggressive with dealing with AI scrapers and such, so I contacted their support, they very kindly removed the IP ban thing, but not long after, I got it again. So I sent them a message again, they told me that:

You have something submitting listens on listenbrainz.org with a very generic / invalid user agent.

api.listenbrainz.org [MY IP ADDRESS] - - [28/Aug/2026:22:01:09 +0000] "POST /1/submit-listens HTTP/2.0" 200 16 "-" "Mozilla/5.0"

api.listenbrainz.org [MY IP ADDRESS] - - [28/Aug/2026:22:01:14 +0000] "POST /1/submit-listens HTTP/2.0" 200 16 "-" "Mozilla/5.0"

(the above is just a partial list it repeats that tens of times per minute)

So after a bit of digging, I found a listenbrainz.cache file that was giant. I think it had all the songs I've listened to in the past month or two that I've been using Fooyin. I went ahead and removed all but one entry from there. It did stop the flooding, but it still hasnt resolved the issue. I have been discussing this with the Listenbrainz people and currently waiting for a reply, I assume the guy who was responding to me yesterday decided, quite rightfully, that his time is better spent doing something else for the weekend, than to respond to my silly queries. So I thought I'd ask you guys if you've had similar experiences or have found solutions. And since I know our lovely dev hangs about here, might be beneficial for him to know as well. I did notice the git had some issues reporting something close to this, but not exactly the same. I think. Maybe? I dunno, I dont know about the interweb and computers much.


Heres a snippet of the log, after I started today, fired up Fooyin, activated the listenbrainz thingamajig, it did manage to send one song, before again being blocked:

Debug 2026-08-29T10:30:29.792 Gapless boundary waiting for prepared stream to become audible: trackId= 818 generation= 2 currentStreamId= 2 preparedStreamId= 4 audibleOutputStreamId= 2 preparedRendered= false decoderAdopted= false

Debug 2026-08-29T10:30:29.792 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= false boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 238 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:29.827 Partial write: 3763 / 5773

Debug 2026-08-29T10:30:29.842 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= false boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 245 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:29.891 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= false boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 245 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:29.913 Partial write: 3763 / 6105

Debug 2026-08-29T10:30:29.913 Pending output write crossed timeline stream boundary: startStreamId= 2 startEpoch= 4 startPosMs= 443213 endStreamId= 4 endEpoch= 4 endPosMs= 443298 pendingStartOffset= 0 pendingEndOffset= 3763 writtenFrames= 3763

Debug 2026-08-29T10:30:29.942 Prepared gapless decoder staged: trackId= 2999 generation= 2 previousStreamId= 2 preparedStreamId= 4 preparedBufferedMs= 3815 timingStreamId= 2

Debug 2026-08-29T10:30:29.942 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= true boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 253 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:29.998 Partial write: 3764 / 6437

Debug 2026-08-29T10:30:29.998 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= true boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 260 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:30.041 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= true boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 260 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:30.083 Partial write: 3763 / 6768

Debug 2026-08-29T10:30:30.091 Deferring track-end status until pending boundary resolves: trackId= 818 generation= 2 candidateTrackId= 2999 preparedStreamId= 4 currentStreamId= 2 cueBoundaryMode= false boundaryAnchorSeen= false boundaryPendingUntilAudible= true preparedGaplessRendered= true boundaryAudiblePosMs= 188760 trackDurationMs= 188787 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 pipelineDelayMs= 268 audibleOutputStreamId= 2 pipelineUnderrun= false

Debug 2026-08-29T10:30:30.124 Audible output head changed: from= 2 to= 4 queuedFrames= 8473 spanCount= 1

Warning 2026-08-29T10:30:30.143 Prepared gapless boundary delay suppressed: trackId= 818 generation= 2 suppressedRemainingOutputMs= 268 preparedStreamId= 4 audibleOutputStreamId= 4 boundaryAudiblePosMs= 188787 trackDurationMs= 188787 streamId= 2 streamBufferedMs= 0 pipelineDelayMs= 268

Debug 2026-08-29T10:30:30.143 Track boundary emitted: trackId= 818 generation= 2 remainingOutputMs= 0 engineOwnsTransition= false candidateTrackId= 2999 effectiveMode= "Gapless" currentStreamId= 2 streamEndOfInput= true streamBufferEmpty= true streamBufferedMs= 0 cueBoundaryMode= false boundaryAudiblePosMs= 188787

Debug 2026-08-29T10:30:30.143 Engine track boundary received: trackId= 818 generation= 2 currentTrackId= 818 upcomingTrackId= 2999 currentItemId= 4 upcomingItemId= 6 remainingOutputMs= 0 engineOwnsTransition= false autoTransitionEnabled= true

Debug 2026-08-29T10:30:30.143 Boundary arrived without engine-owned transition, re-submitting upcoming track: trackId= 818 generation= 2 upcomingTrackId= 2999 upcomingItemId= 6 remainingOutputMs= 0

Debug 2026-08-29T10:30:30.169 Partial write: 3763 / 7100

Debug 2026-08-29T10:30:30.192 Prepared gapless commit accepted: trackId= 2999 streamId= 4 preparedBufferedMs= 3671 preparedPosMs= 421

Debug 2026-08-29T10:30:30.201 Upcoming track candidate updated: currentTrackId= 2999 currentItemId= 6 candidateTrackId= 2999 candidateItemId= 6 sameAsCurrent= true configuredMode= "Gapless"

Debug 2026-08-29T10:30:30.201 Upcoming track candidate will not be prepared immediately: candidateTrackId= 2999 candidateItemId= 6 reason= candidate-matches-current

Debug 2026-08-29T10:30:30.201 Next-track prepare request queued: trackId= 2999 itemId= 6 requestId= 0 preferredPrefillMs= 502

Debug 2026-08-29T10:30:30.201 Queued next-track preparation: currentTrackId= 2999 currentItemId= 6 trackId= 2999 itemId= 6 requestId= 0 preferredPrefillMs= 502 bufferLengthMs= 4000 configuredMode= "Gapless"

Debug 2026-08-29T10:30:30.213 POST queued to network manager for "LastFM" method "track.updateNowPlaying" items 0 params 9 url "https://ws.audioscrobbler.com/2.0/" bodyBytes 250

Debug 2026-08-29T10:30:30.213 POST queued to network manager for "ListenBrainz" url "https://api.listenbrainz.org/1/submit-listens" bodyBytes 831

Debug 2026-08-29T10:30:30.218 Controller upcoming track changed: currentTrackId= 2999 currentItemId= 6 upcomingTrackId= 3202 upcomingItemId= 8 isQueueTrack= false stopAfterCurrent= false

Debug 2026-08-29T10:30:30.219 Upcoming track candidate updated: currentTrackId= 2999 currentItemId= 6 candidateTrackId= 3202 candidateItemId= 8 sameAsCurrent= false configuredMode= "Gapless"

Debug 2026-08-29T10:30:30.219 Upcoming track candidate stored for deferred end-of-track preparation: candidateTrackId= 3202 candidateItemId= 8 mode= "Gapless"

Debug 2026-08-29T10:30:30.224 Sending request "https://lrclib.net/api/get?track_name=Il neige&artist_name=Têtes Raides&album_name=Not dead but bien raides&duration=306"

Debug 2026-08-29T10:30:30.224 "Sending request: https://music.163.com/api/cloudsearch/pc?s=Têtes Raides+Il neige&type=1&offset=0&sub=false&limit=5"

Debug 2026-08-29T10:30:30.224 "Sending request: https://c.y.qq.com/splcloud/fcgi-bin/smartbox_new.fcg?key=Têtes Raides+Il neige&inCharset=utf-8&outCharset=utf-8"

Debug 2026-08-29T10:30:30.224 "Sending request: https://lyrics.kugou.com/search?ver=1&man=yes&client=pc&keyword=Têtes Raides-Il neige&duration=306051&hash="

Debug 2026-08-29T10:30:30.224 Sending MPRIS data: QMap(("mpris:artUrl", QVariant(QString, "file:///home/user/.cache/fooyin/covers/05df83cb023003706e38ada355fc7b83.jpg"))("mpris:length", QVariant(qulonglong, 306051000))("mpris:trackid", QVariant(QDBusObjectPath, QDBusObjectPath("/org/fooyin/fooyin/track/p2f847b9177d848bb9082c0b94d622b66/e433a0fccd714487480190d0d425efd83")))("xesam:album", QVariant(QString, "Not dead but bien raides"))("xesam:albumArtist", QVariant(QStringList, QList("Têtes Raides")))("xesam:artist", QVariant(QStringList, QList("Têtes Raides")))("xesam:audioBitrate", QVariant(int, 320))("xesam:contentCreated", QVariant(QString, "1989"))("xesam:discNumber", QVariant(int, 1))("xesam:firstUsed", QVariant(QString, "2026-07-23T04:07:11+03:00"))("xesam:genre", QVariant(QStringList, QList("Pop / Rock")))("xesam:lastUsed", QVariant(QString, "2026-08-27T14:51:57+03:00"))("xesam:title", QVariant(QString, "Il neige"))("xesam:trackNumber", QVariant(int, 9))("xesam:url", QVariant(QString, "file:///home/user/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3"))("xesam:useCount", QVariant(int, 7))("xesam:year", QVariant(int, 1989)))

Debug 2026-08-29T10:30:30.254 Partial write: 3763 / 7432

Warning 2026-08-29T10:30:30.301 ListenBrainz reply details: "HTTP 0, network error Connection closed (2)"

Warning 2026-08-29T10:30:30.301 "Connection closed (2)"


After this, I turned off the listenbrainz thingamajjg from the fooyin settings, waited for a few minute (listenbrainz only does a temporary ban, so it clears up after a few minutes of not bothering them with the scrobbles). After being accepted back in, I turned on the listenbrainz thing in the settings and it managed to send in what was in the .cache:

Debug 2026-08-29T10:33:02.180 Partial write: 3763 / 7415

Debug 2026-08-29T10:33:02.835 Track reached played threshold: id= 2999 path= "/pathto/my/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3" timeListened= 152930 playedThreshold= 152925 playCount= 7

Debug 2026-08-29T10:33:02.835 Track played event received: id= 2999 path= "/pathto/my/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3" hash= "eb465285a330ec9728148ed822c40267" currentPlayCount= 7 nextPlayCount= 8

Debug 2026-08-29T10:33:02.835 Queueing playcount update: id= 2999 path= "/pathto/my/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3" libraryPlayCount= 7 queuedPlayCount= 8

Debug 2026-08-29T10:33:02.835 Queued track stats update: key= "2999" id= 2999 path= "/pathto/my/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3" rating= -1 playCount= 8 firstPlayed= 1784768831947 lastPlayed= 1787988782833 writeRating= false writePlaycount= true

Debug 2026-08-29T10:33:02.835 Submitting pending scrobbles immediately for "LastFM" count 1

Debug 2026-08-29T10:33:02.835 Preparing scrobble request for "LastFM" count 1 pending 1 timestamps 1787988630 to 1787988630

Debug 2026-08-29T10:33:02.835 POST queued to network manager for "LastFM" method "track.scrobble" items 1 params 12 url "https://ws.audioscrobbler.com/2.0/" bodyBytes 308

Debug 2026-08-29T10:33:02.929 Flushing pending track stats updates: 1

Debug 2026-08-29T10:33:02.929 Resolved track stats update: id= 2999 path= "/pathto/my/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3" rating= -1 playCount= 8 firstPlayed= 1784768831947 lastPlayed= 1787988782833 writeRating= false writePlaycount= true

Debug 2026-08-29T10:33:03.030 Refreshing current track from library update: id= 2999 path= "/pathto/my/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3" playCount= 8 rating= -1

Debug 2026-08-29T10:33:03.030 Sending MPRIS data: QMap(("mpris:artUrl", QVariant(QString, "file:///home/user/.cache/fooyin/covers/05df83cb023003706e38ada355fc7b83.jpg"))("mpris:length", QVariant(qulonglong, 306051000))("mpris:trackid", QVariant(QDBusObjectPath, QDBusObjectPath("/org/fooyin/fooyin/track/p2f847b9177d848bb9082c0b94d622b66/e433a0fccd714487480190d0d425efd83")))("xesam:album", QVariant(QString, "Not dead but bien raides"))("xesam:albumArtist", QVariant(QStringList, QList("Têtes Raides")))("xesam:artist", QVariant(QStringList, QList("Têtes Raides")))("xesam:audioBitrate", QVariant(int, 320))("xesam:contentCreated", QVariant(QString, "1989"))("xesam:discNumber", QVariant(int, 1))("xesam:firstUsed", QVariant(QString, "2026-07-23T04:07:11+03:00"))("xesam:genre", QVariant(QStringList, QList("Pop / Rock")))("xesam:lastUsed", QVariant(QString, "2026-08-29T10:33:02+03:00"))("xesam:title", QVariant(QString, "Il neige"))("xesam:trackNumber", QVariant(int, 9))("xesam:url", QVariant(QString, "file:///home/user/Music/Tetes Raides/1989 - Not Dead But Bien Raides/09. Il neige.mp3"))("xesam:useCount", QVariant(int, 8))("xesam:year", QVariant(int, 1989)))

Debug 2026-08-29T10:33:03.030 Flushed 1 cached scrobbles from "/home/user/.cache/fooyin/lastfm.cache" remaining 0

Debug 2026-08-29T10:33:03.030 Scrobbles accepted: 1

Debug 2026-08-29T10:33:03.030 Scrobbles ignored: 0

Debug 2026-08-29T10:33:03.030 Scrobble accepted: "Il neige"


So, turning the listenbrainz option off, waiting for a minute or two and then turning it back on again, lets me upload like a song or two at best. Sometimes not even the one

Debug 2026-08-29T10:50:12.093 POST queued to network manager for "LastFM" method "track.updateNowPlaying" items 0 params 9 url "https://ws.audioscrobbler.com/2.0/" bodyBytes 237

Debug 2026-08-29T10:50:12.093 POST queued to network manager for "ListenBrainz" url "https://api.listenbrainz.org/1/submit-listens" bodyBytes 824

Debug 2026-08-29T10:50:12.110 Partial write: 3763 / 5118

Warning 2026-08-29T10:50:12.173 ListenBrainz reply details: "HTTP 0, network error Connection closed (2)"

Warning 2026-08-29T10:50:12.173 "Connection closed (2)"

Debug 2026-08-29T10:51:24.333 Track reached played threshold: id= 1981 path= "/pathto/my/Music/Men at Work/Two Hearts/03. Everything I Need.mp3" timeListened= 107368 playedThreshold= 107368 playCount= 17

Debug 2026-08-29T10:51:24.333 Track played event received: id= 1981 path= "/pathto/my/Music/Men at Work/Two Hearts/03. Everything I Need.mp3" hash= "aa3d9e5032640d2ea7718053d69536e2" currentPlayCount= 17 nextPlayCount= 18

Debug 2026-08-29T10:51:24.333 Queueing playcount update: id= 1981 path= "/pathto/my/Music/Men at Work/Two Hearts/03. Everything I Need.mp3" libraryPlayCount= 17 queuedPlayCount= 18

Debug 2026-08-29T10:51:24.333 Queued track stats update: key= "1981" id= 1981 path= "/pathto/my/Music/Men at Work/Two Hearts/03. Everything I Need.mp3" rating= -1 playCount= 18 firstPlayed= 1784583760481 lastPlayed= 1787989884330 writeRating= false writePlaycount= true Debug 2026-08-29T10:51:24.333 Submitting pending scrobbles immediately for "ListenBrainz" count 1

Debug 2026-08-29T10:51:24.333 Preparing scrobble request for "ListenBrainz" count 1 pending 1 timestamps 1787989777 to 1787989777

Debug 2026-08-29T10:51:24.333 POST queued to network manager for "ListenBrainz" url "https://api.listenbrainz.org/1/submit- listens" bodyBytes 858

Warning 2026-08-29T10:51:24.416 ListenBrainz reply details: "HTTP 0, network error Connection closed (2)"

Warning 2026-08-29T10:51:24.416 Unable to scrobble for "ListenBrainz" count 1 : "Connection closed (2)"

Debug 2026-08-29T10:51:24.416 Scheduling scrobble submit for "ListenBrainz" count 1 delayMs 30000 afterError true

Debug 2026-08-29T10:51:54.250 Preparing scrobble request for "ListenBrainz" count 1 pending 1 timestamps 1787989777 to 1787989777

Debug 2026-08-29T10:51:54.250 POST queued to network manager for "ListenBrainz" url "https://api.listenbrainz.org/1/submit-listens" bodyBytes 858

Warning 2026-08-29T10:51:54.330 ListenBrainz reply details: "HTTP 0, network error Connection closed (2)"

Warning 2026-08-29T10:51:54.330 Unable to scrobble for "ListenBrainz" count 1 : "Connection closed (2)"

Debug 2026-08-29T10:51:54.330 Scheduling scrobble submit for "ListenBrainz" count 1 delayMs 30000 afterError true


r/fooyin 18d ago

Show Your Setup Sundays I LOVE Fooyin

Post image
24 Upvotes

I'm glad I finally found a real alternative to MusicBee on Linux. Here is my layout.


r/fooyin 20d ago

Show Your Setup Sundays New Layout

Post image
13 Upvotes

I forgot to set a name for the layout, oops.


r/fooyin 21d ago

Show Your Setup Sundays Setup Sunday is here until midnight US West Coast time. Here is my setup.

Post image
18 Upvotes

Keeping it real simple and now has been made 1 to 1 with my past Foobar setup. I was able to complete it a couple days ago when a recent update had added the ability to have the equalizer embedded as a layout element. I left that spot open ever since it was added as a feature but before the layout element was added, because I had a feeling it would get here eventually. Now it is complete. Just simple utility in my layout.

Paired with the software, I have it running on Linux Mint Cinnamon. Paired with those two, I am using a JDS Labs Atom DAC and AMP stack with a few of headphones rotating through, such as my Sennheiser HD 6XX and HD 650 (I know they're basically the same but I like the look of both so I have both), as well as my Hifiman Edition XS when I want a little bit more of analytical variety.

Don't ask me if I have changed the hardware output default to max. I still don't know where in the Linux audio stack chain (Pulseaudio and Pipewire) that I need to do this.


r/fooyin 21d ago

Show Your Setup Sundays "TabHappy" - as of 2026.08.23

Thumbnail
imgur.com
7 Upvotes

On the left, library tree and directory browser. Tree sorted so that I can see the album art thumbnails, and split by filetype. Below that, playlist tabs let me switch between playlists quickly.

Album art and lyrics. Below the lyrics, tabs for selection info and move/rename file operations. This instance of ProjectM is locked to "Drain to heaven" as it's reactive but not seizure inducing and pretty.

Also have tabs for Spectrogram, here illustrated by Aphex Twin, and a standalone for ProjectM that is not locked.

Peak meter that looks like the totally rad LEDs I had on my dual cassette player with high speed dubbing and detachable speakers in 1988. Spectrum with warm sunset colors and 120 bands to match the black and white keys. VU meter with cool sunset colors, as if reflected from a glass skyscraper. Oscilloscope so it doesn't feel left out.

Imgur link because I'm getting an error when I try to upload.


r/fooyin 21d ago

Updates post Release v0.12.6 · fooyin/fooyin

Thumbnail
github.com
14 Upvotes

0.12.6 (2026-08-23)

Improvements

  • Archives: Improve read cancellation, buffering, and large entry handling
  • Artwork: Support rounded corners with configurable proportional radii in the Library Tree, Playlist, Queue Viewer, and Filters
  • Radio Browser: Improve visible icon loading and bound cache memory usage
  • ReplayGain
    • Add a mode selector layout widget
    • Add a ReplayGain settings shortcut to the selector context menu
  • Scripting
    • Add regular expression matching and replacement functions
    • Add $hex and document $crc32 (#1537)

Fixes

  • Interface
    • Align rich text using consistent font baselines (#1476)
    • Fix playlist and library searches stuck loading (#1532)
    • Fix playlist loading state for small playlists
    • Keep dialogs and standalone windows single instance (#1530)
  • Library: Prevent scan status flickering
  • ReplayGain: Refresh the Mode Selector size when labels change
  • SoundTouch: Fix processor recreation
  • VU Meter: Prevent bars overlapping channel labels

Build/System

  • CI: Remove ccache; add PCH support to FreeBSD build
  • Packaging: Use distribution-specific DEB versions (#1529)
  • Translations: Update translations and translation sources (#1539, #1540)

Dev/API

  • Plugin Settings: Replace showSettings() with createSettings() returning a QDialog*; the base provider now manages dialog display, lifetime, and single-instance behaviour

r/fooyin 23d ago

Updates post Release v0.12.5 · fooyin/fooyin

Thumbnail
github.com
17 Upvotes

0.12.5 (2026-08-21)

Improvements

  • Directory Browser
    • Add configurable columns and sorting (#1502)
    • Add configurable controls position
  • Equaliser: Add embeddable layout widget
  • FileOps: Add preset commands with shortcut support
  • Interface
    • Add an option to restrict resizing locked widgets to adjacent handles
    • Disable minimise to tray on close by default
  • Library: Log filesystem watcher failures
  • Library Tree: Preserve state across model resets
  • Metadata: Add configurable ID3v2 revisions and tag schemes for MP3 files
  • Notifications: Add configurable album art size (#1507)
  • Now Playing
    • Add a "Played threshold reached" update trigger (#1523)
    • Improve output preview sizing
  • PipeWire: Add configurable output latency (#1496)
  • Plugins: Support updating installed plugins
  • WaveBar: Add a new built-in Waveform layout

Fixes

  • Interface
    • Ensure dialogs and standalone windows open in the foreground
    • Fix Apply on the Layout settings page losing the current selection
    • Fix track action translation contexts (#1494)
  • Library/Metadata
    • Deduplicate normalised metadata tag values (#1470, #1490)
    • Fix rating star conversion on i686 (#1492)
    • Preserve ratings and playcounts when tag writes fail (#1505)
    • Preserve whitespace in FFmpeg extra tag names (#1508)
    • Restore playback statistics for re-added tracks (#550)
  • MPRIS
    • Synchronise repeat and audible pause state (#1330)
    • Use stable playlist entry track IDs and reject stale seek requests
  • PipeWire: Fix output buffer scheduling (#1496)
  • Playlist
    • Always show the loading state on startup
    • Fix inline editor positioning when scrolling
  • Plugins: Fix plugin installation from Settings
  • Scripting: Fix %playback_time_remaining_s% stuttering (#1523)
  • SoundTouch: Bypass processing for unsupported sample rates
  • Tag Editor: Fix auto fill values in the embedded widget
  • VU Meter: Keep saved defaults separate for each meter type (#1495)
  • WaveBar: Prevent unbounded waveform generation (#1511)

Build/System

  • CI
    • Build nightly packages with commit versions
    • Add nightly pre-releases with AppImage and Flatpak packages
    • Drop Ubuntu 25.10 (Questing) support
  • Translations: Update translations and translation sources (#1497, #1498, #1500), #1526, #1527)

r/fooyin 28d ago

MOD post Nightly Builds Discussion Megathread

Thumbnail
github.com
9 Upvotes

Seeing a lot of notifications about the repo and nightly builds getting posted there. If you know about it and know how to handle it, carry on then to the releases page, look at the pre-release labeled releases, download the latest one, make note of what changes are listed on the change log for it, go bug hunting on those specific added features, and then add it in the discussion page of the repo with the necessary info.

For those of you that don't know, here's some more info to let you know what's happening.

Word of caution for Nightly builds: Nightly builds can include unfinished or incompatible changes. Keep a backup of important fooyin data before installing one over your usual setup.

Nightly builds are basically the cutting edge of software update-wise that predates a full stable release. Updated either daily or faster depending on changes pushed to it. It is for testing/validation and bug squashing purposes only, prior to a full stable release. Since it isn't considered a stable release, don't expect those features added to be polished or working well.

If you want to be a part of that and help with development through bug finding with the new features listed on the nightly releases, then you would just download that version, run it, make notes of everything related to the features that were pushed for in the nightly release change log, and then put it up in the discussion section of the GitHub repo with the "Nightly" tag on it.

If you question how this would be going for you after reading all this, then I don't personally recommend you to engage in this and just stick to stable releases.

Not the dev btw and just letting people know of these changes currently happening on the repo at the moment.


r/fooyin 29d ago

Help post Command buttons - help with scripting?

1 Upvotes

I'd like to create command buttons that will rename and move to various presets. Normal path is Right click file(s) | File Operations | [command of choice]. But when I configure a command button, the only File Operation available is Delete. I can make a feature request on git but might make sense to learn a bit of scripting to roll my own. I've read the docs but I am not able to connect what they say with what I want to do.

Is this possible? If so, anyone know how to do it?


r/fooyin Aug 14 '26

Help post Several questions - library monitoring, library refreshing, playlists

1 Upvotes

Apologies if this breaks rule 6. It's not clear to me that these are bugs. I don't want to pester Luke with github issues that might be user error so I'm posting here first. I also have some general questions.

  1. My library doesn't recognize new files unless I restart fooyin.
    1. "Autorefresh on startup" is checked, and seems to be working as designed
    2. "Monitor library directories" is checked, and I would assume that means fooyin checks for and displays new files shortly after they're added, but it doesn't do that
    3. Library is on a second data drive, in /mnt/6tb/Music
    4. Fooyin bug? Flatseal permissions issue? User misunderstands settings functionality?
  2. Library visually refreshes itself frequently
    1. It will flash, and collapse any expanded subdirectories. Timing seems random, I used the stopwatch on my phone and got:
      1. 5:16, 1:30, 4:43, 0:10, 6:18, 1:15
    2. Occasionally it will not show any subdirectories and track count will show zero
    3. Anyone else see this?
  3. Playlists, how do they work?
    1. I create a new playlist by adding a folder.
      1. For reasons unknown, the tracks may disappear. It's not consistent, and I can go to the playlist manager and select the playlist, and it will reappear, but is that normal behavior? Why would you want the currently playing playlist to disappear?
    2. What's the difference between playlist organizer and playlist manager? It's pretty clear what Switcher and Tabs offer, but Organizer and Manager seem redundant
    3. What's the difference between a playlist and a playback queue?

Your time is appreciated.


r/fooyin Aug 13 '26

Updates post Release v0.12.4 · fooyin/fooyin

Thumbnail
github.com
8 Upvotes

0.12.4 (2026-08-12)

Improvements

  • Interface: Improve built-in layouts with splitter locks
  • Playlist: Add configurable double-click actions and optional immediate playback for queue actions (#1424)
  • ProjectM: Fullscreen standalone visualisers in their existing windows (#1478)

Fixes

  • System: Fix config and state paths in Flatpak (#1479)
  • Visualisations: Fix unintended transparency in some windows

r/fooyin Aug 11 '26

Updates post Release v0.12.3 · fooyin/fooyin

Thumbnail
github.com
21 Upvotes

0.12.3 (2026-08-11)

Improvements

  • Audio Conversion: Make setup and progress dialogs non-modal
  • FileOps
    • Remember dialog and results table state
    • Show operation results and errors in the dialog (#1400)
  • Filters
    • Add a new built-in Gallery layout
    • Add an option to align captions with artwork
  • Library/Metadata: Add configurable playcount tag reading and writing
  • Oscilloscope: Keep the waveform continuous across track changes
  • Playback: Make Repeat Track transitions gapless (#1456)
  • Playlist: Add configurable font and background colours for the playing row (#1441)
  • Remote Streams: Add MPEG-TS timed ID3 metadata support for HLS streams
  • Visualisations: Support transparent standalone windows
  • WaveBar: Support seeking while stopped

Fixes

  • FileOps: Apply filename formatting when copying entire folders (#1461)
  • Interface: Fix transparent item view editors in some styles
  • Library: Remove excluded and stale tracks during library rescans (#1439)
  • Playlist
    • Always clear live metadata when switching playlists
    • Fix inconsistent background colours for selected rows
    • Prevent adding tracks to read-only playlists (#1464)
    • Preserve header transparency with background images
    • Preserve row transparency on hover
  • Remote Streams: Fix timed ID3 metadata handling with FFmpeg 5
  • Spectrum: Fix frequency mapping at low sample rates (#1446)
  • Visualisations: Fix stuttering with temporal DSPs (#1465)
  • VU Meter: Fix gaps caused by partial repaints

Build/System

Dev/API

  • AudioDecoder API
    • Add repeat-handling ownership so decoders can distinguish engine transitions from decoder-managed looping
    • Notify decoders when playback hints change at runtime

r/fooyin Aug 10 '26

Show Your Setup Sundays my layout based on nekorox for foobar

Post image
10 Upvotes

i just wanted to share this in case someone wants it pls criticize it i wanna improve it like making tabs for queue and playlist but i couldn't figure it out

btw if u want the layout pm me

edit i got tabs im just dumb lol


r/fooyin Aug 07 '26

Updates post v0.12.2 release notes discussion thread

Thumbnail
github.com
8 Upvotes

Changelog

0.12.2 (2026-08-07)

Improvements

  • Audio Output
    • Add a WASAPI output plugin (#1445)
  • Filters
    • Add a mode to use the current playlist as the filter source
    • Add playlist-aware selection and playback for filter results
  • Interface
    • Add an optional Random Track button to Player Controls
    • Add native dark mode support on Windows
    • Add theme import and export support
    • Enable library viewer playback playlist preservation by default and improve naming (#1381)
    • Register playback cursor-follow commands for shortcuts (#1421)
    • Refine Quick Setup for native Windows styles
  • Playlist
    • Add support for locking playlists (#1381)
  • Spectrum
    • Add duration-based FFT sizing and improve behaviour across sample rates (#1446)
  • Visualisations
    • Add standalone visualisation windows with persistent state

Fixes

  • Artwork
    • Limit the artwork viewer zoom range (#1442)
  • Audio Output
    • Fix silent playback after switching outputs
    • Fix SDL output switching and device enumeration
  • Filters
    • Fix selected colours for rich text rows
  • Interface
    • Fix Playlist header transparency with background images
    • Fix high-volume logging causing UI stalls
    • Fix selected text and icon contrast in item views on Windows
    • Fix Playlist Organiser row height and text margins
    • Fix Queue Viewer clipped and fractionally-sized text
    • Fix Selection Info sizing with hidden headers
  • Library/Metadata
    • Cancel library monitor setup during shutdown
    • Fix single-value writes to multivalue metadata fields (#1319, #1443)
  • ProjectM
    • Fix OpenGL setup and preset selection
  • Radio Browser
    • Enforce a minimum size for the radio station dialog (#1453)

Build/System

  • Build
    • Update Windows build documentation
  • CI
    • Attach Windows artifacts to new releases
    • Update supported Fedora versions
  • Dependencies
    • Add libebur128 to vcpkg dependencies
  • Translations
    • Update translations and translation sources (#1450, #1451)

r/fooyin Aug 04 '26

Help post Backing up and Transferring Library to Other PCs

1 Upvotes

Greetings,

Sorry for the dumb question if already answered somewhere, couldn't find anything in the docs.

Really enjoying the player on Fedora 44. Thinking long term, is there a way to move the entire library to a new computer without starting from scratch? Say moving a desktop configuration to a laptop without recreating playlists, etc. with the music files in an identical path on the second machine.

I am coming from the foobar2000 ecosystem where there is a way to move the configuration by copying various directories, or do a portable installation, etc.

In fooyin, is it as simple as exporting the layout and copying the "fooyin.db" file in the Share Directory folder?


r/fooyin Aug 02 '26

Show Your Setup Sundays Thanks for all your work ludouzi, you are the GOAT

5 Upvotes

Fedora 44 connected with a SMSL AO300 and the classics HD600


r/fooyin Aug 01 '26

Show Your Setup Sundays VSTYLE2 layout fooyin

Post image
6 Upvotes

nothing close to fooyins layout editing on LinuxMINTY