893b5b2
Pinchord · pinchord.git · Tickets · Changelog
Branches > v28.1 > 893b5b2 > files
mods shit
Commit: 893b5b2ad7e0e2973c64155e5bc6dcb38143d185
Parent: cc8229a
1 changed file:
generate-mods.clj view file
@@ -2,4 +2,44 @@ :left-numpad {"" "" "R" "1"}}) +(def symbols {"P" "."+ "RP" "/"})++{:chord "P"+ :translation "."}++(def mods {"-" ""+ "A" "ctrl"+ "E" "shift"+ "I" "super"+ "U" "alt"})++(def mods {"A" "ctrl"+ "E" "shift"+ "I" "super"+ "U" "alt"})++(defn power-set [coll]+ (let [rest (power-set (rest coll))]+ (concat rest+ (map #(cons (first coll) %) rest))))++(defn power-set [coll]+ (reduce (fn [acc x]+ (into acc (map #(conj % x) acc)))+ #{#{}} coll))++(power-set mods)++(defn apply-mods [x combo]+ (reduce (fn [acc [_ mod]]+ (str mod "(" acc ")"))+ x combo))++(defn generate-all-mods [starter {:keys [chord translation]}]+ (for [mods (power-set mods)]+ (apply-mods translation mods)))++(generate-all-mods "ST" {:chord "SP" :translation "/"})+ (comment)