stashapp / CommunityScripts

This is a public repository containing plugin and utility scripts created by the Stash Community.
https://docs.stashapp.cc/add-ons/
GNU Affero General Public License v3.0
182 stars 143 forks source link

Inherited Tags #410

Open GernBlanston12 opened 5 years ago

GernBlanston12 commented 5 years ago

Essentially, the ability to tag a Performer, Studio, etc. and have whatever tag is associated to them be auto-tagged to every subsequent video that Performer or Studio is tagged to. Example: I tag "2 Chicks Same Time" (a website/studio) with generic tag "threesome", because every video from them is a threesome. Thus, every time I tag a video with that website, it also gets the threesome tag. This, along with filename-based auto-tagging, is a must-have for those with larger collections that deal often with material from themed websites and movie releases.

echo6ix commented 5 years ago

This would be cool. You're basically describing how Pornganizer auto-assigns tags to a scene via preexisting metadata. I requested this for the Ruby version and IIRC the dev was on board with implementing it.

GernBlanston12 commented 5 years ago

Well, yes and no: The inherited tags feature would work nicely in tune with the filename-based tagging, but I thought of them as separate ideas. Inherited tags means anything I tag with "My Family Pies" gets "pseudocest" tag automatically. Filename-based means a file name with "My Family Pies" in it, gets studio tag "My Family Pies". But, perhaps they could be handled in the same function? I don't know, I just thought they were separate things.

echo6ix commented 5 years ago

Okay, I think I understand you: if a performer or studio is tagged with the values "red; yellow; green" and a scene is associated with said performer or studio, then the scene inherits the tags "red; yellow; green". Also when filename-based tagging is implemented, if the automatic tagging matches any studio or performer with the database, your suggestion is to have the scene automatically inherit the tags associated with the studio or performer.

If I understand you correctly this seems like a good suggestion.

Tag improvements are on the medium term roadmap, and iirc something like this was discussed, including tag aliases for tag values that lexically mean the same thing but use different words words, eg: main tag = "car", tag aliases = "vehicle, automobile, auto".

GernBlanston12 commented 5 years ago

You got it! That was a perfect description of what I was trying to get across. An example of this in practice would be, I tag amateur models in videos. Now, if I go through the trouble of naming the amateur actress or cam girl as a Performer in the database, I certainly don't want to go to every video she's tagged in as a performer and manually tag it "amateur". I'd rather just tag the Performer entry itself "amateur", and thus have Stash auto-magically know that every video with that Performer tag also gets "amateur" tag. In PG you can tag Actresses, Websites, and DVDs this way. Combined with filename-based auto-tagging, the two features plus my file naming convention mean the vast majority of my many tens of thousands of tags to videos are done automatically, without me lifting a finger. I have 12k vids, and I simply cannot use Stash until something approximating those features is there. I'm middle-aged: I don't think there's time left in my life like that!

bnkai commented 1 year ago

The original issue can now be resolved by an on update plugin?

WithoutPants commented 7 months ago

I don't intend on adding this to the core functionality. This should be possible using plugins.

miltuss commented 6 days ago

It would be very practical if performers could inherit certain particular tags assigned to their media files. A tag inheritance system would be effective for better organization of performers and studios.

It's up to StashCore to do this, as legacy should disappear from performers and studios if it's also removed from the latter's media, it should be persistent to prevent the user from removing the tag if the performer's media or studio bear this heritage tag. the inheritance of certain specific tags could allow Three different phases:

  1. An inheritance of a tag from a media to the performer/Studio
  2. A legacy of a tag from the performer/Studio to the media
  3. Or a two-way inheritance

This should only be enabled for specific tags, with method choice and persistence. Only StashCore could implement this effectively with the database.