Class GenreRule

    • Constructor Detail

      • GenreRule

        public GenreRule()
      • GenreRule

        public GenreRule​(float weight)
    • Method Detail

      • getId

        public String getId()
        Description copied from class: ScoreRule
        Returns a unique name for this rule.
        Specified by:
        getId in class ScoreRule
        Returns:
        unique name
      • getName

        public String getName()
        Description copied from class: ScoreRule
        Short name, like "Similar BPM"
        Specified by:
        getName in class ScoreRule
        Returns:
        short name
      • getDescription

        public String getDescription()
        Description copied from class: ScoreRule
        Description of how this rule works. May be displayed in tooltips.
        Specified by:
        getDescription in class ScoreRule
        Returns:
        description
      • score

        public float score​(AudioSong song,
                           AudioSong template,
                           Float syncBPM,
                           boolean playMatchAtSyncTempo)
        Description copied from class: ScoreRule
        Returns a score between 0 and 1 for how well the given song matches the given template. A higher score indicates a better match.
        Specified by:
        score in class ScoreRule
        Parameters:
        song - song
        template - template
        syncBPM - sync bpm
        playMatchAtSyncTempo - the given song is meant to be played at the same tempo as the template song
        Returns:
        score between 0.0 and 1.0 as a measure for how well the song matches the template.
      • fallbackScore

        public float fallbackScore​(String template,
                                   String genre)
      • getMatchFilter

        public SongPropertyFilter getMatchFilter​(AudioSong template,
                                                 Float templateSyncBPM,
                                                 boolean playMatchAtSyncTempo)
        Description copied from class: ScoreRule
        Returns a filter that matches Songs that match this rule at least somewhat. This should be used to find songs that at least somewhat match the rule.
        Specified by:
        getMatchFilter in class ScoreRule
        Parameters:
        template - template song to match
        templateSyncBPM - sync bpm for the template song
        playMatchAtSyncTempo - the given song is meant to be played at the same tempo as the template song
        Returns:
        a filter (set) that matches this rule or null, if all songs match this rule.