OpenMusic-Library zur regelbasierten Harmonie und Stimmführung.
Lorenz Lehmann
08.01.24 6b0ca63a14191eb67c1637afa38c5046e087f07b
commit | author | age
71cec5 1 ;======================================
MS 2 ;OM-Lead, 2022-2023
3 ;
4 ;Library for Rule-based Voice-Leading
5 ;Author: Lorenz Lehmann
6 ;Supervision: Marlon Schumacher
7 ;======================================
8
9
10 (defpackage :omlead) 
11 (in-package :omlead)
12
13 ;--------------------------------------------------
14 ;Variable definiton with files to load 
15 ;--------------------------------------------------
16
17
18 (defvar *initfile* *load-pathname*)
19
20 (defun lib-src-file (name)
21   (make-pathname :directory (append (pathname-directory *initfile*) (list "sources")) 
22                  :name name))
23
24 (defvar *OMLead-files* nil)
3a8c93 25 (setf *OMLead-files* '("gen-harmonies"
22fa58 26                        "gen-sequence"
71cec5 27                        "get-score"
MS 28                        "harmon-rhythm"
29                       ))
30
31 ;--------------------------------------------------
32 ;Loading files 
33 ;--------------------------------------------------
34
35 (mapc #'(lambda (filename) 
36           (om::compile&load (namestring (lib-src-file filename))))
37       *OMLead-files*)
38
39 ;--------------------------------------------------
40 ; OM subpackages initialization
41 ; ("sub-pack-name" subpacke-lists class-list function-list class-alias-list)
42 ;--------------------------------------------------
43 (defvar *svppackages-list* nil)
44 (setf *subpackages-list* 
22fa58 45       '((Nil Nil Nil (omlead::gen-harmonies omlead::gen-sequence omlead::get-score omlead::harmon-rhythm) Nil)))
71cec5 46
MS 47 ;--------------------------------------------------
48 ;filling packages
49 ;--------------------------------------------------
50 (om::fill-library *subpackages-list*)