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