Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2011-05-17 19:29:45 bogues dans séquenceur pas à pas

elode
membre
Lieu: Salasc
Date d'inscription: 2011-04-07
Messages: 28
Site web

bogues dans séquenceur pas à pas



Bonjour smile
Pas très avancé dans la connaissance de PD, je me suis lancé dans la programmation d'un espèce de séquenceur pas à pas un peu particulier, puisque chaque pas peut avoir sa propre durée.
J'ai un ou deux bogues que je n'arrive pas à résoudre qui sont rédhibitoires pour la suite de la programmation des idées que j'ai encore à développer.

J'ai vraiment du mal à expliquer comme ça.
En bref, je voudrais que si je fais une modification de la séquence, celle-ci soit prise en compte uniquement à la fin du cycle précédent.
Pour le moment, quand je lance le séquenceur, ça tourne correctement, sauf que si j'introduis un nombre de pas différent à la séquence pendant que ça tourne, ça fout un peu le bordel.

J'ai mis le code où il en est en pièce jointe, mais c'est un peu touffu. Si quelqu'un a le courage… ou la curiosité, je veux bien l'aiguiller sur le fonctionnement du patch.

Bien à vous,
Elode

Dernière modification par elode (2011-05-17 19:30:39)

Hors ligne

 

#2 2011-05-24 15:27:20 Re : bogues dans séquenceur pas à pas

jerome
membre
Date d'inscription: 2008-03-04
Messages: 103
Site web

Re: bogues dans séquenceur pas à pas



En fait, ton patch est un peu compliqué. Les choix sont assez spécifiques, c'est difficile de comprendre comment il fonctionne donc de t'aider. De plus, certains objets ou abstractions ne peuvent être créées, comme :

 0midiNotes01
... couldn't create
 0ValeursNotes
... couldn't create
 0accelerationxavRampe
... couldn't create
 spigot~
... couldn't create

J'ai fait un petit récapitulatif sur les différentes possibilités classiques de fabriquer/utiliser un séquenceur : http://codelab.fr/2401#p12521
Je ne sais pas si ça pourra t'aider.

Tu pourrais essayer de voir du côté des matrices avec la bibliothèque [iemmatrix] et aussi quelque chose qui me fait penser à ce que tu essaies de faire, ou en partie, utilisé dans le spectacle vivant et fait par Cyrille Henry :
http://www.chnry.net/ch/?084-Linear-cue-system

Dernière modification par jerome (2011-05-24 15:30:30)

Hors ligne

 

#3 2011-05-26 17:53:34 Re : bogues dans séquenceur pas à pas

elode
membre
Lieu: Salasc
Date d'inscription: 2011-04-07
Messages: 28
Site web

Re: bogues dans séquenceur pas à pas



Pour Jérome :
Merci pour la réponse. J'ai bien avancé depuis, mais toujours quelques bogues
– J'ai remplacé les $1 par des $0, car je voudrais pouvoir en lancer plusieurs instances en même temps.
– J'ai remplacé les abstractions par des sous-patches pour la même raison.
Dans mon premier envoi, j'avais oublié de joindre les abstractions. Donc, maintenant, il n'y a plus qu'un fichier pd et des sous-patches.

J'ai rajouté des commentaires dans le fichier pd pour aider un peu à l'exploration de l'engin.
C'est vraiment un drôle de joujou, mais les quelques bogues qui l'affligent m'empêchent d'aller plus loin dans mes idées.
J'espère que quelqu'un aura la patience et l'amusement de me donne un coup de main (au départ, je n'ai rien d'un programmeur).

D'autre part, Y a-t-il quelqu'un de familier avec pure data qui habiterait dans la région de Béziers ? Ça m'intéresserait d'être en contact.

Je vais explorer un peu les liens qui sont dans ton récapitulatif quand j'aurai un peu plus de temps. Pour le moment, je me prépare pour tout autre chose : Je suis aussi éditeur de bouquins sur le dessin et je pars pour le weekend à Chaumont pour le festival de l'édition graphique.

Merci,
À bientôt,
Elode

Hors ligne

 

#4 2011-05-26 18:17:59 Re : bogues dans séquenceur pas à pas

jerome
membre
Date d'inscription: 2008-03-04
Messages: 103
Site web

