lucifer: ansh: We had some feedback about Special Purpose Artists being included in someone’s Fresh Releases page. Do we already exclude some of them? And Various Artists? Then I can update the relevant tickets: LB-1534 LB-1264
aerozol: I mean it depends on the spa doesn't it? I wouldn't mind some old classical by [anonymous] or whatever
aerozol[m] has quit
aerozol[m] joined the channel
aerozol[m]
ApeKattQuest: In theory it could give you some great stuff, I agree! But I don’t think we can say that because the average user has listened to a [anonymous] release that they will be interested in another [anonymous] release, which is what Fresh Releases is for. Another problem is that some SPA’s could quickly dominate the other artists (like VA would)
But I’m going to add to the ticket that I think a SPA toggle would also be cool, defaulted to off. If it’s not any harder to implement I don’t see the harm!
ApeKattQuest
yea!
rimskii[m] joined the channel
rimskii[m]
Hi! I have encountered the problem "[webpack-cli] HookWebpackError: The "path" argument must be of type string. Received undefined" when launching static-builder, is there any way to solve it? :_)
Shubham joined the channel
Shubham has quit
huhridge joined the channel
huhridge has quit
aabbi15 joined the channel
aabbi15 has quit
huhridge joined the channel
huhridge
hey everyone!!
wanted to talk about the internet archive project is someone can clarify some doubts
*if
mayhem
moooin!
aerozol[m]: cool! I'll jump in and respond
reosarevok
aerozol[m]: what, you don't like all releases by Various Artists?
rimskii[m]
will we have a meeting today btw?
mayhem
yep. in 9 hours.
reosarevok
Yes, every Monday (except for some holidays, but then we would specify it in the channel topic) :)
Hi lucifer, I am Shivam. I came across this organisation from twitter and went through the awesome works you guys are doing. Especially the ListenBrainz project excited me the most. I clone the repo which has the backend and the frontend of ListenBrainz and ran it locally. I was able to run it on my local computer. I was particularly interested in working with you all on one of the idea projects listed
on the GSOC-2024 idea page of the project. Currently the idea that excites me the most is the integration of Subsonic API into ListenBrainz. I looked through the frontend code and figured I need to modify the brainzplayer component to add support for the Subsonic api
huhridge
lucifer, monkey: whenever you guys are free, i'd like to discuss the internet archive project so i can start working on my proposal!
Shivam2002
I would like to know more about the flow the user must go through to enter the url of the server which hosts their private collection
monkey
Hi huhridge and Shivam2002 ! Looks like you are both looking at integrating services to BrainzPlayer
Shivam2002: I personally haven't used navidrome or other subsonic-enabled player, so I can't answer specific questions about it. I would suggest looking at documentation regarding the authorization workflows that are available via subsonic.
For example, if OAuth is available, we basically already have a generic OAuth service implementation in ListenBrainz that we use to connect to Spotify, musicBrainz, CritiqueBrainz, etc.
huhridge: Do you have specific questions? Maybe I can help
Shivam2002: Looks like no OAuth for Subsonic as far as I can tell from a cursory look. They talk about sending an auth token in the Authentication section of this page: https://subsonic.org/pages/api.jsp
Shivam2002
I looked through the subsonic API here https://www.subsonic.org/pages/api.jsp and it mentions that it takes a salted password as a query parameter in the endpoints. I was basically trying to figure out if we have any design in mind that the frontend must go through to ask for the url and password from the user
Most of these redirect you to the service because they're oauth based, but I think a simple modal with the relevant inputs would do the trick
huhridge
monkey: yes, what exactly does a integration with ia look like on the database side? like do i need to build a content resolver that makes all the recordings playable or just a simple query that searches the ia for the recording and then makes that specific recording playable?
because there are literal terabytes of recording and processing and adding them to the database will be a huge task to say the least
monkey
I would say the second option is more in line with what we currently do, and more lightweight (most if not all the work is done on the client side)
Agreed
huhridge
monkey: okay that makes sense! i'll hit you up if there are anymore questions?
monkey
Sure thing !
huhridge
looking forward to it!
monkey
276 terabytes 😱
And that's just one project…
huhridge
yup exactly 😭😭
so i was thinking a simple search component and when the user wants to play something a component in the brainzplayer that fetches it?
does that seem alright?
Shivam2002
thanks for the help. I am currently going through the server side of things. I will also hit you up if I have anymore questions
huhridge
we could also add something on the explore page tbh, beacause who's searching for old ass recordings in the first place 😭😭😭
monkey
huhridge: I think the idea is more that if you are trying to play a track at any given moment, we can search the IA and see if a recording is available, if so we play from that source.
We do the same for other service: spotify, youtube, etc.
huhridge
fair enough ig!
monkey
In the future, we might choose to fetch external links from the MusicBrainz database, and if a link to an internet archive resource is there we can play directly from there without needing to search for it.
Although I'm not sure if the IA search would allow you for example to access a specific track on a 78 record for example
Shivam58 joined the channel
elomatreb has quit
elomatreb joined the channel
Looking at it again, I'd say probably.
Shivam2002 has quit
Shivam58 is now known as shivam2002
aerozol[m] has quit
kellnerd
It's the IA, after all :)
huhridge
monkey: wdym external links? ia links would require populating the database tho right?
monkey
Right. *If* there is a link to an IA resource associated to a recording in MusicBrainz, then we can use it directly
But let's not worry about that right now, as far as I know the amount of IA links is currently negligeable
huhridge
oh! fair enough
monkey: so for example if there is a release on musicbrainz and a user tries to play it, the component should search ia and fetch a link if possible right?
ApeKattQuest
hm, i dunno how I feel about this tbh
monkey
huhridge: I guess for now ignore what I was saying about using a link from MusicBrainz, i'm making it more confusing than it needs to be.
On ListenBrainz, you'll only have access to the track name and artist name to search with
ApeKattQuest: Feel about what?
Yeah, we're talking cross purpose here.
kellnerd
Huh, suddenly I am seeing lots of "{live} {medley:medley including a} {partial} {a cappella} {instrumental} {cover} {karaoke} recording of" strings after reloading a MB page... seems to happen everywhere now (on release/work pages, prod/beta) while everything was fine a few minutes ago.
reosarevok
Yeah, I added {a cappella} and it seems to have broken everything
Fun
I *suspect* it's because of the space in the attribute name
Looking into it tho
huhridge
monkey: okay yeah i'm confused now 😭
monkey
Forget I said anything about MusicBrainz :)
The project is about ListenBrainz only, and searching the internet archive for playable resources
huhridge
i can add IA as a source for sure, but what's the use case?
how does a user goes about accessing it in the first place?
okay for example a user listens to a track on spotify that is on IA, will listenbrainz use IA to play the track? is that the use case?
because i don't see another use case, the user needs to already have listened to a track 😭😭😭
or am i missing something?
reosarevok
kellnerd: yeah, that was the problem, so I temporarily unbroke it by renaming the attribute to "acappella" 😭
It just feels wrong though so I should look into a proper fix
kellnerd
"is a a cappella recording" :D
reosarevok
I knooow
But I dunno how to fix that. I mean, I could make it so that it shows "an" if "acapella" is selected
But then it'd say
"is an live a cappella recording"
kellnerd
Exactly, fix one case, break the other.
reosarevok
I guess the "fix" is forcing a cappella to be the first attribute
So, is an a cappella live whatever whatever recording