;;;
;;;
;;;
-;;; Copyright (C) 2005--2011 Nicolas Sceaux <nicolas.sceaux@free.fr>
+;;; Copyright (C) 2005--2012 Nicolas Sceaux <nicolas.sceaux@free.fr>
;;;
;;; - This file defines the procedures used to define display methods for each
(format #f "~a\\tag #'~a" (if post-event? "-" "") tag))
(ly:music-property expr 'tags))))
+(define* (tweaks->lily-string expr #:optional (post-event? #f))
+ (format #f "~{~a ~}"
+ (map (lambda (tweak)
+ (let ((addr (car tweak))
+ (val (cdr tweak)))
+ (format #f "~a\\tweak ~a #~a"
+ (if post-event? "-" "")
+ (cond
+ ((symbol? addr)
+ (format #f "~a" addr))
+ ((symbol? (cdr addr))
+ (format #f "~a.~a" (car addr) (cdr addr)))
+ (else
+ (format #f "~{~a~^.~}"
+ (if (symbol? (car addr))
+ addr
+ (cdr addr)))))
+ (scheme-expr->lily-string val))))
+ (ly:music-property expr 'tweaks))))
+
(define-public (music->lily-string expr parser)
"Print @var{expr}, a music expression, in LilyPond syntax."
(if (ly:music? expr)
(proc expr parser))
procs))))
(if result-string
- (format #f "~a~a"
- (tag->lily-string expr (post-event? expr))
+ (format #f "~a~a~a"
+ (tag->lily-string expr (post-event? expr))
+ (tweaks->lily-string expr (post-event? expr))
result-string)
(format #f "%{ Print method not implemented for music type ~a %}"
music-type)))
(define *max-element-number-before-break* (make-parameter 6))
;; \times factor (used in durations)
-(define *time-factor-denominator* (make-parameter #f))
-(define *time-factor-numerator* (make-parameter #f))
+(define *time-scale* (make-parameter 1))
(define *current-context* (make-parameter 'Bottom))