annotate base/charm/functions.lisp @ 258:aac79c0ac1b9
add within-short-bar-p, and use this to correctly calculate the
ioi-from-bar of anacruses
author |
Jamie Forth <j.forth@gold.ac.uk> |
date |
Thu, 24 Feb 2011 18:50:38 +0000 |
parents |
b5ffec94ae6d |
children |
|
rev |
line source |
j@253
|
1 (in-package #:amuse-charm)
|
j@253
|
2
|
j@253
|
3 ;;;=====================================================================
|
j@253
|
4 ;;; Helpful functions
|
j@253
|
5 ;;;=====================================================================
|
j@253
|
6
|
j@253
|
7 (defun find-first-onset (events)
|
j@253
|
8 (reduce #'min events :key #'timepoint))
|
j@253
|
9
|
j@253
|
10 (defun find-last-offset (events)
|
j@253
|
11 (reduce #'max events :key #'(lambda (event)
|
j@253
|
12 (timepoint (cut-off event)))))
|
j@253
|
13
|
j@253
|
14 (defgeneric object->db-string (o))
|
j@253
|
15
|
j@253
|
16 (defmethod object->db-string ((o charm-property-list))
|
j@253
|
17 (format nil "~S" (%list-slot-sequence-data o)))
|
j@253
|
18
|
j@253
|
19 (defmethod object->db-string ((o event-identifier))
|
j@253
|
20 "This was an earlier approach, that was probably bad."
|
j@253
|
21 "e")
|
j@253
|
22
|
j@253
|
23 (defmethod object->db-string ((o constituent-identifier))
|
j@253
|
24 "This was an earlier approach, that was probably bad."
|
j@253
|
25 "c")
|
j@253
|
26
|
j@253
|
27 (defun recompute-constituent-timepoint (constituent)
|
j@253
|
28 (setf (timepoint constituent)
|
j@253
|
29 (reduce #'min constituent :key 'timepoint)))
|
j@253
|
30
|
j@253
|
31 (defun recompute-constituent-duration (constituent)
|
j@253
|
32 (setf (duration constituent)
|
j@253
|
33 (reduce #'max constituent :key 'timepoint)))
|