Skip to content

fix(bandcamp): remove warning on releases with video links#850

Open
rrrnld wants to merge 1 commit into
murdos:masterfrom
rrrnld:fix/bandcamp-track-warning
Open

fix(bandcamp): remove warning on releases with video links#850
rrrnld wants to merge 1 commit into
murdos:masterfrom
rrrnld:fix/bandcamp-track-warning

Conversation

@rrrnld

@rrrnld rrrnld commented Mar 26, 2026

Copy link
Copy Markdown

see e.g. https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms

the meta tag that's currently used to detect the complete number of tracks is not reliable.
i'm not sure about the different places to test this. i'm also not sure when the linked data was added and if it's available for all releases, but it seems like relying on it globally could remove a lot of the parsing logic from the bandcamp importer and simplify it a lot.

@rrrnld rrrnld force-pushed the fix/bandcamp-track-warning branch from e89a526 to 2ea2d59 Compare March 26, 2026 06:35
@arsinclair

Copy link
Copy Markdown
Collaborator

I need to test this on a larger number of releases. I'll try to do it during the coming Easter weekend. Maybe you already have some more bandcamp links where specified tracklist doesn't match with the actual downloaded zip?

@arsinclair

arsinclair commented May 28, 2026

Copy link
Copy Markdown
Collaborator

Okay, so first of all sorry for not being able to do it in April. Got really busy with other projects.

I've done some checking, and as far as releases from 2003 go, their ld+json data is present, so this is great news and great find! Yes, it will be possible to eliminate most of the parsing logic with this.

However, there's still some work to be done here: ldjson data doesn't always come in the same shape. It is different for Albums, Tracks, and Single releases. Example:

Individual recording single

https://mesh.bandcamp.com/track/phatal-envelope

{
    "@type": "MusicRecording",
    "@id": "https://mesh.bandcamp.com/track/phatal-envelope",
    "additionalProperty": [
        {
            "@type": "PropertyValue",
            "name": "track_id",
            "value": 837329073
        },
        {
            "@type": "PropertyValue",
            "name": "license_name",
            "value": "attribution_no_derivatives"
        }
    ],
    "name": "Phatal Envelope",
    "duration": "P00H05M00S",
    "dateModified": "22 Jun 2010 18:11:00 GMT",
    "datePublished": "22 Jun 2010 00:00:00 GMT",
    "inAlbum": {
        "@type": "MusicAlbum",
        "name": "Phatal Envelope",
        "albumRelease": [
            {
                "@type": [
                    "MusicRelease",
                    "Product"
                ],
                "@id": "https://mesh.bandcamp.com/track/phatal-envelope",
                "name": "Phatal Envelope",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "item_id",
                        "value": 837329073
                    },
                    {
                        "@type": "PropertyValue",
                        "name": "item_type",
                        "value": "t"
                    },
                    {
                        "@type": "PropertyValue",
                        "name": "selling_band_id",
                        "value": 328369922
                    },
                    {
                        "@type": "PropertyValue",
                        "name": "type_name",
                        "value": "Digital"
                    },
                    {
                        "@type": "PropertyValue",
                        "name": "digital_release_description",
                        "value": "Immediate download of Phatal Envelope in 320k mp3, FLAC or WAV."
                    }
                ],
                "description": "Includes high-quality download in MP3, FLAC and more. Paying supporters also get unlimited streaming via the free Bandcamp app.",
                "offers": {
                    "@type": "Offer",
                    "url": "https://mesh.bandcamp.com/track/phatal-envelope#t837329073-buy",
                    "priceCurrency": "USD",
                    "price": 0,
                    "priceSpecification": {
                        "minPrice": 0
                    },
                    "availability": "OnlineOnly"
                },
                "musicReleaseFormat": "DigitalFormat"
            }
        ],
        "albumReleaseType": "SingleRelease",
        "numTracks": 1
    },
    "byArtist": {
        "@type": "MusicGroup",
        "name": "M.E.S.H.",
        "@id": "https://mesh.bandcamp.com"
    },
    "publisher": {
        "@type": "MusicGroup",
        "@id": "https://mesh.bandcamp.com",
        "name": "M.E.S.H.",
        "additionalProperty": [
            {
                "@type": "PropertyValue",
                "name": "band_id",
                "value": 328369922
            },
            {
                "@type": "PropertyValue",
                "name": "has_any_downloads",
                "value": true
            }
        ],
        "subjectOf": [
            {
                "@type": "WebPage",
                "url": "https://mesh.bandcamp.com/music",
                "name": "music",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "m"
                    }
                ]
            },
            {
                "@type": "WebPage",
                "url": "https://mesh.bandcamp.com/community",
                "name": "community",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "c"
                    }
                ]
            }
        ],
        "foundingLocation": {
            "@type": "Place",
            "name": "Berlin, Germany"
        }
    },
    "copyrightNotice": "Attribution No Derivatives",
    "keywords": [
        "house",
        "Berlin"
    ],
    "mainEntityOfPage": "https://mesh.bandcamp.com/track/phatal-envelope",
    "@context": "https://schema.org"
}
Album-shaped single

