Mercurial > hg > amuse
view implementations/midi-db/methods.lisp @ 263:df5d60cda9a2
add linked-event superclass to mtp-event
author | Jamie Forth <j.forth@gold.ac.uk> |
---|---|
date | Sun, 10 Apr 2011 10:24:37 +0100 |
parents | 2138ea478adb |
children |
line wrap: on
line source
(cl:in-package #:amuse-midi-db) ;;;===================================================================== ;;; Specialized constructors ;;;===================================================================== (defmethod make-composition-identifier ((package (eql *package*)) composition-id) (make-midi-db-composition-identifier composition-id)) ;;;===================================================================== ;;; Specialized database-admin methods ;;;===================================================================== (defmethod list-collections ((package (eql *package*)) &key compositions (stream *standard-output*)) "FIXME: better formatting." (let ((collection-rows (%get-all-collection-headers))) (flet ((print-separator (&optional (columns 70)) (format stream "~%~A~%" (make-sequence 'string columns :initial-element #\-)))) (loop for collection-row in collection-rows do (destructuring-bind (collection-id collection-name description) collection-row (format stream "~%Collection-id: ~A~% Name: ~A~% Description: ~A~%" collection-id collection-name description) (when compositions (list-compositions package :collection-identifier (make-midi-db-collection-identifier collection-id)))) do (print-separator))))) (defmethod list-compositions ((package (eql *package*)) &key collection-identifier (stream *standard-output*)) (let ((composition-headers (if collection-identifier (%get-all-collection-composition-headers collection-identifier) (%get-all-composition-headers)))) (loop for composition-header in composition-headers do (destructuring-bind (collection-id composition-id filename timebase start duration owner version creation-timestamp deletion-timestamp) composition-header (format stream "~%Collection-id: ~A Composition-id: ~A filename: ~A timebase: ~A start: ~A duration: ~A owner: ~A version: ~A created: ~A deleted: ~A~%" collection-id composition-id filename timebase start duration owner version creation-timestamp deletion-timestamp)))))