# MusicBrainz Gallery of Apps?

**URL:** https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618
**Category:** MusicBrainz
**Tags:** musicbrainz
**Created:** [October 10, 2021, 11:43pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618 "2021-10-10T23:43:44Z")
**Posts on this page:** 18
**Page:** 1

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 10, 2021, 11:43pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/1 "2021-10-10T23:43:45Z")

</div>

Has anyone created a list of apps and websites that use musicbrainz data?

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 11, 2021, 12:03am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/2 "2021-10-11T00:03:46Z")

</div>

Maybe you can start with this page I found from the FAQ:

[https://musicbrainz.org/doc/MusicBrainz\_Enabled\_Applications](https://musicbrainz.org/doc/MusicBrainz_Enabled_Applications)

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 11, 2021, 3:43pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/3 "2021-10-11T15:43:49Z")

</div>

Thanks! Interesting list, most of the links work. It would be nice to see comments and ratings from this community about the apps and websites.

I have an ulterior motive in asking the question, I wanted to submit my new app for the list:

[https://headliners-and-sidemen.herokuapp.com/](https://headliners-and-sidemen.herokuapp.com/)

It answers the question: What were the musicians who played on this album doing before and after?

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 11, 2021, 3:55pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/4 "2021-10-11T15:55:05Z")

</div>

Wow it’s super interesting!  
It would be useful maybe to have a small link back to the MB entity.

I don’t know exactly how it is all presented but I guess most of it.

However I see some strange things, on [THE MAN WHO SOLD THE WORLD](https://headliners-and-sidemen.herokuapp.com/release_group/66623) for instance.  
I was [expecting](https://musicbrainz.org/release/246a9545-4a25-3204-a817-e52f9e5ae730) to see MICK RONSON (guitar), but I don’t see him.

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 11, 2021, 6:13pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/5 "2021-10-11T18:13:17Z")

</div>

Thanks!

I will add the gid so I can link back, just have the int id now.

Will check on Mick Ronson. The usual reason someone is missing is that there is no begin\_date on the recording.

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 12, 2021, 12:56am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/6 "2021-10-12T00:56:26Z")

</div>

Yes, that was it and thanks for pointing it out. No date. Like 6 others on that recording!

I can fix it on my end by assuming he and the others recorded on the same day 1971-02-25 as the other 5. Working on that…

Maybe this the kind of straightforward data wrangling that should go into musicbrainz itself?

```auto
 release_group | title | headliner | headliner_id | artist | artist_id | instrument | begin_date | end_date  
---------------+----------------------------+-------------+--------------+---------------------+-----------+------------------+------------+------------
         66623 | The Man Who Sold the World | David Bowie | 956 | David Bowie | 956 | guitar | 1971-02-25 | 1971-02-25
         66623 | The Man Who Sold the World | David Bowie | 956 | David Bowie | 956 | lead vocals | 1971-02-25 | 1971-02-25
         66623 | The Man Who Sold the World | David Bowie | 956 | John Cambridge | 541804 | drums (drum set) | | 
         66623 | The Man Who Sold the World | David Bowie | 956 | Mark Carr-Pritchard | 704497 | guitar | 1971-02-25 | 1971-02-25
         66623 | The Man Who Sold the World | David Bowie | 956 | Mick Ronson | 42012 | guitar | | 
         66623 | The Man Who Sold the World | David Bowie | 956 | Mick Woodmansey | 348037 | drums (drum set) | | 
         66623 | The Man Who Sold the World | David Bowie | 956 | Pete De Somogyl | 704503 | bass guitar | 1971-02-25 | 1971-02-25
         66623 | The Man Who Sold the World | David Bowie | 956 | Ralph Mace | 977107 | synthesizer | | 
         66623 | The Man Who Sold the World | David Bowie | 956 | Tim Broadbent | 704504 | drums (drum set) | 1971-02-25 | 1971-02-25
         66623 | The Man Who Sold the World | David Bowie | 956 | Tim Renwick | 387800 | guitar | | 
         66623 | The Man Who Sold the World | David Bowie | 956 | Tony Visconti | 334522 | bass guitar | | 
         66623 | The Man Who Sold the World | David Bowie | 956 | Trevor Bolder | 298185 | bass guitar | | 
(12 rows)

```

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 12, 2021, 12:58am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/7 "2021-10-12T00:58:33Z")

</div>

The query:

```auto
select rg.id as release_group,
  rg.name as title,
  rga.name as headliner, 
  rga.id as headliner_id,
  a.name as artist,
  a.id as artist_id,
  lat.name as instrument, 
  min(make_date(l.begin_date_year, 
       coalesce(l.begin_date_month,1), 
       coalesce(l.begin_date_day,1))) as begin_date, 
  max(make_date(l.end_date_year, 
       coalesce(l.end_date_month,1), 
       coalesce(l.end_date_day,1))) as end_date
from release_group as rg
join release as r on r.release_group = rg.id
join artist as rga on rga.id = rg.artist_credit
join medium as m on m.release = r.id
join track as t on t.medium = m.id
join l_artist_recording as ar on ar.entity1 = t.recording
join artist a on a.id = ar.entity0
join link as l on l.id = ar.link
join link_attribute as la on la.link = l.id
join link_attribute_type as lat on lat.id = la.attribute_type
where rg.id = 66623
-- and l.begin_date_year is not null
group by 1,2,3,4,5,6,7
;

```

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 12, 2021, 6:59am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/8 "2021-10-12T06:59:04Z")

