[lbrainz] Add ListenBrainz integration

- Support submitting listens (scrobble) to ListenBrainz.
- Add JSON API endpoints to manage ListenBrainz auth token.
This commit is contained in:
Christian Meffert
2025-01-26 05:57:01 +00:00
parent 9283d0c3c2
commit 7760554cb7
12 changed files with 461 additions and 29 deletions

25
src/listenbrainz.h Normal file
View File

@@ -0,0 +1,25 @@
#ifndef __LISTENBRAINZ_H__
#define __LISTENBRAINZ_H__
struct listenbrainz_status {
bool disabled;
char *user_name;
bool token_valid;
char *message;
};
int
listenbrainz_scrobble(int mfi_id);
int
listenbrainz_token_set(const char *token);
int
listenbrainz_token_delete(void);
int
listenbrainz_status_get(struct listenbrainz_status *status);
void
listenbrainz_status_free(struct listenbrainz_status *status, bool content_only);
int
listenbrainz_init(void);
#endif /* !__LISTENBRAINZ_H__ */