[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fisarmonica] - comment utiliser \musicMap ?
From: |
Daniel Cartron |
Subject: |
Re: [Fisarmonica] - comment utiliser \musicMap ? |
Date: |
Fri, 07 Jun 2013 07:43:08 +0200 |
User-agent: |
KMail/4.10.2 (Linux/3.8.0-23-generic; KDE/4.10.2; x86_64; ; ) |
Le vendredi 7 juin 2013 00:07:02 Gilles a écrit :
> Le pitch complet oui. Si tu veux acceder aux différents composantes du
> pitch, tu as les fonctions que tu connais
> ly:pitch-octave, ly:pitch-notename, ly:pitch-alteration. Si tu préfères
> les avoir sous la forme de liste, tu écris
>
> (let ((p (ly:music-property music 'pitch))
> (list (ly:pitch-octave p) (ly:pitch-notename p) (ly:pitch-alteration
p)))
Ce qui me manquait était l'enrobage de tout ça, le (let ((p (ly:music-
property music 'pitch)) en fait. Donc maintenant j'arrive à utiliser ces
informations comme je veux.
Par contre dans ton code sur les articulations, j'ai vu qu'on peut
effectivement récupérer les valeurs qui m'intéressent, et je n'ai gardé que:
#(let ((arti (ly:music-property manote 'articulations)))
(for-each
(lambda(evt)
(let ((name (ly:music-property evt 'name)))
(cond ((eq? name 'StringNumberEvent)
(display (ly:music-property evt 'string-number))
(newline)
)
((eq? name 'StrokeFingerEvent)
(display (ly:music-property evt 'digit)))
)))
arti))
mais si ça m'affiche bien les deux infos je n'arrive pas à injecter ces
valeurs dans des variables pour les utiliser ailleurs... Si je met un define
à la place des display ça coince, or je voudrais utiliser ces valeurs pour
filtrer une liste avec :
#(define (btn-ref btn-lst dir row)
(if
(or (equal? 1 (length btn-lst)) (equal? 0 dir) ) btn-lst
(if (equal? 1 (length (filter (lambda (lst) (equal? (cadr lst) row) )
btn-lst )))
(filter (lambda (lst) (equal? (cadr lst) row) ) btn-lst )
(filter (lambda (lst) (equal? (car lst) dir) ) btn-lst ))))
row c'est la valeur de string-number (0 1 2 ou 3) et dir c'est digit (0 5 ou
6), et btn-lst ressemble à ((5 1 2) (6 2 4)) de une à trois sous listes.
Je vois mal comment on pourrait mélanger les deux codes, c'est pourquoi
j'essaye de passer par des variables, et de plus si dir n'est pas présente
il faut utiliser la valeur précédente donc mémorisation nécessaire.
Merci pour toutes les lumières que vous me donnez.
--
Cordialement, Daniel Cartron
« La laideur a ceci de supérieur à la beauté, c'est qu'elle dure! »
Georg Christoph Lichtenberg
- [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/05
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/05
- Re: [Fisarmonica] - comment utiliser \musicMap ?, gilles . thibault, 2013/06/05
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/05
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/06
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Gilles, 2013/06/06
- Re: [Fisarmonica] - comment utiliser \musicMap ?,
Daniel Cartron <=
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/07
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Gilles, 2013/06/07
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/07
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/08
- Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/10
Re: [Fisarmonica] - comment utiliser \musicMap ?, Daniel Cartron, 2013/06/06