< Back to IRCAM Forum

Erreur dans un loop

Bonjour

je n’arrive pas à faire marcher ce loop , il y a une erreur que je n’arrive pas a corriger pourriez vous m’aider. En entree il doit y avoir une liste de midi cents

Merci Patrick

PatrickLoop.omp (6.6 KB)

Hello Patrick,

je vois plusieurs causes : a priori, le patch ‘mypatch-montest’ mis en fonction lambda doit avoir l’une de ses deux entrées remplie par une valeur afin que l’autre entrée puisse s’appliquer à chacune des valeurs de la liste. Aussi la fonction ‘car’ dans mypatch-montest’ ne peut pas s’appliquer si chaque élément de la liste n’est pas une liste.
Si tu veux comparer les valeurs successives d’une liste, comme je crois comprendre, peut-être la solution est la suivante, dans le patch ci-dessous…

patrickloop-test.omp (11.8 KB)

Je te remercie mais pour en entrée

(6000 7200 8300 9400 )

le patch me renvoi i

OM => ((9400 8300) (8300 7200) (6000 6000))

alors qu’il devrait me renvoyer je crois si je veux reduire d’une octave

(6000 6000 7300 8200 ).

PS: j’ai posté sur le forum car tes emails ne marchent pas .

Merci. Patrick.

got it :slight_smile: ceci devrait faire ce que tu attends.

patrickloop-test2.omp (11.9 KB)

Je te remercie c’est ce qu’il me fallait , j’y ai passe deux jours , c’est pas très intuitif

Merci encore

Patrick

J’avoue que la doc de omloop est depuis toujours quelque peu succincte !
Le fait d’avoir commencé avec [accum] dans l’omloop qui implique un patch en mode fonction lambda plutôt que [collect] peut rendre la chose encore moins intuitive, d’autant qu’il me semble qu’en utilisant [accum] la fonction lambda se devait d’être recursive pour récupérer les éléments précédents !