You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Basically it contains a suggestion adding "Tags" to existing items in the database to improve filters and usability. It's basically the same idea for navidrome, except that it would make a perfect fit for smart playlists.
So here is what I would use Tags for:
Tag single media files to have a filter option based on an autocomplete box with suggestions of already known tags
Allow multi-word tags with spaces (My first day in the wild)
Providing Search/Lookup to either HAVE or NOT HAVE specific filters (e.g. Peter, -Garbage, -Vacation)
Adding tags automatically based on folder structure while importing / adding external media files (e.g. music/album/Peter Gabriel/Best of/The book of love.mp3 would have the tags music, album, Peter Gabriel, Best of, The book of love)
Obviously it would make sense to exclude tags from paths, because they are already given in artist, album and name
Add a setting global default filters, where I could use Tags as a global default filter for hiding content (e.g. Audiobook or Podcast)
Ability to add an Icon to each Tag besides having a setting quick action tags to show extra buttons besides Favorite to either ADD (🗑️) or REMOVE (..🗑️..) the Tag, depending on its current state
Important: I would NOT add tags based on the audio metadata (artist, album, etc.), because these values already exist in the database. Adding things that DON'T exist (like folder structure as separate values or iTunesMediaType is better in my opinion)
Workflow example:
Add a Tag wife with the 👩👧 icon
Add a quick action for wife to have a 👩👧 button
Clicking on the 👩👧 button for every media that she likes
Create a smart playlist My wifes favorites where {"tags": {"contains": "wife"}}
Implementation details
add / modify a data structure Tags
reference Tags to Audiofiles via m:n
add properties
id [int / guid] - tag id
value - [string,255], tag value (e.g. wife)
icon - [string,255] - icon, I would use a short name for icons that are already available, e.g. trashcan or something - filled or striked for remove, outlined or solid for add
flags - [int] - to contain multiple flags / bit fields to be further extendable (e.g. usertag=1,quickaction=1,smarttag=1 => 0000 0000 0000 0000 0000 0000 0000 0111 - values could be UserTag = 1 << 0,QuickAction = 1 << 1, SmartTag = 1 << 2
Would be a lot of work, but I think this could be an awesome feature.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I recently discussed a feature called smart tags for immich (my favorite self hosted photo backup solution).
Basically it contains a suggestion adding "Tags" to existing items in the database to improve filters and usability. It's basically the same idea for navidrome, except that it would make a perfect fit for smart playlists.
So here is what I would use Tags for:
My first day in the wild
)Peter
,-Garbage
,-Vacation
)music/album/Peter Gabriel/Best of/The book of love.mp3
would have the tagsmusic
,album
,Peter Gabriel
,Best of
,The book of love
)artist
,album
andname
global default filters
, where I could use Tags as a global default filter for hiding content (e.g.Audiobook
orPodcast
)quick action tags
to show extra buttons besidesFavorite
to either ADD (🗑️) or REMOVE (..🗑️..) the Tag, depending on its current stateImportant: I would NOT add tags based on the audio metadata (
artist
,album
, etc.), because these values already exist in the database. Adding things that DON'T exist (like folder structure as separate values or iTunesMediaType is better in my opinion)Workflow example:
wife
with the👩👧
iconwife
to have a👩👧
button👩👧
button for every media that she likesMy wifes favorites
where{"tags": {"contains": "wife"}}
Implementation details
Tags
m:n
id
[int / guid] - tag idvalue
- [string,255], tag value (e.g.wife
)icon
- [string,255] - icon, I would use a short name for icons that are already available, e.g.trashcan
or something - filled or striked for remove, outlined or solid for addflags
- [int] - to contain multiple flags / bit fields to be further extendable (e.g.usertag=1,quickaction=1,smarttag=1
=>0000 0000 0000 0000 0000 0000 0000 0111
- values could beUserTag = 1 << 0
,QuickAction = 1 << 1
,SmartTag = 1 << 2
Would be a lot of work, but I think this could be an awesome feature.
Beta Was this translation helpful? Give feedback.
All reactions