Conversation
Notices
-
Embed this notice
@lauralt @redneonglow @sjw There's a scrobble endpoint that is in some patched versions of Pleroma. What I'm using is kind of awful, but it's kind of just a prototype to see if it works:
while sleep 1; do cmus-remote -C status | mawk 'BEGIN{m["artist"]=m["album"]="Unknown";playing=1;duration=180} $1 == "status" && $2 != "playing" {playing=0} $1 == "position" {position=$2; if(position < 10){system("sleep 10");exit}} $1 == "file"{n=split($0, a, /\//);m["title"]=a[n]} $1 == "duration"{m["duration"] = $2} $1 != "tag"{next} {f=$2;$1=$2="";sub(/^ +/, "");gsub(/["'\''\\]+/, "");m[f]=$0} END{if(playing && position>10) { getline auth < ".p-baest-auth"; system(sprintf("curl %s -F \"album=%s\" -F \"artist=%s\" -F \"title=%s\" -F \"length=%d\" -X POST https://bae.st/api/v1/pleroma/scrobble | jq \"[.album, .artist, .id, .length, .title]\"", auth, m["album"], m["artist"], m["title"], m["duration"])); } wait = (m["duration"]-position); print m["duration"], position, wait; if(wait < 10 || position < 10)wait=10; system("sleep " wait)}'; done
A better plan would be to just open a pipe to cmus-remote instead of repeatedly invoking it, and then poll status periodically and update it when the song changes (and gets played instead of just skipping around). It's a new Activity type (I think "Audio"), so if you hit the endpoint for my account, it'll show you something like the last ten songs.
- twl and ✙ dcc :pedomustdie: :phear_slackware: like this.
-
Embed this notice
@p @redneonglow @sjw
What are you using to automatically update the song displayed over your posts?
-
Embed this notice
@redneonglow @sjw No, just the box it was on is dead and I'm moving it to Revolver.
-
Embed this notice
@sjw @p FSE is still down I see? Is it down for good?
-
Embed this notice
Attention! @p is now an admin on Baest :p:
-
Embed this notice
@p @lauralt @redneonglow
repent_zoomer.jpg
-
Embed this notice
@sjw @lauralt @redneonglow I said hi a couple of years ago, he's off doing cool GPL shit. I didn't ask how he's making his money.
-
Embed this notice
@p @lauralt @redneonglow what a chad
You should hit him up
-
Embed this notice
@lauralt @redneonglow @sjw Ah, should be even easier in mpd.
Old friend of mine is (or maybe just was) one of the mpd hackers. He pushed it around the office some but it was really unfriendly back then. I helped him optimize some of the FLAC code for ARM (I think I was the only one in the office that knew ARM assembly and gcc's output was terrible, so you had to hand-optimize a lot of stuff. gcc still produces sub-optimal x86-like ARM code last I checked) so it'd run on his hacked iPod. He was optimizing the hell out of it because he needed free software to do gapless playback of FLACs. Really cool guy, great hacker, but also eccentric like you'd expect.
He had a clause in his employment contract that he would never be required to use non-free software. :chad:
-
Embed this notice
@p @redneonglow @sjw
I know about the scrobble endpoint and I'm using it manually. Mint has it enabled on pleromaFE too.
I don't use cmus though. I'll probably write a similar one liner for mpd.
-
Embed this notice
@lauralt @redneonglow @sjw Yeah, at the time I thought he was being anal-retentive about it. Like, when we were working on these embedded projects, the chip flasher we had required Windows, so we had this Windows bitch-machine in the corner and whenever he wanted to test a new build, he'd compile it, send the firmware to the Windows machine with smbclient, and then take the chip out of the board and plug it into the chip programmer and ask me to flash it, because clicking the "flash the chip" button required using the Windows machine. So I'd fire up VNC and click the button.
On the other hand, you know, years later, he was totally correct and I should have done shit like that. Maybe not to the same extent, like it's kind of ridiculous to refuse to click a button and to ask a coworker to do it, but overall a good approach.
-
Embed this notice
@p @redneonglow @sjw
>so it'd run on his hacked iPod. He was optimizing the hell out of it because he needed free software to do gapless playback of FLACs.
>He had a clause in his employment contract that he would never be required to use non-free software.
Nice
ecd7c139f94d9c71c707ff45ea8505a…
-
Embed this notice
@lauralt @redneonglow @sjw It's kind of like an Amish guy that pays to have his shit shipped on a train or a truck, like...sort of, he is not technically clicking the button on the Windows machine, but the button is clicked at his direction.
-
Embed this notice
@lauralt @redneonglow @sjw
> It's a good habit. Inconveniencing yourself on principle so that in the long term you are nudged towards that general direction.
Sure. It's one thing to put up with it yourself, though perhaps not to inconvenience your coworker, and aside from that he's standing there waiting until I click the button like we're some kind of union shop.
-
Embed this notice
@p @redneonglow @sjw
>perhaps not to inconvenience your coworker
He was doing everyone a favor by not only preaching but practicing the one true faith.
Gnu-jihad.gif
-
Embed this notice
@p @redneonglow @sjw
>like it's kind of ridiculous to refuse to click a button and to ask a coworker to do it, but overall a good approach.
It's a good habit. Inconveniencing yourself on principle so that in the long term you are nudged towards that general direction.
-
Embed this notice
@sjw I did 9/11.
bushdid911.png