Mercurial > hg > amuse
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))))) |