presets = { "metal guitar" : { "dependencies": set(["reverb","echo"]), "file" : "metalguitar.jpreset", "instrument" : "guitar" }, "lies" : { "dependencies": set(["reverb","chin"]), "file" : "lies.jpreset", "instrument" : "guitar" }, "stupid" : { "dependencies": set(["echo","hair"]), "file" : "stupid.jpreset", "instrument" : "bass" }, "sound of a beard" : { "dependencies": set(["hair","chin"]), "file" : "soundofabeard.jpreset", "instrument" : "drums" }, "reverbeffect" : { "dependencies": set(["reverb"]), "file" : "soundofabeard.jpreset", "instrument" : "none" }, "reveffect" : { "dependencies": set(["reverb"]), "file" : "soundofabeard.jpreset", "instrument" : "guitar" } } ladspa = set(["reverb", "echo", "hair"]) print "\nLIST ALL AVAILABLE PRESETS FOR AN INSTRUMENT (guitar)" insfulllist = [x for x in presets if presets[x]["dependencies"].issubset(ladspa) and presets[x]["instrument"] == "guitar"] for l in insfulllist: print l + " -- " + presets[l]["file"]