changeset 211:e2839225f6fb

integrate db-admin into geerdes Ignore-this: 442285f4febbcd5d390a49d8c8b69e00 darcs-hash:20090522211215-16a00-0e6571178e720d2cf648e09486ec2bb160950355.gz committer: Jamie Forth <j.forth@gold.ac.uk>
author j.forth <j.forth@gold.ac.uk>
date Thu, 24 Feb 2011 11:23:17 +0000
parents be3d63b78054
children 619194befdd4
files amuse-geerdes.asd implementations/geerdes/connect.lisp implementations/geerdes/methods.lisp implementations/geerdes/package.lisp
diffstat 4 files changed, 19 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/amuse-geerdes.asd	Thu Feb 24 11:23:17 2011 +0000
+++ b/amuse-geerdes.asd	Thu Feb 24 11:23:17 2011 +0000
@@ -7,7 +7,6 @@
             ((:module geerdes
                       :components 
 		      ((:file "package")
-                       (:file "connect" :depends-on ("package"))
 	               (:file "classes" :depends-on ("package"))
 	               (:file "constructors" :depends-on ("package" "classes"))
 	               (:file "methods" :depends-on ("package" "classes" "constructors"))))))))
--- a/implementations/geerdes/connect.lisp	Thu Feb 24 11:23:17 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-(in-package #:amuse-geerdes)
-
-;; N.B. This file contains an access password for the database in
-;; plain text...
-
-(defun get-amuse-connection ()
-  (warn "This function should be removed, use connect-to-database instead.")
-  (clsql:connect '("vaughan-williams.doc.gold.ac.uk" "amuse" "LispMidi" "clsql")
-		 :if-exists :old :database-type :mysql))
-
-
--- a/implementations/geerdes/methods.lisp	Thu Feb 24 11:23:17 2011 +0000
+++ b/implementations/geerdes/methods.lisp	Thu Feb 24 11:23:17 2011 +0000
@@ -36,6 +36,12 @@
 (defmethod (setf file-id) (value (object geerdes-identifier-file-id))
   (setf (slot-value object 'file-id) value))
 
+;; Specialised constructors
+
+(defmethod make-composition-identifier ((package (eql *package*))
+					composition-id)
+  (g-id-file-id composition-id))
+
 ;; Composition 
 
 (defmethod get-composition ((identifier geerdes-identifier))
@@ -51,7 +57,8 @@
 				       :from [midi_file]
 				       :where [= [cat_id] cat-id]
 				       :flatp t
-				       :result-types :auto)))
+				       :result-types :auto
+				       :database *amuse-database*)))
 	 (timebase (second file-info))
 	 (file-id (first file-info))
 	 (composition (make-instance 'geerdes-composition
@@ -63,6 +70,7 @@
 	  (%midi-constituents composition) (get-db-constituents file-id))
   #.(clsql:restore-sql-reader-syntax-state)
   composition))
+
 (defmethod get-geerdes-composition ((identifier geerdes-identifier-file-id))
   #.(clsql:locally-enable-sql-reader-syntax)
   (let* ((file-id (file-id identifier))
@@ -70,7 +78,8 @@
 				       :from [midi_file]
 				       :where [= [id] file-id]
 				       :flatp t
-				       :result-types :auto)))
+				       :result-types :auto
+				       :database *amuse-database*)))
 	 (timebase (second file-info))
 	 (cat-id (first file-info))
 	 (composition (make-instance 'geerdes-composition
@@ -89,7 +98,9 @@
     SELECT track, channel, start, duration, patch, pitch, velocity, id, event_id, mel_duration
     FROM midi_event LEFT JOIN derived_midi_monody ON (id=event_id)
     WHERE file_id=" (princ-to-string file-id)
-    " ORDER BY start")))
+    " ORDER BY start")
+   :database *amuse-database*))
+
 (defun get-db-constituents (file-id)
   (clsql:query (concatenate 'string "
     SELECT track, channel, start, duration,
@@ -100,7 +111,8 @@
       LEFT JOIN midi_timesig ts ON (id=ts.constituent_id)
       LEFT JOIN midi_param param ON (id=param.constituent_id)
     WHERE c.file_id=" (princ-to-string file-id)
-    " ORDER BY start")))
+    " ORDER BY start")
+	       :database *amuse-database*))
 
 (defmethod monody ((composition geerdes-composition))
   (unless (amuse-geerdes::%monody composition)
@@ -149,4 +161,3 @@
 
 (defmethod crotchet ((object geerdes-object))
   (make-standard-period 1))
-
--- a/implementations/geerdes/package.lisp	Thu Feb 24 11:23:17 2011 +0000
+++ b/implementations/geerdes/package.lisp	Thu Feb 24 11:23:17 2011 +0000
@@ -1,5 +1,6 @@
 (cl:defpackage #:amuse-geerdes
-  (:use #:common-lisp #:amuse #:amuse-utils #:amuse-midi #:amuse-segmentation)
+  (:use #:common-lisp #:amuse #:amuse-utils #:amuse-midi
+  #:amuse-segmentation #:amuse-database-admin)
   (:export 
    ;; classes
    #:geerdes-composition
@@ -15,4 +16,4 @@
    ;; other (caching)
    #:properties)
   (:documentation "Package for MIDI pop-song database, originating
-  from Geerdes, a commercial supplier."))
\ No newline at end of file
+  from Geerdes, a commercial supplier."))