OpenMusic-Library zur regelbasierten Harmonie und Stimmführung.
Marlon Schumacher
05.10.23 71cec5a0cea5abed3c94ced07316afbed844389d
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* '("harmon-database"
                       "harmon-progress"
                       "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::harmon-database omlead::harmon-progress omlead::get-score omlead::harmon-rhythm) Nil)))
 
;--------------------------------------------------
;filling packages
;--------------------------------------------------
(om::fill-library *subpackages-list*)