</div>

Are you sure that you want to test dates?

We wouldn’t link an artist to the release of recording, if the artist is not involved.

Also about the ID, I think you should use MBID everywhere visible, including in URL.  
They are the public entity ID.

The integer row ID is not intangible.  
One day it can be David Bowie, another day it can disappear then, maybe, it can designate someone else.

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 15, 2021, 4:56am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/9 "2021-10-15T04:56:36Z")

</div>

Check out that link again. Mick Ronson is there and there is a link back to MB.

This is 3x the data I had before, because the date is missing from so many recordings. I filled in by using the date from another recording on the same album. If no recordings have dates, I use the earliest release date.

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 15, 2021, 10:42am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/10 "2021-10-15T10:42:27Z")

</div>

> [@jdimm](#):
>
> the date is missing from so many recordings

Yes of course, it is not often that you get recording dates in booklets, outside of jazz and classical. 🙂

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 19, 2021, 5:20am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/11 "2021-10-19T05:20:08Z")

</div>

You are right, I switched to uuid (aka MBID, release\_group.gid) for musicbrainz.

[https://headliners-and-sidemen.herokuapp.com/release\_group/2536a41d-fde9-35d5-a6c6-cd4d94ffd916](https://headliners-and-sidemen.herokuapp.com/release_group/2536a41d-fde9-35d5-a6c6-cd4d94ffd916)

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 19, 2021, 7:02am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/12 "2021-10-19T07:02:41Z")

</div>

Super, and there is the MusicBrainz link at the release group page bottom, great!

Maybe an MB link for artist page would be great too.

Now, here is a strange date showing for Mick Ronson:

> [https://headliners-and-sidemen.herokuapp.com/release\_group/57f862f4-3a93-425f-b801-be674c814b8d](https://headliners-and-sidemen.herokuapp.com/release_group/57f862f4-3a93-425f-b801-be674c814b8d)
> 
> 1925-05-27  
> Mick Ronson  
> brass, strings

When he was not yet born. 😉

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 22, 2021, 5:45pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/13 "2021-10-22T17:45:53Z")

</div>

Better. Ronson had no recording date and that compilation had recordings from other musicians from 1925. So my fill-in query gave him that date. I’m now assigning him the latest date, not the earliest.

Same link.

(I need to add a check to make sure you don’t get assigned a recording date that’s after you died.)

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 22, 2021, 11:31pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/14 "2021-10-22T23:31:02Z")

</div>

I think you shouldn’t make up dates.  
It’s maybe because you are checking dates.  
But why are you even checking dates?  
All relationships should be shown.  
You should just show known dates, but not filtering or making up. 🤔

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [October 25, 2021, 4:26pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/15 "2021-10-25T16:26:04Z")

</div>

“But why are you even checking dates?”

Then none of this must make any sense to you! It’s all about time.

You could make an app that showed everything done by every artist on a release, but the pages would be huge. Instead, I’m showing the last one before and the first one after, which I define to be the neighborhood of the album. So dates are essential.

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [October 25, 2021, 9:47pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/16 "2021-10-25T21:47:24Z")

</div>

Oh yes, I see!  
I thought you just looked at release dates for this timeline.

---

<div class="post-metadata">

### Author: ![jdimm](https://community.metabrainz.org/letter_avatar_proxy/v4/letter/j/71e660/32.png) [@jdimm](https://community.metabrainz.org/u/jdimm)
#### Post date: [November 24, 2021, 12:53am UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/17 "2021-11-24T00:53:55Z")

</div>

New URL:

[https://headliners-and-sidemen.vercel.app/](https://headliners-and-sidemen.vercel.app/)

Same github:

[https://github.com/johndimm/headliners-and-sidemen](https://github.com/johndimm/headliners-and-sidemen)

---

<div class="post-metadata">

### Author: ![jesus2099](https://community.metabrainz.org/user_avatar/community.metabrainz.org/jesus2099/32/36_2.png) [@jesus2099](https://community.metabrainz.org/u/jesus2099)
#### Post date: [November 24, 2021, 4:55pm UTC](https://community.metabrainz.org/t/musicbrainz-gallery-of-apps/554618/18 "2021-11-24T16:55:52Z")

</div>

Maybe it would be interesting to filter compilations out and keep only originals (including lives)?  
Otherwise, [the timeline is quite cluttered](https://headliners-and-sidemen.vercel.app/artist_releases/5a150caa-fe13-4590-a50e-7778ee29b587) with misleading _releases_. 😉  
Maybe an optional checkbox?
