[GH-ISSUE #1333] Albums are sorted by artist not by album_artist #767

Closed
opened 2026-02-26 02:34:12 +03:00 by kerem · 12 comments
Owner

Originally created by @LeducH on GitHub (Jul 9, 2021).
Original GitHub issue: https://github.com/koel/koel/issues/1333

Describe the bug
Albums are sorted by artist not by album_artist

To reproduce
Steps to reproduce the behavior:

  1. add an album album1 with different artist e.g. a original soundtrack. Make sure the album artist is set the same such as various artist and it has different artist for each track. artist 1, artist 2,...
  2. import it to koel

Expected behavior
The album1 is added as one with album artist various artist

actual behavior
there is for each artist one entry

Environment

  • Koel version docker
Originally created by @LeducH on GitHub (Jul 9, 2021). Original GitHub issue: https://github.com/koel/koel/issues/1333 **Describe the bug** Albums are sorted by artist not by album_artist **To reproduce** Steps to reproduce the behavior: 1. add an album `album1` with different artist e.g. a original soundtrack. Make sure the album artist is set the same such as `various artist` and it has different artist for each track. `artist 1, artist 2,...` 2. import it to koel **Expected behavior** The `album1` is added as one with album artist `various artist` **actual behavior** there is for each artist one entry **Environment** - Koel version docker
kerem closed this issue 2026-02-26 02:34:12 +03:00
Author
Owner

@heavydetail commented on GitHub (Aug 3, 2021):

having the same problem with some albums being split into a bunch of individual albums with just one track/artist.

<!-- gh-comment-id:891710495 --> @heavydetail commented on GitHub (Aug 3, 2021): having the same problem with some albums being split into a bunch of individual albums with just one track/artist.
Author
Owner

@masterT commented on GitHub (Sep 22, 2021):

I think this has something to do with the tags argument provided to the koel:sync command (see app/Console/Commands/SyncCommand.php).

The list of applicable tags are defined in: github.com/koel/koel@4181b51192/app/Services/MediaSyncService.php (L25-L36)

When no tags are specified it will use all those tags and pass them to the app/Services/FileSynchronizer.php to synchronize each file of the library.

The song's album is considered a "compilation" if the meta part_of_a_compilation is set or if the meta albumartist is set and different from the meta artist:

github.com/koel/koel@4181b51192/app/Services/FileSynchronizer.php (L125)

github.com/koel/koel@4181b51192/app/Services/FileSynchronizer.php (L338-L345)

<!-- gh-comment-id:924844067 --> @masterT commented on GitHub (Sep 22, 2021): I think this has something to do with the `tags` argument provided to the `koel:sync` command (see [app/Console/Commands/SyncCommand.php](https://github.com/koel/koel/blob/v5.1.5/app/Console/Commands/SyncCommand.php)). The list of applicable tags are defined in: https://github.com/koel/koel/blob/4181b5119280a6553d19beafd5eacbd7d538ba7c/app/Services/MediaSyncService.php#L25-L36 When no `tags` are specified it will use all those tags and pass them to the [app/Services/FileSynchronizer.php](https://github.com/koel/koel/blob/v5.1.5/app/Services/FileSynchronizer.php) to synchronize each file of the library. The song's album is considered a "compilation" if the meta `part_of_a_compilation` is set or if the meta `albumartist` is set and different from the meta `artist`: https://github.com/koel/koel/blob/4181b5119280a6553d19beafd5eacbd7d538ba7c/app/Services/FileSynchronizer.php#L125 https://github.com/koel/koel/blob/4181b5119280a6553d19beafd5eacbd7d538ba7c/app/Services/FileSynchronizer.php#L338-L345
Author
Owner

@masterT commented on GitHub (Sep 22, 2021):

I use beets to manage my music library and fix metadata.

Here is an example of a song's metadata (using exiftool):

ExifTool Version Number         : 12.00
File Name                       : 16 - Howlin’ for You.m4a
Directory                       : /Users/simon/Downloads
File Size                       : 15 MB
File Modification Date/Time     : 2021:09:22 05:48:04-04:00
File Access Date/Time           : 2021:09:22 05:48:04-04:00
File Inode Change Date/Time     : 2021:09:22 05:48:05-04:00
File Permissions                : rw-r--r--
File Type                       : M4A
File Type Extension             : m4a
MIME Type                       : audio/mp4
Major Brand                     : Apple iTunes AAC-LC (.M4A) Audio
Minor Version                   : 0.0.0
Compatible Brands               : M4A , mp42, isom
Movie Header Version            : 0
Create Date                     : 2029:05:27 04:00:12
Modify Date                     : 2014:11:22 17:30:16
Time Scale                      : 44100
Duration                        : 0:07:28
Preferred Rate                  : 1
Preferred Volume                : 100.00%
Preview Time                    : 0 s
Preview Duration                : 0 s
Poster Time                     : 0 s
Selection Time                  : 0 s
Selection Duration              : 0 s
Current Time                    : 0 s
Next Track ID                   : 2
Track Header Version            : 0
Track Create Date               : 2029:05:27 04:00:12
Track Modify Date               : 2014:11:22 17:30:16
Track ID                        : 1
Track Duration                  : 0:07:28
Track Layer                     : 0
Track Volume                    : 100.00%
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Media Header Version            : 0
Media Create Date               : 2029:05:27 04:00:12
Media Modify Date               : 2014:11:22 17:30:16
Media Time Scale                : 44100
Media Duration                  : 0:07:28
Balance                         : 0
Audio Format                    : mp4a
Audio Channels                  : 2
Audio Bits Per Sample           : 16
Audio Sample Rate               : 44100
Original Format                 : mp4a
Scheme Type                     : itun
Scheme Version                  : 0
Scheme URL                      : 
User ID                         : 0x3ef1f36c
Certificate                     : 0x00000001
Item Vendor ID                  : 0x00000002
Platform                        : 0x00000000
Version Restrictions            : 0x01010100
Transaction ID                  : 0xd096bed4
Item ID                         : 0x161c8a5a
Item Tool                       : P505
Media Flags                     : 0x00000001
Mode Flags                      : 0x00000080
User Name                       : Simon Thiboutot
Handler Type                    : Metadata
Handler Vendor ID               : Apple
Title                           : Howlin’ for You
Artist                          : The Black Keys feat. Prins Thomas
Composer                        : 
Album                           : Brothers
Genre                           : Garage Rock
Track Number                    : 16 of 16
Disk Number                     : 1 of 1
Content Create Date             : 2010:05:18
Compilation                     : No
Beats Per Minute                : 0
Encoder                         : 
Arranger                        : 
ASIN                            : 
CATALOGNUMBER                   : 
DISCSUBTITLE                    : 
ISRC                            : 
LYRICIST                        : 
MusicBrainz Work Id             : 
MusicBrainz Album Release Country: US
LANGUAGE                        : eng
SCRIPT                          : Latn
MusicBrainz Album Type          : album
replaygain track gain           : -4.93 dB
replaygain track peak           : 0.961090
LABEL                           : Nonesuch
publisher                       : Nonesuch
MusicBrainz Album Status        : Official
ORIGINAL YEAR                   : 2010-05-14
MEDIA                           : Digital Media
Album Artist Credit             : The Black Keys
MusicBrainz Album Comment       : iTunes Deluxe Version
MusicBrainz Release Group Id    : 2a2b851c-bba6-4584-80c0-19af4a55e286
MusicBrainz Release Track Id    : 5233fdaa-c810-4596-841d-532abb8ad07f
MusicBrainz Album Id            : 6ba8fde9-a0b9-4b93-a626-f2c2f5d698ae
Acoustid Id                     : b6793d4a-1881-4e0c-9695-276d02f9247e
MusicBrainz Album Artist Id     : d15721d8-56b4-453d-b506-fc915b14cba2
MusicBrainz Artist Id           : d15721d8-56b4-453d-b506-fc915b14cba2
MusicBrainz Track Id            : f54d98f6-b965-4e81-845a-16d410081993
Artist Credit                   : The Black Keys feat. Prins Thomas Diskomiks
Volume Normalization            : C28 C28 1E63 1E63 0 0 7B04 7B04 0 0
Acoustid Fingerprint            : AQADtEmUZOmSKRJOBj2u41GKJg-J_rh4XAouXvADfYuGH310-DmuDU5vtPhWQm_Q1MaPO8PLMBGOPFGG5jT-odfhOMfR5cdTBnlPeMc_Qc-OniKsTwi1H3k-tMvQXMOfGNov_DiVDTe09_iWPWjao1UNnUG75BG8T0jTCz4ToWQi5I1wH5ocvJoF5x7yIsyO6xJ6qfBlqKJ0vAyDUMsesFJ89EKzNST-45mJbhS-xvg-4c5wbQrSQ6Ma_BWua7iqpMnQXOjx7NCfgOcQfoFz4Q_6HF_xOEX5EakYHTozw2mzoe3Ro3mWCPo9fHyCoz_h6RvEHy2X41Zg5sGhL0Wo6BU-VoLzGcwXPCqeB2HWhVAf5OjCPPiG8kKYvMMzOniCSuvR7GGCj-gH8UffBFl5PCgPP0HuTBnUpMtxVHqMr0af6BD7CT_6TDg_9FGFZqNiHHLEEx93_EJ_gfo8PEIpqvgOPQ7qBr4Qj9VgN7B-fEgfGoduWFrI4MepQOTRZ3g8Idwp-BX6o0eOszF0OKPBRxT4os-DMxc0jil-FZeQX5Fx_MiT44L345DK8DiN9hceFlrSlEOP28F7BU3qVChPqOnxRCnMc_iHRwqLT0QfXvg3lJCurKiohvAlsGwgPsxx9fBx6ZBpwscpnMHZw97xhHCsCzlceUE241k0uHJh-sKZF3qwBxsv9HgudFqOpsdRHSJzBk8RkjkuHn0DH9_w5vjFwO4RrjnasSm0pI1xNNOO_grKGw-VGP2HHs2FvkOTS_ihp03wMULPBj5j5AfMJTJ84joz_PCmE9bToMeNHtTTJAjJFm_WQYcj2UHODCf6467RcMnxo_yEHMyJl8UDreORg3uUSGiS0sFBPfhE0LoShBkJ7Qp-PNSDH5cYDj4LXTAjMziD6ktg9QqYJ4faa_iPLwszNMcdRvgdWIUmKsefoRVjpH_g41osnPjxrIIz5UK_oRGSJ1EzhLk1fB-uwdnC4WTxRwjjFxoZXfieTOhCGs2PV1EK_arQLguDNOJRG3kyJviLnoKWPUKeF1eGagteOHrQH0fj5giXjNKgB_cCJ3o65GeQO4M3rXhu6FOC_oQTHhVbZXiHZhmPksEfNE4uoXYenIoig1HyoCEfPDnOL3gFjbiOJtE3QdWpwM_Aj3hiB80eDTj3oXwcnGg5NMcrMXhy9DKY6CK4LXOg52jWlfhKIZeYoI2k4PCXKErwXAuanEVoMdBzJXi2Bc1j3M2Glg--a0KP5sdb4XxwKVkRhje-Fz_8rIHnC29S8DbS53BcBhqvCN8HLWNG1C_-QE9O4fQUOHOMH6UkoXlY_Am-HNoYI0xEhhnO6Ch7OI4Cyg-6HGE4EVKeo2G8DSH94E-ERuURUspxsYKWiSzxwfmGijqOM-yghQ_RFz_uJRmuzEH7gclxZYYeg9-R80Uzb5PQEweVJgtuPIm3SMjKcNBkwtMplHkTMM-hxRJ-VWjfwFEdCScPTXSF5-gRZmeQxw_KJfqgJdaD34nxR4G348GVSTt-oqmHrgr-DHmy5InR54J__B9C5rGgM8Obo1GesKiONmKIZsxRyobuHH3yCWFHwl-Da20Q7VnxUBeUP4QVTkEeVA-DB08upCMDnRpy4skyVM6yEUx2EQcThkOpPcgH7RIccQkYJcwjnAnQH0zmQ8-d4IceNPmD7pmCE14WHK8iaN_hH312PEeY7EbfCuU15MrgtCweRcMnNoGPUloyPA8a10NxrcXnCHmORhfaKMuQaw4eQcuD4gsZ4dyYoHnQh_iV4WsatMsOH1We4EKfoDmLOw30SHiOaltSNJq1BF_RnEGfzOgn6Dqob6i8hMEjHUKWkKuEEw96_B8asWHQo9mM6RdCPg2s9XicHOVjjDaDJ_Ae4UrWQKcehEH5cHhwJdkEJ1OD_MLVUYKuB08kEmEjbvAf3DG2PTh5eFIehN_xo40z4c4cNFR07EFEKtMShKkWQxF_PDFO48sT3Ie_BMdfBY_R_WhO4UyOTsvhUGxwRg_E41QClnnQh9nwiygPJs-OHy87nOh2wR8OT4429MmOHj4D9SiXNnhGoWEcaF-ML1eEJnTRZc1RnbhSLdAp-AvaGMOTK4GmRQ-sJwjlbFGE5zDjHF8SWagfBVNQWQphzQ5iJcmFM2Kgz_BnhFRKTTg__MKTFa5w9cinsPgsaOGNHCcNW4uFazn-4Dn8I3m04S0l5NpWVM6FnoKdLEFaXdDqIbSzwXEidFKOH0efkIJHHXUR7rgZopTyCMcFkVyOJ_i1oOsSfE5QmSkO_Wisow-q52jUHG-WNERaGz-eo4_RhKKF3H3Q54OW7CKOxhxaLsEt5OeCSj1hPaj2DOeDPkcY6Dc-xngOM67w4GiYHQ--CT1z4ckTNFspoQxc48fTBM1kFvoyPHBSGtWTAD96yYFOfEf6BowXNai2o3lGgbH2wLqR7dCLsMsu_OiPZg_4iIgnPdCWk_BGHX-CC292jDv-B2c6xC_xJcZHbWgiGc-Cfwi5PBGeQnyHalWwJw_eXWiCp4HWN7gTfGj2LAv6Bd3RbFqIt8PzDeGs5PDO4ZoMj0UlKTvyKygtQwwVouuOH9_W4If5QO8jHHkiDdclNPqLHM5RNjK0yg4cXT3CH3-GVw9yXfCY42OhO2Hx5ELlo8mOZzF6HQ1fQQ8r9HCOS3mG__iFhsc19OkgjjWONxeu4-tg7ij1Df1U2DWejQifaQhpNMTFLIW-B50VCbksOCJLtFwm5M2DG-ITBflxMVGO6jusrAZ7wnFm8GGMXgg_Qe-OdAuD6ouC7wBiAXRECAKwIEghBgAw1iApARBAAYOEUBYABogwAgFhAEAGEkCIQogIAIRAQCEgjRBGOgYIEoIIAwgwRCjAKHACACgdAAwSgZQgzAgBhAACEOAAAAYAqpQCxBBNGPEECEQUEZIooAwjlAAVjBCGCgUIQQAAooAT1jiEjDCAQsYsA0wpIpgXoDFACAHIAEAZUQQU4gEDgEFDhDAMGKYcAAYACYAByAFuCQFEEdGAEEgjpYRRGAgKAGRUICIEIKAYIAwhmAIgoAECGOUIAEoQK4ARjBoGkGCKkEVAgUAjRwwggDhCECdIAESIAAYgYIQBhDhFoWEGGSAUJEghAAASAAighBGOAGMdAeYgBIQxBEgCjBVIAQGcUIAA64AAyBABCLDQKCIEIsQ5AIhBQAFACBEKIAYIEIIZQBARRhkFKECACAIYccAAgpwAQhAkjENGEWYEAYgBBIUgxDEqBFCAGCEAI4IQAIAgwACCAECEAAGEIMABAAASAggACAFACMCUEQtAEAQkXglMAALAESsAIWQSpIAAwgHgnBOIEeEQIAYEQ4BggBDgQADIMgAAcEgIoDgFAQBJgCAGACUMEAIcIQAxShAgGCBAIAKAIwIwIwgQFBBHhCICEYCQAAYIIYgDBiEQgAWQCQOMQEAoQAQjhhBDFAHEKGYIYMAQYIxhBCAIAFHIGAWCIICACjwwzgxArBEIMMKIAgAQ4akAwjBCBADCMEDN8UQIBhyhAhRHhHBEKQAQQoAYgoQiQjACBmIGAAaYYAwQhggRgAJgCCRGKCEMIcgAThwRQjAEGBDSAiGYIIAYQQ1RhgAGFEDACgKAYUaAAYQADhkgmAJGGCEQEM4AQIiQAhAjFA
Cover Art                       : (Binary data 280131 bytes, use -b option to extract)
Lyrics                          : Tekst piosenki:..I must admit.I can't explain.All these thoughts racing.Through my brain..It's true.Baby I'm howlin' for you..There's something wrong.With this plot.The actors here.Have not got..A clue.Baby I'm howlin' for you..Mockingbird.Can't you see.The little girl's.Got a hold on me..Like glue.Baby I'm howlin' for you..Throw the ball.To the stick.Swing and miss.In the catcher's mitt..Strike two.Baby I'm howlin' for you..Historia edycji tekstu
Comment                         : 
Sort Composer                   : 
Grouping                        : 
Album Artist                    : The Black Keys
Sort Album Artist               : Black Keys, The
Sort Artist                     : Black Keys, The feat. Thomas, Prins
Media Data Size                 : 14484479
Media Data Offset               : 881170
Avg Bitrate                     : 259 kbps

For this song, I would like Koel to create only one album for the artist "The Black Keys" (using the meta albumartist), but also create the artist "The Black Keys feat. Prins Thomas" (using the meta artist) and see the album and song in which appeared in.

Maybe the Koel model should allow referencing multiple artists (meta artist and albumartist). I don't know the scope of those changes.

I would like to hear what the development team thinks of this, I would be happy to help.

<!-- gh-comment-id:924854215 --> @masterT commented on GitHub (Sep 22, 2021): I use [beets](https://github.com/beetbox/beets) to manage my music library and fix metadata. Here is an example of a song's metadata (using `exiftool`): ``` ExifTool Version Number : 12.00 File Name : 16 - Howlin’ for You.m4a Directory : /Users/simon/Downloads File Size : 15 MB File Modification Date/Time : 2021:09:22 05:48:04-04:00 File Access Date/Time : 2021:09:22 05:48:04-04:00 File Inode Change Date/Time : 2021:09:22 05:48:05-04:00 File Permissions : rw-r--r-- File Type : M4A File Type Extension : m4a MIME Type : audio/mp4 Major Brand : Apple iTunes AAC-LC (.M4A) Audio Minor Version : 0.0.0 Compatible Brands : M4A , mp42, isom Movie Header Version : 0 Create Date : 2029:05:27 04:00:12 Modify Date : 2014:11:22 17:30:16 Time Scale : 44100 Duration : 0:07:28 Preferred Rate : 1 Preferred Volume : 100.00% Preview Time : 0 s Preview Duration : 0 s Poster Time : 0 s Selection Time : 0 s Selection Duration : 0 s Current Time : 0 s Next Track ID : 2 Track Header Version : 0 Track Create Date : 2029:05:27 04:00:12 Track Modify Date : 2014:11:22 17:30:16 Track ID : 1 Track Duration : 0:07:28 Track Layer : 0 Track Volume : 100.00% Matrix Structure : 1 0 0 0 1 0 0 0 1 Media Header Version : 0 Media Create Date : 2029:05:27 04:00:12 Media Modify Date : 2014:11:22 17:30:16 Media Time Scale : 44100 Media Duration : 0:07:28 Balance : 0 Audio Format : mp4a Audio Channels : 2 Audio Bits Per Sample : 16 Audio Sample Rate : 44100 Original Format : mp4a Scheme Type : itun Scheme Version : 0 Scheme URL : User ID : 0x3ef1f36c Certificate : 0x00000001 Item Vendor ID : 0x00000002 Platform : 0x00000000 Version Restrictions : 0x01010100 Transaction ID : 0xd096bed4 Item ID : 0x161c8a5a Item Tool : P505 Media Flags : 0x00000001 Mode Flags : 0x00000080 User Name : Simon Thiboutot Handler Type : Metadata Handler Vendor ID : Apple Title : Howlin’ for You Artist : The Black Keys feat. Prins Thomas Composer : Album : Brothers Genre : Garage Rock Track Number : 16 of 16 Disk Number : 1 of 1 Content Create Date : 2010:05:18 Compilation : No Beats Per Minute : 0 Encoder : Arranger : ASIN : CATALOGNUMBER : DISCSUBTITLE : ISRC : LYRICIST : MusicBrainz Work Id : MusicBrainz Album Release Country: US LANGUAGE : eng SCRIPT : Latn MusicBrainz Album Type : album replaygain track gain : -4.93 dB replaygain track peak : 0.961090 LABEL : Nonesuch publisher : Nonesuch MusicBrainz Album Status : Official ORIGINAL YEAR : 2010-05-14 MEDIA : Digital Media Album Artist Credit : The Black Keys MusicBrainz Album Comment : iTunes Deluxe Version MusicBrainz Release Group Id : 2a2b851c-bba6-4584-80c0-19af4a55e286 MusicBrainz Release Track Id : 5233fdaa-c810-4596-841d-532abb8ad07f MusicBrainz Album Id : 6ba8fde9-a0b9-4b93-a626-f2c2f5d698ae Acoustid Id : b6793d4a-1881-4e0c-9695-276d02f9247e MusicBrainz Album Artist Id : d15721d8-56b4-453d-b506-fc915b14cba2 MusicBrainz Artist Id : d15721d8-56b4-453d-b506-fc915b14cba2 MusicBrainz Track Id : f54d98f6-b965-4e81-845a-16d410081993 Artist Credit : The Black Keys feat. Prins Thomas Diskomiks Volume Normalization : C28 C28 1E63 1E63 0 0 7B04 7B04 0 0 Acoustid Fingerprint : AQADtEmUZOmSKRJOBj2u41GKJg-J_rh4XAouXvADfYuGH310-DmuDU5vtPhWQm_Q1MaPO8PLMBGOPFGG5jT-odfhOMfR5cdTBnlPeMc_Qc-OniKsTwi1H3k-tMvQXMOfGNov_DiVDTe09_iWPWjao1UNnUG75BG8T0jTCz4ToWQi5I1wH5ocvJoF5x7yIsyO6xJ6qfBlqKJ0vAyDUMsesFJ89EKzNST-45mJbhS-xvg-4c5wbQrSQ6Ma_BWua7iqpMnQXOjx7NCfgOcQfoFz4Q_6HF_xOEX5EakYHTozw2mzoe3Ro3mWCPo9fHyCoz_h6RvEHy2X41Zg5sGhL0Wo6BU-VoLzGcwXPCqeB2HWhVAf5OjCPPiG8kKYvMMzOniCSuvR7GGCj-gH8UffBFl5PCgPP0HuTBnUpMtxVHqMr0af6BD7CT_6TDg_9FGFZqNiHHLEEx93_EJ_gfo8PEIpqvgOPQ7qBr4Qj9VgN7B-fEgfGoduWFrI4MepQOTRZ3g8Idwp-BX6o0eOszF0OKPBRxT4os-DMxc0jil-FZeQX5Fx_MiT44L345DK8DiN9hceFlrSlEOP28F7BU3qVChPqOnxRCnMc_iHRwqLT0QfXvg3lJCurKiohvAlsGwgPsxx9fBx6ZBpwscpnMHZw97xhHCsCzlceUE241k0uHJh-sKZF3qwBxsv9HgudFqOpsdRHSJzBk8RkjkuHn0DH9_w5vjFwO4RrjnasSm0pI1xNNOO_grKGw-VGP2HHs2FvkOTS_ihp03wMULPBj5j5AfMJTJ84joz_PCmE9bToMeNHtTTJAjJFm_WQYcj2UHODCf6467RcMnxo_yEHMyJl8UDreORg3uUSGiS0sFBPfhE0LoShBkJ7Qp-PNSDH5cYDj4LXTAjMziD6ktg9QqYJ4faa_iPLwszNMcdRvgdWIUmKsefoRVjpH_g41osnPjxrIIz5UK_oRGSJ1EzhLk1fB-uwdnC4WTxRwjjFxoZXfieTOhCGs2PV1EK_arQLguDNOJRG3kyJviLnoKWPUKeF1eGagteOHrQH0fj5giXjNKgB_cCJ3o65GeQO4M3rXhu6FOC_oQTHhVbZXiHZhmPksEfNE4uoXYenIoig1HyoCEfPDnOL3gFjbiOJtE3QdWpwM_Aj3hiB80eDTj3oXwcnGg5NMcrMXhy9DKY6CK4LXOg52jWlfhKIZeYoI2k4PCXKErwXAuanEVoMdBzJXi2Bc1j3M2Glg--a0KP5sdb4XxwKVkRhje-Fz_8rIHnC29S8DbS53BcBhqvCN8HLWNG1C_-QE9O4fQUOHOMH6UkoXlY_Am-HNoYI0xEhhnO6Ch7OI4Cyg-6HGE4EVKeo2G8DSH94E-ERuURUspxsYKWiSzxwfmGijqOM-yghQ_RFz_uJRmuzEH7gclxZYYeg9-R80Uzb5PQEweVJgtuPIm3SMjKcNBkwtMplHkTMM-hxRJ-VWjfwFEdCScPTXSF5-gRZmeQxw_KJfqgJdaD34nxR4G348GVSTt-oqmHrgr-DHmy5InR54J__B9C5rGgM8Obo1GesKiONmKIZsxRyobuHH3yCWFHwl-Da20Q7VnxUBeUP4QVTkEeVA-DB08upCMDnRpy4skyVM6yEUx2EQcThkOpPcgH7RIccQkYJcwjnAnQH0zmQ8-d4IceNPmD7pmCE14WHK8iaN_hH312PEeY7EbfCuU15MrgtCweRcMnNoGPUloyPA8a10NxrcXnCHmORhfaKMuQaw4eQcuD4gsZ4dyYoHnQh_iV4WsatMsOH1We4EKfoDmLOw30SHiOaltSNJq1BF_RnEGfzOgn6Dqob6i8hMEjHUKWkKuEEw96_B8asWHQo9mM6RdCPg2s9XicHOVjjDaDJ_Ae4UrWQKcehEH5cHhwJdkEJ1OD_MLVUYKuB08kEmEjbvAf3DG2PTh5eFIehN_xo40z4c4cNFR07EFEKtMShKkWQxF_PDFO48sT3Ie_BMdfBY_R_WhO4UyOTsvhUGxwRg_E41QClnnQh9nwiygPJs-OHy87nOh2wR8OT4429MmOHj4D9SiXNnhGoWEcaF-ML1eEJnTRZc1RnbhSLdAp-AvaGMOTK4GmRQ-sJwjlbFGE5zDjHF8SWagfBVNQWQphzQ5iJcmFM2Kgz_BnhFRKTTg__MKTFa5w9cinsPgsaOGNHCcNW4uFazn-4Dn8I3m04S0l5NpWVM6FnoKdLEFaXdDqIbSzwXEidFKOH0efkIJHHXUR7rgZopTyCMcFkVyOJ_i1oOsSfE5QmSkO_Wisow-q52jUHG-WNERaGz-eo4_RhKKF3H3Q54OW7CKOxhxaLsEt5OeCSj1hPaj2DOeDPkcY6Dc-xngOM67w4GiYHQ--CT1z4ckTNFspoQxc48fTBM1kFvoyPHBSGtWTAD96yYFOfEf6BowXNai2o3lGgbH2wLqR7dCLsMsu_OiPZg_4iIgnPdCWk_BGHX-CC292jDv-B2c6xC_xJcZHbWgiGc-Cfwi5PBGeQnyHalWwJw_eXWiCp4HWN7gTfGj2LAv6Bd3RbFqIt8PzDeGs5PDO4ZoMj0UlKTvyKygtQwwVouuOH9_W4If5QO8jHHkiDdclNPqLHM5RNjK0yg4cXT3CH3-GVw9yXfCY42OhO2Hx5ELlo8mOZzF6HQ1fQQ8r9HCOS3mG__iFhsc19OkgjjWONxeu4-tg7ij1Df1U2DWejQifaQhpNMTFLIW-B50VCbksOCJLtFwm5M2DG-ITBflxMVGO6jusrAZ7wnFm8GGMXgg_Qe-OdAuD6ouC7wBiAXRECAKwIEghBgAw1iApARBAAYOEUBYABogwAgFhAEAGEkCIQogIAIRAQCEgjRBGOgYIEoIIAwgwRCjAKHACACgdAAwSgZQgzAgBhAACEOAAAAYAqpQCxBBNGPEECEQUEZIooAwjlAAVjBCGCgUIQQAAooAT1jiEjDCAQsYsA0wpIpgXoDFACAHIAEAZUQQU4gEDgEFDhDAMGKYcAAYACYAByAFuCQFEEdGAEEgjpYRRGAgKAGRUICIEIKAYIAwhmAIgoAECGOUIAEoQK4ARjBoGkGCKkEVAgUAjRwwggDhCECdIAESIAAYgYIQBhDhFoWEGGSAUJEghAAASAAighBGOAGMdAeYgBIQxBEgCjBVIAQGcUIAA64AAyBABCLDQKCIEIsQ5AIhBQAFACBEKIAYIEIIZQBARRhkFKECACAIYccAAgpwAQhAkjENGEWYEAYgBBIUgxDEqBFCAGCEAI4IQAIAgwACCAECEAAGEIMABAAASAggACAFACMCUEQtAEAQkXglMAALAESsAIWQSpIAAwgHgnBOIEeEQIAYEQ4BggBDgQADIMgAAcEgIoDgFAQBJgCAGACUMEAIcIQAxShAgGCBAIAKAIwIwIwgQFBBHhCICEYCQAAYIIYgDBiEQgAWQCQOMQEAoQAQjhhBDFAHEKGYIYMAQYIxhBCAIAFHIGAWCIICACjwwzgxArBEIMMKIAgAQ4akAwjBCBADCMEDN8UQIBhyhAhRHhHBEKQAQQoAYgoQiQjACBmIGAAaYYAwQhggRgAJgCCRGKCEMIcgAThwRQjAEGBDSAiGYIIAYQQ1RhgAGFEDACgKAYUaAAYQADhkgmAJGGCEQEM4AQIiQAhAjFA Cover Art : (Binary data 280131 bytes, use -b option to extract) Lyrics : Tekst piosenki:..I must admit.I can't explain.All these thoughts racing.Through my brain..It's true.Baby I'm howlin' for you..There's something wrong.With this plot.The actors here.Have not got..A clue.Baby I'm howlin' for you..Mockingbird.Can't you see.The little girl's.Got a hold on me..Like glue.Baby I'm howlin' for you..Throw the ball.To the stick.Swing and miss.In the catcher's mitt..Strike two.Baby I'm howlin' for you..Historia edycji tekstu Comment : Sort Composer : Grouping : Album Artist : The Black Keys Sort Album Artist : Black Keys, The Sort Artist : Black Keys, The feat. Thomas, Prins Media Data Size : 14484479 Media Data Offset : 881170 Avg Bitrate : 259 kbps ``` For this song, I would like Koel to create only one album for the artist "The Black Keys" (using the meta `albumartist`), but also create the artist "The Black Keys feat. Prins Thomas" (using the meta `artist`) and see the album and song in which appeared in. Maybe the Koel model should allow referencing multiple artists (meta `artist` and `albumartist`). I don't know the scope of those changes. I would like to hear what the development team thinks of this, I would be happy to help.
Author
Owner

@tomdoo commented on GitHub (Nov 1, 2021):

Hi
+1 🙂

<!-- gh-comment-id:956238174 --> @tomdoo commented on GitHub (Nov 1, 2021): Hi +1 🙂
Author
Owner

@YamashitaRen commented on GitHub (Dec 25, 2021):

There has been a lot of talk about it but unfortunately, the dev does not seem to care much about the issue...
https://github.com/koel/koel/issues/980

<!-- gh-comment-id:1001000628 --> @YamashitaRen commented on GitHub (Dec 25, 2021): There has been a lot of talk about it but unfortunately, the dev does not seem to care much about the issue... https://github.com/koel/koel/issues/980
Author
Owner

@Archpanda commented on GitHub (Jan 29, 2022):

I proposed a simple PR, please review it and tell me if I'm totally wrong :p

<!-- gh-comment-id:1024863653 --> @Archpanda commented on GitHub (Jan 29, 2022): I proposed a simple PR, please review it and tell me if I'm totally wrong :p
Author
Owner

@warpdesign commented on GitHub (Feb 7, 2022):

Thanks for your PR @Archpanda
I tried to fetch it and then ran php artisan koel:sync but it did not fix the problems I had with compilations/various artists that are mentionned in this issue: should I reimport all my songs?

<!-- gh-comment-id:1031367695 --> @warpdesign commented on GitHub (Feb 7, 2022): Thanks for your PR @Archpanda I tried to fetch it and then ran `php artisan koel:sync` but it did not fix the problems I had with compilations/various artists that are mentionned in this issue: should I reimport all my songs?
Author
Owner

@Archpanda commented on GitHub (Feb 7, 2022):

Hi, thanks for your feedback, it's not cool if my PR doesn't work. I'll check again.

7 févr. 2022 12:34:07 Nicolas Ramz @.***>:

Thanks for your PR @Archpanda[https://github.com/Archpanda]
I tried to fetch it and then ran php artisan koel:sync but it did not fix the problems I had with compilations/various artists that are mentionned in this issue: should I reimport all my songs?


Reply to this email directly, view it on GitHub[https://github.com/koel/koel/issues/1333#issuecomment-1031367695], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AFS4LU56JWWQLG4OBDBJRV3UZ6U23ANCNFSM5ACKCLWA].
Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub].
You are receiving this because you were mentioned. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAAA/CAYAAABXXxDfAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAmSURBVGiB7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAJwY+QwABivJx1AAAAABJRU5ErkJggg==###24x24:true###][Image de pistage][https://github.com/notifications/beacon/AFS4LUYPADGMEDFJOHD2P2TUZ6U23A5CNFSM5ACKCLWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHV4WYDY.gif]

<!-- gh-comment-id:1031574663 --> @Archpanda commented on GitHub (Feb 7, 2022): Hi, thanks for your feedback, it's not cool if my PR doesn't work. I'll check again. 7 févr. 2022 12:34:07 Nicolas Ramz ***@***.***>: > Thanks for your PR @Archpanda[https://github.com/Archpanda] > I tried to fetch it and then ran *php artisan koel:sync* but it did not fix the problems I had with compilations/various artists that are mentionned in this issue: should I reimport all my songs? > > — > Reply to this email directly, view it on GitHub[https://github.com/koel/koel/issues/1333#issuecomment-1031367695], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AFS4LU56JWWQLG4OBDBJRV3UZ6U23ANCNFSM5ACKCLWA]. > Triage notifications on the go with GitHub Mobile for iOS[https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675] or Android[https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub]. > You are receiving this because you were mentioned. [data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAAA/CAYAAABXXxDfAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAmSURBVGiB7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAJwY+QwABivJx1AAAAABJRU5ErkJggg==###24x24:true###][Image de pistage][https://github.com/notifications/beacon/AFS4LUYPADGMEDFJOHD2P2TUZ6U23A5CNFSM5ACKCLWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHV4WYDY.gif] >
Author
Owner

@warpdesign commented on GitHub (Feb 7, 2022):

Note that I had to rename albumartist to album_artist since this is what the tag is named in my collection:

array_get($request->tags, 'albumartist'),

=>

array_get($request->tags, 'album_artist'),

Maybe there was some other change involved? My PHP knowledge is rusty to say the least :)

<!-- gh-comment-id:1031606466 --> @warpdesign commented on GitHub (Feb 7, 2022): Note that I had to rename `albumartist` to `album_artist` since this is what the tag is named in my collection: > array_get($request->tags, 'albumartist'), => > array_get($request->tags, 'album_artist'), Maybe there was some other change involved? My PHP knowledge is rusty to say the least :)
Author
Owner

@warpdesign commented on GitHub (Feb 9, 2022):

Actually this is normal after looking at the sync code: the tags are not parsed again if the file hasn't been modified. You have to use the --force option so that the mp3 tags are parsed again.

After using php artisan koel:sync --force tags are updated, but then I got a crash:

[2022-02-09 10:20:35] production.ERROR: Trying to get property 'id' of non-object {"exception":"[object] (ErrorException(code: 0): Trying to get property 'id' of non-object at /var/www/koel/app/Models/Album.php:66)
[stacktrace]
#0 /var/www/koel/app/Models/Album.php(66): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 /var/www/koel/app/Services/FileSynchronizer.php(181): App\\Models\\Album::getOrCreate()
#2 /var/www/koel/app/Services/MediaSyncService.php(95): App\\Services\\FileSynchronizer->sync()
#3 /var/www/koel/app/Console/Commands/SyncCommand.php(60): App\\Services\\MediaSyncService->sync()
#4 /var/www/koel/app/Console/Commands/SyncCommand.php(40): App\\Console\\Commands\\SyncCommand->syncAll()
#5 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Console\\Commands\\SyncCommand->handle()
#6 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#7 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
#8 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod()
#9 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/Container.php(653): Illuminate\\Container\\BoundMethod::call()
#10 /var/www/koel/vendor/laravel/framework/src/Illuminate/Console/Command.php(136): Illuminate\\Container\\Container->call()
#11 /var/www/koel/vendor/symfony/console/Command/Command.php(298): Illuminate\\Console\\Command->execute()
#12 /var/www/koel/vendor/laravel/framework/src/Illuminate/Console/Command.php(121): Symfony\\Component\\Console\\Command\\Command->run()
#13 /var/www/koel/vendor/symfony/console/Application.php(1005): Illuminate\\Console\\Command->run()
#14 /var/www/koel/vendor/symfony/console/Application.php(299): Symfony\\Component\\Console\\Application->doRunCommand()
#15 /var/www/koel/vendor/symfony/console/Application.php(171): Symfony\\Component\\Console\\Application->doRun()
#16 /var/www/koel/vendor/laravel/framework/src/Illuminate/Console/Application.php(94): Symfony\\Component\\Console\\Application->run()
#17 /var/www/koel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run()
#18 /var/www/koel/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
#19 {main}
"}
<!-- gh-comment-id:1033639421 --> @warpdesign commented on GitHub (Feb 9, 2022): Actually this is normal after looking at the sync code: the tags are not parsed again if the file hasn't been modified. You have to use the `--force` option so that the mp3 tags are parsed again. After using `php artisan koel:sync --force` tags are updated, but then I got a crash: ``` [2022-02-09 10:20:35] production.ERROR: Trying to get property 'id' of non-object {"exception":"[object] (ErrorException(code: 0): Trying to get property 'id' of non-object at /var/www/koel/app/Models/Album.php:66) [stacktrace] #0 /var/www/koel/app/Models/Album.php(66): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError() #1 /var/www/koel/app/Services/FileSynchronizer.php(181): App\\Models\\Album::getOrCreate() #2 /var/www/koel/app/Services/MediaSyncService.php(95): App\\Services\\FileSynchronizer->sync() #3 /var/www/koel/app/Console/Commands/SyncCommand.php(60): App\\Services\\MediaSyncService->sync() #4 /var/www/koel/app/Console/Commands/SyncCommand.php(40): App\\Console\\Commands\\SyncCommand->syncAll() #5 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Console\\Commands\\SyncCommand->handle() #6 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}() #7 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure() #8 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod() #9 /var/www/koel/vendor/laravel/framework/src/Illuminate/Container/Container.php(653): Illuminate\\Container\\BoundMethod::call() #10 /var/www/koel/vendor/laravel/framework/src/Illuminate/Console/Command.php(136): Illuminate\\Container\\Container->call() #11 /var/www/koel/vendor/symfony/console/Command/Command.php(298): Illuminate\\Console\\Command->execute() #12 /var/www/koel/vendor/laravel/framework/src/Illuminate/Console/Command.php(121): Symfony\\Component\\Console\\Command\\Command->run() #13 /var/www/koel/vendor/symfony/console/Application.php(1005): Illuminate\\Console\\Command->run() #14 /var/www/koel/vendor/symfony/console/Application.php(299): Symfony\\Component\\Console\\Application->doRunCommand() #15 /var/www/koel/vendor/symfony/console/Application.php(171): Symfony\\Component\\Console\\Application->doRun() #16 /var/www/koel/vendor/laravel/framework/src/Illuminate/Console/Application.php(94): Symfony\\Component\\Console\\Application->run() #17 /var/www/koel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run() #18 /var/www/koel/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle() #19 {main} "} ```
Author
Owner

@warpdesign commented on GitHub (Feb 9, 2022):

It crashes because $artist is not an object:

    public static function getOrCreate(Artist $artist, ?string $name = null, ?string $albumartist = null): self
    {
        // If this is a compilation album, its artist must be "Various Artists"
        if ((bool) trim($albumartist)) {
            $artist = $albumartist;
        }

        return static::firstOrCreate([
            'artist_id' => $artist->id,
            'name' => trim($name) ?: self::UNKNOWN_NAME,
        ]);
<!-- gh-comment-id:1033642214 --> @warpdesign commented on GitHub (Feb 9, 2022): It crashes because $artist is not an object: ```php public static function getOrCreate(Artist $artist, ?string $name = null, ?string $albumartist = null): self { // If this is a compilation album, its artist must be "Various Artists" if ((bool) trim($albumartist)) { $artist = $albumartist; } return static::firstOrCreate([ 'artist_id' => $artist->id, 'name' => trim($name) ?: self::UNKNOWN_NAME, ]); ```
Author
Owner

@phanan commented on GitHub (Jun 26, 2022):

Replaced by #1461.

<!-- gh-comment-id:1166574778 --> @phanan commented on GitHub (Jun 26, 2022): Replaced by #1461.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#767
No description provided.