comparison implementations/meredith/import->db.lisp @ 303:3c5bf3f7b7a0

twiddle meredith import functions Ignore-this: e28a31418c8e60420bd84047d9110a13 darcs-hash:20090918124512-16a00-6354c6e9942caba1496caaac990d1f6985bfa17b.gz
author j.forth <j.forth@gold.ac.uk>
date Fri, 18 Sep 2009 13:45:12 +0100
parents d22c67dac97d
children
comparison
equal deleted inserted replaced
302:ac78ce3d0b10 303:3c5bf3f7b7a0
8 base-path 8 base-path
9 file-prefix 9 file-prefix
10 (princ-to-string file-id) 10 (princ-to-string file-id)
11 file-suffix))) 11 file-suffix)))
12 12
13 (defun file->list-of-lists (path) 13 (defun raph-c-file->list-of-lists (path)
14 (with-open-file (stream path) 14 (with-open-file (stream path)
15 (loop 15 (loop
16 for row-strings = (split-sequence:split-sequence 16 for row-strings = (split-sequence:split-sequence
17 #\space (read-line stream nil) 17 #\space (read-line stream nil)
18 :remove-empty-subseqs t) 18 :remove-empty-subseqs t)
71 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 71 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
72 ;;; Import functions for specific datasets. 72 ;;; Import functions for specific datasets.
73 73
74 (defun import-bach-inv+sin (&optional (database *amuse-database*)) 74 (defun import-bach-inv+sin (&optional (database *amuse-database*))
75 "Imports all of Dave's encodings of Bach's Inventions and Sinfonias, 75 "Imports all of Dave's encodings of Bach's Inventions and Sinfonias,
76 and assigns them all so a unique dataset." 76 and assigns them all to a unique dataset."
77 (clsql:with-transaction 77 (clsql:with-transaction
78 (:database database) 78 (:database database)
79 (let ((dataset-identifier (make-new-dataset 79 (let ((amuse-dataset-identifier (make-new-dataset
80 "Bach Inventions and Sinfonias" 80 "Bach Inventions and Sinfonias"
81 database))) 81 database)))
82 (import-bach-inventions database dataset-identifier) 82 (import-bach-inventions database amuse-dataset-identifier)
83 (import-bach-sinfonias database dataset-identifier)))) 83 (import-bach-sinfonias database amuse-dataset-identifier)
84 amuse-dataset-identifier)))
84 85
85 (defun import-bach-inventions (database &optional dataset-identifier) 86 (defun import-bach-inventions (database &optional amuse-dataset-identifier)
86 "Imports all of Dave's encodings of Bach's Inventions." 87 "Imports all of Dave's encodings of Bach's Inventions."
87 (let ((base-path "/home/jamie/Music/meredith-data/20060301raph-c/") 88 (let ((base-path "/home/jamie/Music/meredith-data/20060301raph-c/")
88 (file-prefix "bachrasmussinventio0") 89 (file-prefix "bachrasmussinventio0")
89 (file-suffix "01.raph-c")) 90 (file-suffix "01.raph-c"))
90 (loop for file-id from 772 to 786 91 (loop for file-id from 772 to 786
91 for composition-order from 1 92 for composition-order from 1
92 for composition-identifier = 93 for composition-identifier =
93 (import-meredith-composition 94 (import-meredith-composition
94 (file->list-of-lists 95 (raph-c-file->list-of-lists
95 (make-path base-path file-prefix file-id file-suffix)) 96 (make-path base-path file-prefix file-id file-suffix))
96 :description (concatenate 'string 97 :description (concatenate 'string
97 "Bach Invention No." 98 "Bach Invention No."
98 (princ-to-string composition-order) 99 (princ-to-string composition-order)
99 " BWV " 100 " BWV "
100 (princ-to-string file-id)) 101 (princ-to-string file-id))
101 :database database) 102 :database database)
102 do (when dataset-identifier 103 do (when amuse-dataset-identifier
103 (assign-composition-to-dataset 104 (assign-composition-to-dataset
104 composition-identifier dataset-identifier database))))) 105 composition-identifier amuse-dataset-identifier database)))))
105 106
106 (defun import-bach-sinfonias (database &optional dataset-identifier) 107 (defun import-bach-sinfonias (database &optional amuse-dataset-identifier)
107 "Imports all of Dave's encodings of Bach's Sinfonias." 108 "Imports all of Dave's encodings of Bach's Sinfonias."
108 (let ((base-path "/home/jamie/Music/meredith-data/20060301raph-c/") 109 (let ((base-path "/home/jamie/Music/meredith-data/20060301raph-c/")
109 (file-prefix "bachrasmusssinfonie0") 110 (file-prefix "bachrasmusssinfonie0")
110 (file-suffix "01.raph-c")) 111 (file-suffix "01.raph-c"))
111 (loop for file-id from 787 to 801 112 (loop for file-id from 787 to 801
112 for composition-order from 1 113 for composition-order from 1
113 for composition-identifier = 114 for composition-identifier =
114 (import-meredith-composition 115 (import-meredith-composition
115 (file->list-of-lists 116 (raph-c-file->list-of-lists
116 (make-path base-path file-prefix file-id file-suffix)) 117 (make-path base-path file-prefix file-id file-suffix))
117 :description (concatenate 'string 118 :description (concatenate 'string
118 "Bach Sinfonia No." 119 "Bach Sinfonia No."
119 (princ-to-string composition-order) 120 (princ-to-string composition-order)
120 " BWV " 121 " BWV "
121 (princ-to-string file-id)) 122 (princ-to-string file-id))
122 :database database) 123 :database database)
123 do (when dataset-identifier 124 do (when amuse-dataset-identifier
124 (assign-composition-to-dataset 125 (assign-composition-to-dataset
125 composition-identifier dataset-identifier database))))) 126 composition-identifier amuse-dataset-identifier database)))))