# Music (MoC)
## Overview
Everything about music in this vault. Part of the [[Media (MoC)]]. The full collection (shelf, wishlist, collection, Kanban board) lives in [[Music (Base).base]].
## Want to Listen to
<!-- QueryToSerialize: LIST FROM #type/media/album WHERE (status = "To Listen" OR status = "To Listen Again") AND public_note = true SORT priority ASC, manual_order ASC, file.name ASC -->
## Wishlist
Public by design: a shareable gift list.
<!-- QueryToSerialize: TABLE WITHOUT ID file.link AS "Album", wishlist_priority AS "Wishlist Priority", join(formats, ", ") AS "Formats" FROM #type/media/album WHERE contains(ownership, "Wishlist") AND public_note = true SORT default(wishlist_priority, "9") ASC, priority ASC, file.name ASC -->
<!-- SerializedQuery: TABLE WITHOUT ID file.link AS "Album", wishlist_priority AS "Wishlist Priority", join(formats, ", ") AS "Formats" FROM #type/media/album WHERE contains(ownership, "Wishlist") AND public_note = true SORT default(wishlist_priority, "9") ASC, priority ASC, file.name ASC -->
| Album | Wishlist Priority | Formats |
| ----- | ----------------- | ------- |
<!-- SerializedQuery END -->
## Listening
<!-- QueryToSerialize: LIST FROM #type/media/album WHERE status = "Listening" AND public_note = true SORT date_started DESC -->
## Completed by Year
<!-- QueryToSerialize: TABLE WITHOUT ID y AS "Year", file.link AS "Album", length(filter(cd, (d) => startswith(d, y))) AS "Times", rating AS "Rating" FROM #type/media/album FLATTEN list(unique(map(filter(flat(list(dates_completed, dates_played, choice(status = "Listened", date_finished, null))), (d) => d), (d) => dateformat(date(d), "yyyy-MM-dd")))) AS cd FLATTEN unique(map(cd, (d) => substring(d, 0, 4))) AS y WHERE public_note = true SORT y DESC, file.name ASC -->
<!-- SerializedQuery: TABLE WITHOUT ID y AS "Year", file.link AS "Album", length(filter(cd, (d) => startswith(d, y))) AS "Times", rating AS "Rating" FROM #type/media/album FLATTEN list(unique(map(filter(flat(list(dates_completed, dates_played, choice(status = "Listened", date_finished, null))), (d) => d), (d) => dateformat(date(d), "yyyy-MM-dd")))) AS cd FLATTEN unique(map(cd, (d) => substring(d, 0, 4))) AS y WHERE public_note = true SORT y DESC, file.name ASC -->
| Year | Album | Times | Rating |
| ---- | ----- | ----- | ------ |
<!-- SerializedQuery END -->
## Ratings
<!-- QueryToSerialize: TABLE WITHOUT ID file.link AS "Album", rating AS "Rating" FROM #type/media/album WHERE rating AND public_note = true SORT rating ASC, file.name ASC -->
<!-- SerializedQuery: TABLE WITHOUT ID file.link AS "Album", rating AS "Rating" FROM #type/media/album WHERE rating AND public_note = true SORT rating ASC, file.name ASC -->
| Album | Rating |
| ----- | ------ |
<!-- SerializedQuery END -->
## Notes
<!-- QueryToSerialize: LIST WITHOUT ID key FROM #type/media/album FLATTEN file.inlinks AS n WHERE !econtains(n.file.tags, "#type/book") AND !econtains(n.file.tags, "#type/media") AND !econtains(n.file.tags, "#type/quote") AND !econtains(n.file.tags, "#type/creation/quote") AND !econtains(n.file.tags, "#type/map") AND !econtains(n.file.tags, "#type/folder_note") AND !econtains(n.file.tags, "#type/person") AND !econtains(n.file.tags, "#type/contact") AND !econtains(n.file.tags, "#type/highlight") AND length(n.file.tags) > 0 AND n.public_note = true GROUP BY n SORT key.file.name ASC -->
## Quotes
<!-- QueryToSerialize: LIST WITHOUT ID key FROM #type/media/album FLATTEN file.inlinks AS n WHERE (econtains(n.file.tags, "#type/quote") OR econtains(n.file.tags, "#type/creation/quote")) AND n.public_note = true GROUP BY n SORT key.file.name ASC -->
## References
## Related
- [[Media (MoC)]]
- [[Favorite Music (MoC)]]