Re: bogues dans séquenceur pas à pas



C'est un peu plus clair.

Quelques remarques en passant, sans rentrer dans le détail de ton séquenceur :

1. Remplaces [spigot~] par [unauthorized/spigot~]. Chez moi il ne se créé pas au démarrage.

2. Je pense que chaque ligne doit être une abstraction.

3. Si tu veux utiliser le $0 du patch principal tu peux le mettre dans le premier argument de l'abstraction.
A l'intérieur de l'abstraction si tu utilises le $1 (donc ce premier argument), tu retombes sur le $0.

4. Pour moi, tes abstractions devraient donc être de ce type :
[ligne $0 1]
[ligne $0 2]
[ligne $0 3]
etc.

C'est vraiment beaucoup plus facile à gérer.

5. Il faudrait ensuite les générer dynamiquement avec les messages internes de Pd.

Dernière modification par jerome (2011-05-26 23:21:16)

Hors ligne

 

#5 2011-06-09 15:20:34 Re : bogues dans séquenceur pas à pas

elode
membre
Lieu: Salasc
Date d'inscription: 2011-04-07
Messages: 28
Site web

Re: bogues dans séquenceur pas à pas



Bonjour,
J'ai fait les modification suggérées par Jérome. Ça n'a pas été sans mal mais ça m'a permis de comprendre pas mal de choses (merci Jérome smile).
J'en ai profité pour simplifier un peu le patch, histoire d'y voir plus clair (quitte à le l'enrichir plus tard).

Maintenant se pose pour moi la question de la mémorisation des paramètres (pouvoir rappeler des séquences et des groupes de sons).
En plus, vu que chaque ligne de son est maintenant une abstraction, chaque fois que je sauve celle-ci, toutes les lignes se retrouvent avec les mêmes paramètres.
En pièce jointe, le patch où il en est…

Hors ligne

 

#6 2011-06-09 15:27:27 Re : bogues dans séquenceur pas à pas

elode
membre
Lieu: Salasc
Date d'inscription: 2011-04-07
Messages: 28
Site web

Re: bogues dans séquenceur pas à pas



Oups ! j'ai oublié de joindre les abstractions… Voilà l'ensemble dans un fichier compressé.

Hors ligne

 

#7 2011-06-10 13:06:37 Re : bogues dans séquenceur pas à pas

jerome
membre
Date d'inscription: 2008-03-04
Messages: 103
Site web

Re: bogues dans séquenceur pas à pas



Peut-être faut-il ajouter le terme "preset" à la discussion ? A moins qu'il y ait une autre discussion plus complète sur les presets.

Remarques
Quelques remarques avant de parler des presets :

1. Tu peux afficher le second argument d'une abstraction dans un canvas comme ceci
http://codelab.fr/up/init-label-canvas.png

2. Tu peux enlever le nom de l'abstraction en cliquant droit sur l'abstraction > properties > Hide object name and arguments

3. Pour pouvoir utiliser les presets, il faut que tu fasses en sorte d'utiliser le même type d'argument pour l'objet [popup] (je pense que c'est celui que tu utilises). C'est-à-dire, soit un float en entrée et un float en sortie, soit un symbol en entrée et un symbol en sortie.

Les presets

Pour ajouter de la persistance à Pure Data, c'est-à-dire, enregistrer des données pour pouvoir les rappeler, il existe plusieurs solutions. C'est un vaste débat.

J'en ai parlé pour un autre sujet sur les partitions dans Pd :
http://codelab.fr/2401#p12521

Il y a une bibliothèque assez utilisée, car légère et assez simple : sssad. Elle est disponible sous forme d'abstractions dans Pd-extended/extra/sssad. Elle utilise des listes.

Les structures peuvent aussi être utiles.

Pour ma part, j'utilise souvent l'objet [coll]. Je livre donc une solution avec cet objet.

Exemple avec une abstraction et [coll]
Patch et images :
http://abel.jerome.free.fr/pd/mem/test-ligne-preset.zip

ligne-preset $0 identifiant
http://codelab.fr/up/ligne-preset.png

preset-coll
http://codelab.fr/up/preset-coll.png

Dernière modification par jerome (2011-06-10 13:15:32)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024