47c8174

Pinchord · pinchord.git · Tickets · Changelog

Branches > build-process > 47c8174 > files / setup.cfg

Move bank chord definitions into :chords/bank-keys map in chords.edn

Grahp, 2026-09-05

Commit: 47c81746a507ea3e3dc72aad25f684c973d64dd3
Parent: fc28cd9

3 changed files:

chords.edn modified (view file)

@@ -6,343 +6,345 @@                     :finals "LRPKFST*"                     :suffixes "es"}  ;:keys "#+TSPWHR&AOIU^LRPKFST*es"- :initials {"T" "t"-            "TSP&" "sk"-            "TP" "f"-            "TP&" "ph"-            "TSWR" "kr"-            "THR" "thr"-            "TPR" "fr"-            "PWR" "br"-            "SH&" "sch"-            "TSPR" "scr"-            "TSPR&" "skr"-            "TSWH" "kn"-            "TWH" "thw"-            "PWHR" "bl"-            "SPWHR" "cl"-            "SPWHR&" "chl"-            "TS" "st"-            "TSH" "sth"-            "TS&" "ts"-            "SPR" "spr"-            "SHR&" "shr"-            "HR" "l"-            "HR&" "ll"-            "WH" "wh"-            "WH&" "hw" ; The two hwat?-            "TW" "tw"-            "S" "s"-            "SR" "v"-            "SR&" "vr"-            "TPWR" "dr"-            "TPWH" "x"-            "H" "h"-            "PR" "pr"-            "TSPWR" "gr"-            "SHR" "sl"-            "SW" "sw"-            "SW&" "sv"-            "SWR" "y"-            "TSPWH" "gh"-            "R" "r"-            "R&" "rh"-            "SWHR" "squ"-            "TSR" "str"-            "TSR&" "tz"-            "TWHR" "j"-            "SH" "sh"-            "PH" "m"-            "TSP" "sc"-            "TR" "tr"-            "P" "p"-            "WHR" "qu"-            "WHR&" "q"-            "TPHR" "fl"-            "TPHR&" "phl"-            "TPR&" "phr"-            "TH" "th"-            "WR" "wr"-            "SPWR" "cr"-            "SPWR&" "chr"-            "SPH" "sm"-            "SPH&" "schm"-            "TSW" "k"-            "SPHR" "spl"-            "TSPWHR" "gl"-            "TSWHR" "kl"-            "SPW" "c"-            "SWH" "z"-            "PHR" "pl"-            "SPWH" "ch"-            "TSPW" "g"-            "W" "w"-            "SP" "sp"-            "SP&" "sph"-            "TSPH" "sn"-            "TSPHR" "scl"-            "TPH" "n"-            "TPH&" "mn"-            "TPW" "d"-            "PW" "b"-            "" "{^}"} - :vowels {"OU" "ou"-          "OU^" "uo"-          "AU" "au"-          "AOI" "ei"-          "AO" "oa"-          "AO^" "ao"-          "AU^" "ua"-          "AI^" "ia"-          "IU^" "ee"-          "IU" "e"-          "AIU" "ea"-          "OI^" "io"-          "AIU^" "ae"-          "AOU" "ui"-          "AOI^" "ie"

Show all 671 lines

pinchord-javelin-dictionary-v30.0.yaml modified (view file)

@@ -390,6 +390,7 @@ - {stroke: IU, data: e, order: 3, avoidMask: AO^} - {stroke: -R, data: r, order: 4, avoidMask: -LPKFST*} - {stroke: WH, data: wh, order: 2, avoidMask: TSPR&}+- {stroke: '#+', data: '#+', order: 1, avoidMask: ''} - {stroke: W&, data: W&, order: 2, avoidMask: TSPHR} - {stroke: PR, data: pr, order: 2, avoidMask: TSWH&} - {stroke: SH, data: sh, order: 2, avoidMask: TPWR&}@@ -421,7 +422,9 @@ - {stroke: +, data: '{^}', order: 1, avoidMask: '#'} - {stroke: ^, data: y, order: 3, avoidMask: AOIU} - {stroke: '-', data: '', order: 4, avoidMask: -LRPKFST*}+- {stroke: '-', data: '', order: 5, avoidMask: es} - {stroke: O, data: o, order: 3, avoidMask: AIU^} - {stroke: A, data: a, order: 3, avoidMask: OIU^} - {stroke: '', data: '', order: 3, avoidMask: AOIU^} - {stroke: '', data: '{^}', order: 2, avoidMask: TSPWHR&}+- {stroke: '', data: '', order: 1, avoidMask: '#+'}

src/org/pinchord/generate.clj modified (view file)

@@ -37,24 +37,19 @@              rest-combos              (map #(str (first s) %) rest-combos)))))) -(defn abbreviate-long-chords [s]-  (update-vals s abbreviate))+(defn fill-gaps-in-banks [{:chords/keys [bank-chords bank-keys]}]+  (reduce (fn [acc [bank chords]]+            (let [default-chords (all-chords (bank-keys bank))]+              (assoc acc bank (-> (merge (zipmap default-chords default-chords) chords)+                                  (update-vals abbreviate)))))+          {} bank-chords)) -(defn with-gaps-filled [bank chords]-  (let [s (remove (bank chords) (all-chords (bank (:chords/bank-keys chords))))]-    (merge (bank chords) (abbreviate-long-chords (zipmap s s)))))--; TODO make this a function of bank-keys-(defn fill-gaps-in-banks [chords]-  (assoc chords-         :initials (with-gaps-filled :initials chords)-         :vowels   (with-gaps-filled :vowels chords)-         :finals   (with-gaps-filled :finals chords)))+(defn with-gaps-filled [chords]+  (assoc chords :chords/bank-chords (fill-gaps-in-banks chords)))  ; TODO switch to JVM and use keys! with the latest alpha-(defn build-javelin-dictionary [{:chords/keys [banks bank-keys]-                                 :keys [version]-                                 :as chords}]+(defn build-javelin-dictionary [{:chords/keys [banks bank-keys bank-chords]+                                 :keys [version]}]   (let [bank->priority (zipmap banks (map inc (range)))]     {:name (str "Pinchord Base " version)      :maximumOutlineLength 1@@ -71,14 +66,14 @@                                (into acc (mapv (fn [[stroke translation]]                                                  {:stroke stroke :data translation :order (bank->priority bank)})                                                entries))))-                           #{} (select-keys chords banks))+                           #{} bank-chords)                    (sort-by (comp - count :stroke)))}))  (defn -main [& _args]   (let [chords (-> (edn/read-string (slurp "chords.edn"))-                   fill-gaps-in-banks-                   (update :finals finalize)-                   (update :suffixes finalize))+                   with-gaps-filled+                   (update-in [:chords/bank-chords :finals] finalize)+                   (update-in [:chords/bank-chords :suffixes] finalize))         dict (build-javelin-dictionary chords)         dict-path (str "pinchord-javelin-dictionary-" (:version chords) ".yaml")]     (spit dict-path (yaml/generate-string dict))))