https://sunn-live.bandcamp.com/album/sunn-o-20030926-empty-bottle-chicago-il-usa

{
    "albumReleaseType": "SingleRelease",
    "@id": "https://sunn-live.bandcamp.com/album/sunn-o-20030926-empty-bottle-chicago-il-usa",
    "mainEntityOfPage": "https://sunn-live.bandcamp.com/album/sunn-o-20030926-empty-bottle-chicago-il-usa",
    "@type": "MusicAlbum",
    "name": "SUNN O))) - 2003.09.26, Empty Bottle, Chicago, IL, USA",
    "dateModified": "11 Mar 2026 19:18:37 GMT",
    "albumRelease": [
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://sunn-live.bandcamp.com/album/sunn-o-20030926-empty-bottle-chicago-il-usa",
            "name": "SUNN O))) - 2003.09.26, Empty Bottle, Chicago, IL, USA",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 942897677
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "a"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 3084676993
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "Digital"
                },
                {
                    "@type": "PropertyValue",
                    "name": "art_id",
                    "value": 3240880484
                }
            ],
            "description": "Includes high-quality download in MP3, FLAC and more. Paying supporters also get unlimited streaming via the free Bandcamp app.",
            "offers": {
                "@type": "Offer",
                "url": "https://sunn-live.bandcamp.com/album/sunn-o-20030926-empty-bottle-chicago-il-usa#a942897677-buy",
                "priceCurrency": "USD",
                "price": 5,
                "priceSpecification": {
                    "minPrice": 5
                },
                "availability": "OnlineOnly"
            },
            "musicReleaseFormat": "DigitalFormat",
            "image": [
                "https://f4.bcbits.com/img/a3240880484_10.jpg"
            ]
        },
        {
            "@type": "MusicRelease",
            "@id": "https://sunn-live.bandcamp.com/track/01-41"
        }
    ],
    "byArtist": {
        "@type": "MusicGroup",
        "name": "SUNN O)))",
        "@id": "https://sunn-live.bandcamp.com"
    },
    "publisher": {
        "@type": "MusicGroup",
        "@id": "https://sunn-live.bandcamp.com",
        "name": "SUNN O)))",
        "additionalProperty": [
            {
                "@type": "PropertyValue",
                "name": "band_id",
                "value": 3982175139
            },
            {
                "@type": "PropertyValue",
                "name": "has_any_downloads",
                "value": true
            },
            {
                "@type": "PropertyValue",
                "name": "has_download_codes",
                "value": true
            },
            {
                "@type": "PropertyValue",
                "name": "image_height",
                "value": 1280
            },
            {
                "@type": "PropertyValue",
                "name": "image_id",
                "value": 5058512
            },
            {
                "@type": "PropertyValue",
                "name": "image_width",
                "value": 1280
            }
        ],
        "image": "https://f4.bcbits.com/img/0005058512_10.jpg",
        "genre": "https://bandcamp.com/discover/metal",
        "description": "SUNN O))) live archives. Unmixed, unmastered raw footage captured via underground tapers & fans which we now present to you.\n\nWe invite you to submit your own recordings of any of our concerts (even ones we've already posted) to these archives. And if you have photos/visuals from any of these concerts, please send them over too. \n\nAll digital sales fund future O))) actions. Hail to our great fans!",
        "mainEntityOfPage": [
            {
                "@type": "WebSite",
                "url": "http://sunn.southernlord.com",
                "name": "sunn.southernlord.com"
            },
            {
                "@type": "WebPage",
                "url": "https://www.facebook.com/SUNNthebandOfficial",
                "name": "Facebook"
            },
            {
                "@type": "WebPage",
                "url": "http://www.instagtam.com/sunnofficial",
                "name": "instagtam.com"
            }
        ],
        "event": [
            {
                "@type": "MusicEvent",
                "name": "Kulturkirken Jakob, Oslo, Norway",
                "startDate": "18 Jun 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Kulturkirken Jakob",
                    "address": "Oslo, Norway"
                },
                "url": "https://www.songkick.com/concerts/43076918-sunn-o-at-kulturkirken-jakob?utm_source=1471&utm_medium=partner"
            },
            ...,
        ],
        "subjectOf": [
            {
                "@type": "WebPage",
                "url": "https://sunn-live.bandcamp.com/music",
                "name": "sets",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "m"
                    }
                ]
            },
            {
                "@type": "WebPage",
                "url": "https://sunn-live.bandcamp.com/community",
                "name": "community",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "c"
                    }
                ]
            }
        ],
        "foundingLocation": {
            "@type": "Place",
            "name": "Seattle, Washington"
        }
    },
    "numTracks": 1,
    "track": {
        "@type": "ItemList",
        "numberOfItems": 1,
        "itemListElement": [
            {
                "@type": "ListItem",
                "position": 1,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://sunn-live.bandcamp.com/track/01-41",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 4189962308
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "01",
                    "duration": "P00H43M07S",
                    "copyrightNotice": "All Rights Reserved",
                    "mainEntityOfPage": "https://sunn-live.bandcamp.com/track/01-41"
                }
            }
        ]
    },
    "image": "https://f4.bcbits.com/img/a3240880484_10.jpg",
    "keywords": [
        "Black Metal",
        "Devotional",
        "Metal",
        "doom",
        "drone",
        "experimental",
        "Seattle"
    ],
    "datePublished": "26 Sep 2003 00:00:00 GMT",
    "description": "SUNN O)))\r\nEmpty Bottle\r\nChicago, IL\r\nUSA\r\n2003.09.26 [Friday]\r\n\r\nWIRE Festival presents...\r\n\r\nGreg ANDERSON - Guitar\r\nStephen O'MALLEY - Guitar\r\nRex RITTER - Moog\r\n\r\nTotal Time: 43'07\r\n\r\nRecording by Sean Gleba utilizing the Sony Mini-Disc MZ-N707 with the Sony ECM-717 Mic",
    "copyrightNotice": "All Rights Reserved",
    "additionalProperty": [
        {
            "@type": "PropertyValue",
            "name": "art_id",
            "value": 3240880484
        },
        {
            "@type": "PropertyValue",
            "name": "featured_track_num",
            "value": 1
        },
        {
            "@type": "PropertyValue",
            "name": "license_name",
            "value": "all_rights_reserved"
        }
    ],
    "@context": "https://schema.org"
}
Album

