Returns songs from the database that roughly match the template song.
The database query is executed in the Job.getDefaultJob() thread.
When the executing thread is interrupted, this method returns early with an empty Iterable.

Parameters:

template - template song

playList - playlist to search in

syncBPM - sync bpm

playMatchesAtSyncTempo - matched songs are meant to be played at the same tempo as the template song