]> jfr.im git - plex-to-listenbrainz.git/blobdiff - plex-to-listenbrainz.php
add track mbid if included
[plex-to-listenbrainz.git] / plex-to-listenbrainz.php
index bbc3484638daa93bfb4bcdbb135f07934d2643ea..231cf661ba92f419d865eef364ca3c45cd64fb4e 100644 (file)
@@ -18,6 +18,9 @@ if (!in_array($plex['event'], explode(' ', 'media.scrobble media.play media.resu
 if (mb_strtolower($plex['Account']['title']) != mb_strtolower($_GET['user'])) {
        exit;
 }
+if ($plex['Metadata']['type'] != 'track') {
+       exit;
+}
 
 $DIR = __DIR__;
 $listenbrainz = array(
@@ -47,6 +50,12 @@ if (!empty($plex['Metadata']['attribution'])) {
        $listenbrainz['payload'][0]['track_metadata']['additional_info']['music_service'] = implode('.', array_reverse(explode('.', $plex['Metadata']['attribution'])));
 }
 
+if (isset($plex['Metadata']['Guid']) && is_array($plex['Metadata']['Guid']) && count($plex['Metadata']['Guid']) && isset($plex['Metadata']['Guid'][0]['id'])) {
+       if (isset($plex['Metadata']['Guid'][0]['id']) && strpos($plex['Metadata']['Guid'][0]['id'], 'mbid://') === 0) {
+               $listenbrainz['payload'][0]['track_metadata']['additional_info']['track_mbid'] = substr($plex['Metadata']['Guid'][0]['id'], 7);
+       }
+}
+
 $lb_payload = json_encode($listenbrainz);
 
 $ch = curl_init('https://api.listenbrainz.org/1/submit-listens');