Replies: 1 comment 6 replies
-
|
I think I follow but I have a few questions in mind.
It will be great if plugins can dictate
Would plugins be able to determine how match values are computed? Or would plugins just be able to determine the weights? The application I have in mind is: when matching on track duration I think the penalty should be zero if the track durations match to within 5% for example, then the penalty should linearly increase with the duration mismatch. Would a plugin be able to implement this. Maybe this is a higher-level design question. MusicBrainz and Discogs plugins may want to use different weights and use different names for fields, but they shouldn't both implement the same duration matching logic. So perhaps duration matching logic should just be in Moe? Or implemented via a separate hook that a MusicBrainz or Discogs plugin can override if desired? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
@ali-ramadhan continuing our discussion here:
So how I imagine it currently:
Plugins can use the hook to return a dictionary of attributes to weights, similar to
MATCH_TRACK_FIELD_WEIGHTS, then,get_match_value()would call this hook, compiling the different weights, and then determine the ultimate match values. The matching logic happens after the tracks/albums have already imported their metadata, so it shouldn't be an issue of ordering around that. Also,match.pyshould implement the hook too and just add the default field_weights in its own hook implementation, similar to howtrack.pyboth defines and implementsread_custom_tagsfor reading default tags.Let me know if that makes sense or if you have any other questions.
Beta Was this translation helpful? Give feedback.
All reactions