|PROFILE|::MULTI-INTERPOL
Arguments: prof n¡elm tab &optional note? [generic-function]
Interpolation dynamique entre les elements d'un profil de base.
Ce module permet l'interpolation entre les elements d'une liste qu'ils soient
des notes ou des accords.
Ce module permet l'interpolation entre les elements d'une liste qu'ils soient
des notes ou des accords.
<prof> est soit une liste simple, soit une liste de listes, de hauteurs en listents.
<n¡elm> est soit un nombre, soit une liste. Il est possible de choisir
le nombre de pas d'interpolation entre les elements de <prof>.
Si <n¡elm> est un nombre, par exemple '3', nous allons ajouter
trois pas d'interpolation entre chaque paire d'elements de <prof>.
Dans ce cas <n¡elm> a une action globale.
Mais il est aussi possible de rentrer dans <n¡elm> une liste
qui definirait un nombre de pas d'interpolation differents
pour chaque paire d'elements de <prof>, ce qui nous permet
un contrle locale.
Par exemple si <n¡elm> egal a (3 4 5) nous aurons trois elements
interpoles entre la premiere paire de valeurs, quatre entre
la deuxieme et cinq entre la troisieme.
Si le nombre de points de <n¡elm> est plus petit que le nombre
d'elements de <prof> moins un, la liste <n¡elm> sera lue circulairement.
Dans l'exemple au-dessus si <prof> a plus de quatre elements,
le module recommencera la lecture du debut de <n¡elm>, c'est-a-dire,
entre la quatrieme paire d'elements de <prof> nous aurons trois elements,
apres quatre, etc..
<tab> cette entree accepte un module bpf et realise l'interpolation
entre <begin> et <end> avec le profil dessine dans la bpf.
Si aucun module <multi-bpf> est connecte l'interpolation sera lineaire.
De la mme maniere que <n¡elm> il est possible de connecter soit un
objet <multi-bpf>, soit une liste d'objets <multi-bpf>.
Si <tab> est un objet <multi-bpf> l'interpolation entre toutes les [[paires]]
de <prof> sera toujours avec la forme designee par <tab>.
Dans ce cas <tab> a une action globale.
Mais il est aussi possible de rentrer dans <tab> une liste
qui definirait une direction d'interpolation differente
pour chaque paire d'elements de <prof>, ce qui nous permet
un contrle locale.
Si le nombre d'elements de <tab>> est plus petit que le nombre
d'elements de <prof> moins un, la liste <tab> sera lue circulairement.
<note?> entree optionnelle qui permet l'ajustement de la sequence generee
(exception faite a <begin> et <end>) a un (ou plusieurs) champs harmoniques.
<note?> peut tre soit une liste simple ou soit une liste de listes.
Si <note?> est une liste simple tous les objets seront ajustes
en fonction des notes de cette liste.
Si <note?> est une liste de listes a chaque objet genere sera
fait correspondre une des sous listes. Si le nombre de sous listes
est plus petit que la longueur de la liste des interpolations, la
liste de listes <note?> sera lue circulairement.