CNMAT / CNMAT-OM

Open Music
Other
7 stars 1 forks source link

No .omlib file #8

Open somecho opened 2 years ago

somecho commented 2 years ago

Hello!

I'm trying to load CNMAT in OM#. Since there isn't an .omlib file, it cannot be loaded.

I tried writing the omlib file myself, but I'm not very clear about how the omlib file should be formatted. I'm aware that normally you have this formatting:

(:symbols 
  (:packages 
   (:package 
      (:name "sub pack name")
      (:functions "some-func" "another func"))
  )
)

But the om::fill-library in cnmat-om.lisp doesn't seem to fit this schema.

;; cnmat-om.lisp
(om::fill-library  
 '((NIL 
    (("Tessellate" 

     (("database" nil nil (q-combi q-combi-filter q-canon q-rotations  q-permute+remove-dup-rotations q-n-permutations-no-rotations q-permutations+canon q-permutations+canon-utility q-permutations+canon-all q-rotation-canon? q-canon-permutations-no-overlaps q-combi-from-elements q-random-permutations-no-dups q-remove-rotations ) nil)

      ("operations" nil nil ( o-operations o-list-trans o-index o-count-trunc o-equal-prob o-index o-list-rand o-list-repeat o-sum-lists  o-list-rand o-list-info) nil)

      ("pitch" nil nil (p-map1 p-inversion p-map2 p-make-bands p-bands-collection p-bands-pitchclass p-bands-register p-harmony-from-analysis) nil)

      ("rhythm" nil (prf) (prf rhythmic-frames r-diminutions r-interleave r-duration-list r-merge r-combine-lists r-retro-canon? r-substitute r-substitute-children r-tatum-mapping r-scatter-attacks r-retro-canon?) nil)

      ("score" () nil (s-poly s-poly->voice s-poly2 s-cuts s-cuts2 s-combine-voices s-combine-polys) nil)

      ("utilities" nil nil ( u-info u-list-info u-score-lists u-retro-canon? u-+ u-- u-* u-inversion u-midic->pc u-flat-by-voice u-pc-remap u-divisors u-tatum-format u-list-duplicator) nil))
     nil ;; classes
     (combinations) ;; functions
     nil))
    NIL NIL NIL)
   )
 (om::find-library "CNMAT-OM")
 )

Where can I find what om::fill-library actually does? What's the proper way to covert this to an .omlib file?

Thanks!

j-bresson commented 2 years ago

Hello!

CNMAT-OM is not working on OM# unfortunately. There's a little bit of adaptation needed for that, and therefore the .olib loader file is not available yet.

About the loader file, you can find information here: https://cac-t-u-s.github.io/pages/write-library Hope his helps

(and I'll have a look at the library again, see if I can get it lo load at least partially in OM# – stay tuned!)

j-bresson commented 1 year ago

Hi again — I have just pushed on the source code the minimal changes required to load the lib in OM#. It should be possible now to import existing help patches and tutorials following the instructions here https://cac-t-u-s.github.io/pages/import-from-om. This is a bunch of awesome of patches! I don't think they will all work but I'm happy to help debugging.