https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms

{
    "albumReleaseType": "AlbumRelease",
    "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms",
    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms",
    "@type": "MusicAlbum",
    "name": "former kingdoms",
    "dateModified": "26 Apr 2026 22:00:28 GMT",
    "albumRelease": [
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms",
            "name": "former kingdoms",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 3602355280
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "a"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "Digital"
                },
                {
                    "@type": "PropertyValue",
                    "name": "art_id",
                    "value": 2355057041
                },
                {
                    "@type": "PropertyValue",
                    "name": "digital_release_description",
                    "value": "DOWNLOAD ALSO INCLUDES:\r\n☞ Track by Track Commentary\r\n☞ Digital Download of Vinyl Artwork \r\n___________________________________________"
                }
            ],
            "description": "Includes high-quality download in MP3, FLAC and more. Paying supporters also get unlimited streaming via the free Bandcamp app.",
            "identifier": "5054286436119",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#a3602355280-buy",
                "priceCurrency": "USD",
                "price": 11,
                "priceSpecification": {
                    "minPrice": 11
                },
                "availability": "OnlineOnly"
            },
            "musicReleaseFormat": "DigitalFormat",
            "image": [
                "https://f4.bcbits.com/img/a2355057041_10.jpg"
            ]
        },
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p1839639382",
            "name": "former kingdoms - 24-bit WAV DOWNLOAD",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 1839639382
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "p"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "Other"
                },
                {
                    "@type": "PropertyValue",
                    "name": "image_ids",
                    "value": [
                        27757311
                    ]
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_id",
                    "value": 0
                }
            ],
            "description": "___________________________________________\n\n☞ High Quality 24-bit WAV Download\n☞ Link will be sent manually via email\n\nDOWNLOAD ALSO INCLUDES:\n☞ Track by Track Commentary\n☞ Digital Download of Vinyl Artwork\n\n___________________________________________",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p1839639382-buy",
                "priceCurrency": "USD",
                "price": 13,
                "priceSpecification": {
                    "minPrice": 13
                },
                "availability": "InStock",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "includes_digital_download",
                        "value": true
                    }
                ]
            },
            "image": [
                "https://f4.bcbits.com/img/0027757311_10.jpg"
            ]
        },
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p782287928",
            "name": "DESERT SAND 12\" VINYL",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 782287928
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "p"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "Vinyl LP"
                },
                {
                    "@type": "PropertyValue",
                    "name": "image_ids",
                    "value": [
                        27726909,
                        27757443,
                        27757445,
                        27757447,
                        28341062
                    ]
                },
                {
                    "@type": "PropertyValue",
                    "name": "is_music_merch",
                    "value": true
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_id",
                    "value": 2
                }
            ],
            "description": "___________________________________________\n\n☞ Desert Sand 140g 1xLP\n☞ Gatefold Jacket, Printed Inner Sleeve, Printed Insert\n☞ Limited edition of 300\n☞ Incl. Digital Download of the album + Track by Track Commentary\n\n___________________________________________\n\nPLEASE NOTE: Shipment is from Europe, so please allow some time for the package to arrive if you're based outside of Europe.\n\n+",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p782287928-buy",
                "priceCurrency": "USD",
                "price": 25,
                "priceSpecification": {
                    "minPrice": 25
                },
                "availability": "InStock",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "includes_digital_download",
                        "value": true
                    }
                ]
            },
            "musicReleaseFormat": "VinylFormat",
            "image": [
                "https://f4.bcbits.com/img/0027726909_10.jpg",
                "https://f4.bcbits.com/img/0027757443_10.jpg",
                "https://f4.bcbits.com/img/0027757445_10.jpg",
                "https://f4.bcbits.com/img/0027757447_10.jpg",
                "https://f4.bcbits.com/img/0028341062_10.jpg"
            ]
        },
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p1693793908",
            "name": "CACTUS GREEN 12\" VINYL",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 1693793908
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "p"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "Vinyl LP"
                },
                {
                    "@type": "PropertyValue",
                    "name": "image_ids",
                    "value": [
                        27726784,
                        27757258,
                        27757322,
                        27757353,
                        28341075
                    ]
                },
                {
                    "@type": "PropertyValue",
                    "name": "is_music_merch",
                    "value": true
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_id",
                    "value": 2
                }
            ],
            "description": "___________________________________________\n\n☞ Cactus Green 140g 1xLP\n☞ Gatefold Jacket, Printed Inner Sleeve, Printed Insert\n☞ Limited edition of 200\n☞ Incl. Digital Download of the album + Track by Track Commentary\n\n___________________________________________",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p1693793908-buy",
                "priceCurrency": "USD",
                "price": 25,
                "priceSpecification": {
                    "minPrice": 25
                },
                "availability": "SoldOut",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "includes_digital_download",
                        "value": true
                    }
                ]
            },
            "musicReleaseFormat": "VinylFormat",
            "image": [
                "https://f4.bcbits.com/img/0027726784_10.jpg",
                "https://f4.bcbits.com/img/0027757258_10.jpg",
                "https://f4.bcbits.com/img/0027757322_10.jpg",
                "https://f4.bcbits.com/img/0027757353_10.jpg",
                "https://f4.bcbits.com/img/0028341075_10.jpg"
            ]
        },
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p3509491835",
            "name": "LIMITED EDITION POSTCARD SET",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 3509491835
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "p"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "Other"
                },
                {
                    "@type": "PropertyValue",
                    "name": "image_ids",
                    "value": [
                        30320488,
                        28350034,
                        28350037,
                        28350039,
                        28350044
                    ]
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_id",
                    "value": 0
                }
            ],
            "description": "___________________________________________\n\n☞ A companion piece to the 'former kingdoms' album, this is a 14-piece Postcard Set titled 'Alien Registration Numbers'\n☞ Featuring 13 short stories written by me (Mirza) about my experience of immigrating to the United States of America\n☞ Postcard Set includes 14x postcards with artwork by Victor Ferreira of Sun Glitters\n☞ Limited edition of 25, hand-numbered\n☞ Incl. PDF Download of the short stories\n☞ Incl. Digital Download of the 'former kingdoms' album + Track by Track Commentary\n\n___________________________________________",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p3509491835-buy",
                "priceCurrency": "USD",
                "price": 25,
                "priceSpecification": {
                    "minPrice": 25
                },
                "availability": "SoldOut",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "includes_digital_download",
                        "value": true
                    }
                ]
            },
            "image": [
                "https://f4.bcbits.com/img/0030320488_10.jpg",
                "https://f4.bcbits.com/img/0028350034_10.jpg",
                "https://f4.bcbits.com/img/0028350037_10.jpg",
                "https://f4.bcbits.com/img/0028350039_10.jpg",
                "https://f4.bcbits.com/img/0028350044_10.jpg"
            ]
        },
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p670486389",
            "name": "'former kingdoms' BLACK TEE",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 670486389
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "p"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "T-Shirt/Shirt"
                },
                {
                    "@type": "PropertyValue",
                    "name": "image_ids",
                    "value": [
                        28579993,
                        28579974
                    ]
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_id",
                    "value": 19
                }
            ],
            "description": "___________________________________________\n\n'former kingdoms' T-Shirt (black). Front + back design.\n\n___________________________________________",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p670486389-buy",
                "priceCurrency": "USD",
                "price": 30,
                "priceSpecification": {
                    "minPrice": 30
                },
                "availability": "SoldOut"
            },
            "image": [
                "https://f4.bcbits.com/img/0028579993_10.jpg",
                "https://f4.bcbits.com/img/0028579974_10.jpg"
            ]
        },
        {
            "@type": [
                "MusicRelease",
                "Product"
            ],
            "@id": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p1119499942",
            "name": "'former kingdoms' WHITE TEE",
            "additionalProperty": [
                {
                    "@type": "PropertyValue",
                    "name": "item_id",
                    "value": 1119499942
                },
                {
                    "@type": "PropertyValue",
                    "name": "item_type",
                    "value": "p"
                },
                {
                    "@type": "PropertyValue",
                    "name": "selling_band_id",
                    "value": 2974881220
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_name",
                    "value": "T-Shirt/Shirt"
                },
                {
                    "@type": "PropertyValue",
                    "name": "image_ids",
                    "value": [
                        28580001,
                        28580002
                    ]
                },
                {
                    "@type": "PropertyValue",
                    "name": "type_id",
                    "value": 19
                }
            ],
            "description": "___________________________________________\n\n'former kingdoms' T-Shirt (white). Front + back design.\n\n___________________________________________",
            "offers": {
                "@type": "Offer",
                "url": "https://wearearmsandsleepers.bandcamp.com/album/former-kingdoms#p1119499942-buy",
                "priceCurrency": "USD",
                "price": 30,
                "priceSpecification": {
                    "minPrice": 30
                },
                "availability": "SoldOut"
            },
            "image": [
                "https://f4.bcbits.com/img/0028580001_10.jpg",
                "https://f4.bcbits.com/img/0028580002_10.jpg"
            ]
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/a-priceless-ingredient"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/disintegrating-in-your-soul"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/yours-alone"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/no-guarantees"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/my-l"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/blueberry-and-chocolate-chip"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/casa-de-caro"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/thru-true"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/from-darkness-toward-light"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/je-suis-je-ne-suis-pas"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/come-with-me"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/5240-e-bellevue"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/falling-for-you"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/through-my-devotion"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/when-moon-was-its-only-companion"
        },
        {
            "@type": "MusicRelease",
            "@id": "https://wearearmsandsleepers.bandcamp.com/track/as-for-the-day-after-tomorrow"
        }
    ],
    "byArtist": {
        "@type": "MusicGroup",
        "name": "Arms and Sleepers",
        "@id": "https://wearearmsandsleepers.bandcamp.com"
    },
    "publisher": {
        "@type": "MusicGroup",
        "@id": "https://wearearmsandsleepers.bandcamp.com",
        "name": "Arms and Sleepers",
        "additionalProperty": [
            {
                "@type": "PropertyValue",
                "name": "band_id",
                "value": 2974881220
            },
            {
                "@type": "PropertyValue",
                "name": "has_any_downloads",
                "value": true
            },
            {
                "@type": "PropertyValue",
                "name": "has_download_codes",
                "value": true
            },
            {
                "@type": "PropertyValue",
                "name": "image_height",
                "value": 912
            },
            {
                "@type": "PropertyValue",
                "name": "image_id",
                "value": 44574341
            },
            {
                "@type": "PropertyValue",
                "name": "image_width",
                "value": 1218
            }
        ],
        "image": "https://f4.bcbits.com/img/0044574341_10.jpg",
        "genre": "https://bandcamp.com/discover/electronic",
        "description": "The things that make me weak and strange get engineered away.\n\nest. 2006\n_________\n\nContact:\nhello@armsandsleepers.com\n_________",
        "mainEntityOfPage": [
            {
                "@type": "WebSite",
                "url": "http://armsandsleepers.com",
                "name": "armsandsleepers.com"
            },
            {
                "@type": "WebPage",
                "url": "http://instagram.com/armsandsleepers",
                "name": "Instagram"
            },
            {
                "@type": "WebPage",
                "url": "https://facebook.com/armsandsleepers",
                "name": "Facebook"
            },
            {
                "@type": "WebPage",
                "url": "https://youtube.com/armsandsleepers",
                "name": "YouTube"
            },
            {
                "@type": "WebPage",
                "url": "https://en.wikipedia.org/wiki/Arms_and_Sleepers",
                "name": "en.wikipedia.org"
            }
        ],
        "event": [
            {
                "@type": "MusicEvent",
                "name": "Revolution ART SPACE ||| MUSIC STAGE, Tbilisi, Georgia",
                "startDate": "09 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Revolution ART SPACE ||| MUSIC STAGE",
                    "address": "Tbilisi, Georgia"
                },
                "url": "https://www.songkick.com/concerts/43204922-blockhead-at-revolution-art-space-music-stage?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Tonelab, Yerevan, Armenia",
                "startDate": "10 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Tonelab",
                    "address": "Yerevan, Armenia"
                },
                "url": "https://www.songkick.com/concerts/43204925-blockhead-at-tonelab?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Maze, Limassol, Cyprus",
                "startDate": "12 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Maze",
                    "address": "Limassol, Cyprus"
                },
                "url": "https://www.songkick.com/concerts/43204928-blockhead-at-maze?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Club, Backstage, Munich, Germany",
                "startDate": "16 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Club, Backstage",
                    "address": "Munich, Germany"
                },
                "url": "https://www.songkick.com/concerts/43122401-blockhead-at-club-backstage?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Péniche La Marquise, Lyon, France",
                "startDate": "17 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Péniche La Marquise",
                    "address": "Lyon, France"
                },
                "url": "https://www.songkick.com/concerts/43122404-blockhead-at-peniche-la-marquise?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Le Molotov, Marseille, France",
                "startDate": "18 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Le Molotov",
                    "address": "Marseille, France"
                },
                "url": "https://www.songkick.com/concerts/43122406-blockhead-at-le-molotov?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Le Bateau Phare, Paris, France",
                "startDate": "19 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Le Bateau Phare",
                    "address": "Paris, France"
                },
                "url": "https://www.songkick.com/concerts/43122408-blockhead-at-le-bateau-phare?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Hootananny, Brixton, UK",
                "startDate": "20 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Hootananny",
                    "address": "Brixton, UK"
                },
                "url": "https://www.songkick.com/concerts/43122410-blockhead-at-hootananny?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Bitterzoet, Amsterdam, Netherlands",
                "startDate": "23 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Bitterzoet",
                    "address": "Amsterdam, Netherlands"
                },
                "url": "https://www.songkick.com/concerts/43122413-blockhead-at-bitterzoet?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Betty, Hamburg, Germany",
                "startDate": "24 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Betty",
                    "address": "Hamburg, Germany"
                },
                "url": "https://www.songkick.com/concerts/43152643-blockhead-at-betty?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Kantine am Berghain, Berlin, Germany",
                "startDate": "25 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Kantine am Berghain",
                    "address": "Berlin, Germany"
                },
                "url": "https://www.songkick.com/concerts/43122416-blockhead-at-kantine-am-berghain?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Hydrozagadka, Warsaw, Poland",
                "startDate": "26 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Hydrozagadka",
                    "address": "Warsaw, Poland"
                },
                "url": "https://www.songkick.com/concerts/43122417-blockhead-at-hydrozagadka?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Cargo Gallery, Prague, Czech Republic",
                "startDate": "29 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Cargo Gallery",
                    "address": "Prague, Czech Republic"
                },
                "url": "https://www.songkick.com/concerts/43122420-blockhead-at-cargo-gallery?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Kabinet Múz, Brno, Czech Republic",
                "startDate": "30 Sep 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Kabinet Múz",
                    "address": "Brno, Czech Republic"
                },
                "url": "https://www.songkick.com/concerts/43122424-blockhead-at-kabinet-muz?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "A38 Ship / A38 Hajó, Budapest, Hungary",
                "startDate": "01 Oct 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "A38 Ship / A38 Hajó",
                    "address": "Budapest, Hungary"
                },
                "url": "https://www.songkick.com/concerts/43122425-blockhead-at-a38-ship-a38-hajo?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Gazarte, Athens, Greece",
                "startDate": "02 Oct 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Gazarte",
                    "address": "Athens, Greece"
                },
                "url": "https://www.songkick.com/concerts/43122429-blockhead-at-gazarte?utm_source=1471&utm_medium=partner"
            },
            {
                "@type": "MusicEvent",
                "name": "Soul, Thessaloníki, Greece",
                "startDate": "03 Oct 2026 00:00:00 GMT",
                "location": {
                    "@type": "MusicVenue",
                    "name": "Soul",
                    "address": "Thessaloníki, Greece"
                },
                "url": "https://www.songkick.com/concerts/43122431-blockhead-at-soul?utm_source=1471&utm_medium=partner"
            }
        ],
        "subjectOf": [
            {
                "@type": "WebPage",
                "url": "https://wearearmsandsleepers.bandcamp.com/music",
                "name": "MUSIC",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "m"
                    }
                ]
            },
            {
                "@type": "WebPage",
                "url": "https://wearearmsandsleepers.bandcamp.com/merch",
                "name": "MERCH",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "p"
                    }
                ]
            },
            {
                "@type": "WebPage",
                "url": "https://wearearmsandsleepers.bandcamp.com/video",
                "name": "VIDEO",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "v"
                    }
                ]
            },
            {
                "@type": "WebPage",
                "url": "https://wearearmsandsleepers.bandcamp.com/community",
                "name": "COMMUNITY",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "nav_type",
                        "value": "c"
                    }
                ]
            }
        ]
    },
    "numTracks": 16,
    "track": {
        "@type": "ItemList",
        "numberOfItems": 16,
        "itemListElement": [
            {
                "@type": "ListItem",
                "position": 1,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/a-priceless-ingredient",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 3092823286
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "a priceless ingredient",
                    "duration": "P00H00M30S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "We Americans possess a priceless ingredient which is at a premium in today’s troubled world. The ingredient is…"
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/a-priceless-ingredient"
                }
            },
            {
                "@type": "ListItem",
                "position": 2,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/disintegrating-in-your-soul",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 527243994
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "disintegrating in your soul",
                    "duration": "P00H02M50S",
                    "copyrightNotice": "All Rights Reserved",
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/disintegrating-in-your-soul"
                }
            },
            {
                "@type": "ListItem",
                "position": 3,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/yours-alone",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 224338276
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "yours alone",
                    "duration": "P00H02M48S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "I want you to know, I'm yours alone."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/yours-alone"
                }
            },
            {
                "@type": "ListItem",
                "position": 4,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/no-guarantees",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 1567440950
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "no guarantees",
                    "duration": "P00H03M00S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "Launching is not an easy task. In the countdown, each step must be scheduled exactly, checked, and rechecked. Still, there are no guarantees…\n\nThrough my devotion... still, there are no guarantees."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/no-guarantees"
                }
            },
            {
                "@type": "ListItem",
                "position": 5,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/my-l",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 2678814741
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "my L",
                    "duration": "P00H02M13S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "My love."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/my-l"
                }
            },
            {
                "@type": "ListItem",
                "position": 6,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/blueberry-and-chocolate-chip",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 2965852753
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "blueberry and chocolate chip",
                    "duration": "P00H01M10S",
                    "copyrightNotice": "All Rights Reserved",
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/blueberry-and-chocolate-chip"
                }
            },
            {
                "@type": "ListItem",
                "position": 7,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/casa-de-caro",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 307381484
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "Casa De Caro",
                    "duration": "P00H02M05S",
                    "copyrightNotice": "All Rights Reserved",
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/casa-de-caro"
                }
            },
            {
                "@type": "ListItem",
                "position": 8,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/thru-true",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 4010310793
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "thru & true",
                    "duration": "P00H02M05S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "Come true.\n\nThe hidden, far side of the moon."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/thru-true"
                }
            },
            {
                "@type": "ListItem",
                "position": 9,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/from-darkness-toward-light",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 1999936828
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "from darkness toward light",
                    "duration": "P00H00M36S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "The history of the human race is a continual struggle from darkness toward light. It is therefore to no purpose to discuss the use of knowledge. Man wants to know, and when he ceases to do so, he is no longer…"
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/from-darkness-toward-light"
                }
            },
            {
                "@type": "ListItem",
                "position": 10,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/je-suis-je-ne-suis-pas",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 1775386675
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "je suis je ne suis pas",
                    "duration": "P00H04M40S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "Everything from A to Z."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/je-suis-je-ne-suis-pas"
                }
            },
            {
                "@type": "ListItem",
                "position": 11,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/come-with-me",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 1550447030
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "come with me",
                    "duration": "P00H02M29S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "So come with me."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/come-with-me"
                }
            },
            {
                "@type": "ListItem",
                "position": 12,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/5240-e-bellevue",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 1879551683
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "5240 E Bellevue",
                    "duration": "P00H01M08S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "For generations from the four corners of the world, people came to America to find… freedom."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/5240-e-bellevue"
                }
            },
            {
                "@type": "ListItem",
                "position": 13,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/falling-for-you",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 2341336993
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "falling for you",
                    "duration": "P00H02M11S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "Falling for you."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/falling-for-you"
                }
            },
            {
                "@type": "ListItem",
                "position": 14,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/through-my-devotion",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 1571267858
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "through my devotion",
                    "duration": "P00H01M26S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "Through my devotion."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/through-my-devotion"
                }
            },
            {
                "@type": "ListItem",
                "position": 15,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/when-moon-was-its-only-companion",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 954688903
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "when moon was its only companion",
                    "duration": "P00H02M24S",
                    "copyrightNotice": "All Rights Reserved",
                    "recordingOf": {
                        "@type": "MusicComposition",
                        "lyrics": {
                            "@type": "CreativeWork",
                            "text": "Any day."
                        }
                    },
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/when-moon-was-its-only-companion"
                }
            },
            {
                "@type": "ListItem",
                "position": 16,
                "item": {
                    "@type": "MusicRecording",
                    "@id": "https://wearearmsandsleepers.bandcamp.com/track/as-for-the-day-after-tomorrow",
                    "additionalProperty": [
                        {
                            "@type": "PropertyValue",
                            "name": "track_id",
                            "value": 4254119907
                        },
                        {
                            "@type": "PropertyValue",
                            "name": "license_name",
                            "value": "all_rights_reserved"
                        }
                    ],
                    "name": "as for the day after tomorrow",
                    "duration": "P00H02M16S",
                    "copyrightNotice": "All Rights Reserved",
                    "mainEntityOfPage": "https://wearearmsandsleepers.bandcamp.com/track/as-for-the-day-after-tomorrow"
                }
            }
        ]
    },
    "image": "https://f4.bcbits.com/img/a2355057041_10.jpg",
    "keywords": [
        "Electronic",
        "ambient",
        "arms and sleepers",
        "chillhop",
        "chillout",
        "downtempo",
        "electronica",
        "lofi",
        "lofi beats",
        "lofi hiphop",
        "samples",
        "trip hop",
        "United States"
    ],
    "datePublished": "10 May 2022 00:00:00 GMT",
    "description": "___________________________________________\r\n\r\nArms and Sleepers - 'former kingdoms'\r\n\r\nWhile Arms and Sleepers celebrated its 15th anniversary in 2021, Mirza Ramic—one of two original co-founders and now the group’s sole member—celebrated another milestone: 25 years since he first arrived to the US as a refugee. Born in Bosnia & Herzegovina and having fled the war-torn country with his mother, Ramic immigrated to the US as a 13-year old and arrived to Tucson, Arizona in July 1996. The family would eventually make it to Boston, Massachusetts where Ramic would go on to meet the other half of Arms and Sleepers (Max Lewis), but the first two years living in the Southwestern US shaped the core of an American immigrant identity. Exactly 25 years later, in July 2021, Ramic sat down to write an album dedicated to the memories of first arriving in the US, far removed from everything he was previously familiar with and at the footsteps of a new life ahead.\r\n___________________________________________",
    "creditText": "___________________________________________\r\n\r\nArms and Sleepers - 'former kingdoms'\r\n\r\nAll tracks written, performed and produced by Mirza Ramic\r\nMixed by Pierre Navarron\r\nMastered by Antony Ryan at RedRedPaw Mastering\r\nArtwork by Victor Ferreira (madeByhujo / Sun Glitters)\r\n___________________________________________\r\n\r\n(c) 2022 Mirza Ramic\r\n(p) 2022 Arms and Sleepers\r\n\r\nSVR23\r\nVinyl release courtesy of SlyVinyl Records\r\n\r\nINQUIRIES:\r\nhello@armsandsleepers.com\r\n___________________________________________",
    "copyrightNotice": "All Rights Reserved",
    "comment": [
        {
            "@type": "Comment",
            "author": {
                "@type": "Person",
                "url": "https://bandcamp.com/clijoco",
                "image": "https://f4.bcbits.com/img/0012150955_50.jpg",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "image_id",
                        "value": 12150955
                    }
                ],
                "name": "Clifford Collie"
            },
            "text": [
                "Your music is sublime. Been listening to your music since hearing a track that blew me away called ' The dying animal' from ' Nostalgia for the absolute'"
            ]
        },
        {
            "@type": "Comment",
            "author": {
                "@type": "Person",
                "url": "https://bandcamp.com/ianmccauley",
                "image": "https://f4.bcbits.com/img/0038780775_50.jpg",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "image_id",
                        "value": 38780775
                    }
                ],
                "name": "clubizarre"
            },
            "text": [
                "There is some sort of nostalgic feeling I get from listening to this track, but also this entire album. Like a fleeting moment that just happened and I already miss. Almost a 60's sound like from an older movie soundtrack, but not quite. It's hard to really pin down, but I absolutely love it. ",
                "Favorite track: as for the day after tomorrow"
            ]
        },
        {
            "@type": "Comment",
            "author": {
                "@type": "Person",
                "url": "https://bandcamp.com/soldiernavarro",
                "image": "https://f4.bcbits.com/img/0019798540_50.jpg",
                "additionalProperty": [
                    {
                        "@type": "PropertyValue",
                        "name": "image_id",
                        "value": 19798540
                    }
                ],
                "name": "Alejandro Navarro "
            },
            "text": [
                "Mirza is a very special person and He creates music that comes from the heart. I really appreciate AAS and I will always be here to support. If you haven’t already heard his music you should definitely do so. I’m sure he will impact your life with his amazing sounds. ",
                "Favorite track: come with me"
            ]
        }
    ],
    "additionalProperty": [
        {
            "@type": "PropertyValue",
            "name": "art_id",
            "value": 2355057041
        },
        {
            "@type": "PropertyValue",
            "name": "featured_track_num",
            "value": 1
        },
        {
            "@type": "PropertyValue",
            "name": "license_name",
            "value": "all_rights_reserved"
        }
    ],
    "@context": "https://schema.org"
}

We probably don't have to handle all of them at once, but what's important for this PR: it will break on pages where linkeddata.numTracks is not directly available, e.g. https://mesh.bandcamp.com/track/phatal-envelope


Let me know if you have time to work on it; otherwise I'll try to find time to work on it in a couple of days. The idea of using structured data and cleaning up the implementation is very exciting!

@arsinclair arsinclair self-assigned this May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants