Annonce

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


#1 2013-02-20 23:34:56 Enregistrer des paramètres.

lionmarron
membre
Lieu: Montauban
Date d'inscription: 2013-01-14
Messages: 58
Site web

Enregistrer des paramètres.



Bonjour,

J'ai un pacth avec 56 boutons verticaux, 10 boutons horizontaux et 12 interrupteurs, C'est peu de chose mais ça fait déjà 78 paramètres et il ne va pas être très performant de noter chaque fois les configurations intéressantes sur du papier. Par ailleurs je me serais attendu à ce qu'il existe un moyen de mettre les infos correspondantes dans un fichier mais je trouve rien sur le sujet.

Je pensais peut-être trouver une réponse dans le fil récent "Comment sauvegarder à l'interieur d'une abstraction", mais ce fil est vraiment trop compliqué pour moi. Je n'ai pas davantage pu comprendre le patch de Jessica Nichenin. Donc ici ce serait seulement pour sauvegarder depuis le patch principal, et non à l'intérieur d'une abstraction.

J'ai essayé [savepanel] et [openpanel], mais je n'ai pas pu faire fonctionner ces objets ni comprendre leur help. [savepanel] ouvre bien la fenêtre d'un sélecteur de fichier, mais à titre d'exemple après avoir entré essai.txt puis cliqué sur "enregistrer", je n'ai pu trouver aucun fichier essai.txt dans le répertoire concerné.

[openpanel] ouvre aussi le sélecteur de fichiers, mais il n'a pas semblé davantage que j'ai pu charger quelque chose après avoir sélectionné un fichier.

Enfin l'exemple proposé par [textfile-help] donne quelques retours sur la console, mais ça semble quand même assez peu clair et je suis loin d'être sûr que ce soit de ce côté qu'il faille chercher.

Serais-je passé à côté de quelque autre chose ?

Hors ligne

 

#2 2013-02-21 00:01:51 Re : Enregistrer des paramètres.

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Enregistrer des paramètres.



Regarde du côté de sssad : http://puredata.info/downloads/sssad
Mais vu que tu as l'air de galérer en anglais, ça va pas être facile.

Hors ligne

 

#3 2013-02-21 00:12:41 Re : Enregistrer des paramètres.

albdet
membre
Date d'inscription: 2011-09-14
Messages: 166
Site web

Re: Enregistrer des paramètres.



La solution la plus simple. Patch joint.
Sinon il faut éditer des fichiers textes avec des index ( lignes numérotées ).
Personnellement, je ne m'y suis jamais collé.

Hors ligne

 

#4 2013-02-21 00:14:41 Re : Enregistrer des paramètres.

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Enregistrer des paramètres.



On a pas la même notion de la simplicité :p

Hors ligne

 

#5 2013-02-21 00:27:32 Re : Enregistrer des paramètres.

albdet
membre
Date d'inscription: 2011-09-14
Messages: 166
Site web

Re: Enregistrer des paramètres.



Effectivement, ça marche bien , mais peut-être plus pénible à éditer rapidement.
à coup de $1 $2 $3 $4 $5 ...

Dernière modification par albdet (2013-02-21 00:29:27)

Hors ligne

 

#6 2013-02-21 08:09:42 Re : Enregistrer des paramètres.

philippe boisnard
membre
Date d'inscription: 2008-09-23
Messages: 478

Re: Enregistrer des paramètres.



yop, un petit exemple de save fait à la va vite au petit dej' ce matin. ensuite cela peut être compléter avec des écritures dans chaque index, etc...

Dernière modification par philippe boisnard (2013-02-21 08:12:17)

Hors ligne

 

#7 2013-02-23 00:52:17 Re : Enregistrer des paramètres.

lionmarron
membre
Lieu: Montauban
Date d'inscription: 2013-01-14
Messages: 58
Site web

Re: Enregistrer des paramètres.



Merci pour les réponses. Il y a quelque chose d'intéressant dans toutes. Mais je me suis surtout inspiré de la première :

dwan a écrit:

Regarde du côté de sssad : http://puredata.info/downloads/sssad
Mais vu que tu as l'air de galérer en anglais, ça va pas être facile.

sssad est vraiment compliqué comme abstraction, Impossible de comprendre comment elle fonctionne, mais avant de tenter de l'utiliser j'ai essayer de comprendre, et en la regardant je me suis dis que dans un premier temps des objets comme [textfile] et consoeurs suffiraient peut-être.

Je n'ai pas réussi à comprendre la différence entre [textfile] et [qlist], mais j'ai compris que ces objets permettent d'écrire un fichier texte sur le disque, et c'est ce qui m'a fait retenir cette solution.

Enregistrer les paramètres en même temps que le patch est intéressant même si ça ne marche que pour une configuration, et je ne savais pas le faire, mais le but étant de pouvoir enregistrer beaucoup de configurations, même si dans un premier temps je me contente de sauver une seule configuration, pour que ce soit utile il faut vraiment qu'elle soit dans un fichier séparé. Dans un second temps, et le plus souvent, ces configurations devraient être calculées par un programme écrit en C.

Comme je suis pas trop fort côté programmation j'aurai peut-être du mal à programmer le son (j'ai déjà du mal à ouvrir une fenêtre graphique pour envoyer des résultats ailleurs que sur le terminal), alors si je peux me contenter d'écrire dans des fichiers lisible par un patch PureData, il se pourrait que ça supprime une partie du problème dès le départ.

Pour l'instant, là où j'en suis c'est que je peux enregistrer ou lire sur le disque, mais une fois récupérer ce qui est sur le disque je peux seulement l'envoyer sur la console de PureData, je parviens pas à le récupérer ailleurs.
Ça ressemble à ça :

http://codelab.fr/up/essaiS.png

Lorsqu'on vient de rentrer des données le |print( permet de les envoyer sur la console, et, pour autant que j'ai pu comprendre, le |bang( permet de les envoyer par les sorties de [textfile], à gauche tant que la liste n'est pas fini, à droite dès qu'elle est fini (et alors ce qui sort est un bang).

Le problème c'est que lorsque le fichier vient d'être chargé il n'y a que le |print( qui marche, le |bang( ne prend pas la liste au début mais probablement à la fin, et il envoie directement un bang.

J'espère avoir bien expliqué le problème et je sais pas si quelqu'un verra une solution. A tout hasard j'envoie le patch en pièce-jointe.

Hors ligne

 

#8 2013-02-23 06:53:42 Re : Enregistrer des paramètres.

lionmarron
membre
Lieu: Montauban
Date d'inscription: 2013-01-14
Messages: 58
Site web

Re: Enregistrer des paramètres.



Ça y est j'ai trouvé. Il suffit du message |rewind( pour remettre sur le premier élément ce qui doit être une sorte de pointeur vers [textfile].

Hors ligne

 

#9 2013-02-24 07:54:04 Re : Enregistrer des paramètres.

rdc182
membre
Lieu: Montréal
Date d'inscription: 2013-02-23
Messages: 17

Re: Enregistrer des paramètres.



et pour sortir du print dans la console tu peux utiliser l'objet [route].

Pour textfile et qlist la différence est dans les messages d'entrée, le qlist permet entre autre de gérer le tempo.

Hors ligne

 

#10 2013-02-24 16:47:23 Re : Enregistrer des paramètres.

lionmarron
membre
Lieu: Montauban
Date d'inscription: 2013-01-14
Messages: 58
Site web

Re: Enregistrer des paramètres.



Merci pour ce message.

rdc182 a écrit:

et pour sortir du print dans la console tu peux utiliser l'objet [route].

J'ai du mal à sortir ailleurs que dans la console justement, et je n'ai pas trouvé de façon de faire avec [route].

Le print n'envoie rien sur les oulet, c'est bang qui envoie quelque chose sur les oulet, mais il les envoie une par une, ce qui m'a semblé ne pas aller avec route.

Pour les huit premiers nombres j'ai trouvé ça :

http://codelab.fr/up/essaiopen.png

Mes données sont des nombres de 0 à 11 qui doivent aller dans des boutons verticaux à douze positions, avec des adresses de réceptions comme rd_1, rd_2, etc. Pour utiliser la méthode précédentes il suffit remplacer donc les [print] par des [send]

Mais il y a quatre séries de douze boutons, et je pensais qu'il y aurait peut-être plus digeste.

Hors ligne

 

#11 2013-02-24 19:59:06 Re : Enregistrer des paramètres.

philippe boisnard
membre
Date d'inscription: 2008-09-23
Messages: 478

Re: Enregistrer des paramètres.



c'est quoi ce truc ?!!!!!! absurde ! ou lutôt drôle .....
je t'ai mis une ransformation radicale de ton patache... autrement pour le [coll] of course, save en dur dans fichier, en plus à chaque ligne tu peux choisir ton rang idéal pour save ou tu dois pour chaque instrument avoir plusieurs états... mais bon tu paraissais si sûr de toi...
http://codelab.fr/up/Capture-d-ecran-2013-02-24-a-19.53.01.png

et aussi pour tes séries : pd est quand même hyper-orientée objet : donc un moteur d'envoi et ensuite un abstract (donc un objet) avec une incrémentation par variable)..... pas plus digest que cela... Il y a que deux process à patcher.

Dernière modification par philippe boisnard (2013-02-24 20:05:12)

Hors ligne

 

#12 2013-02-24 22:04:27 Re : Enregistrer des paramètres.

lionmarron
membre
Lieu: Montauban
Date d'inscription: 2013-01-14
Messages: 58
Site web

Re: Enregistrer des paramètres.



philippe boisnard a écrit:

c'est quoi ce truc ?!!!!!! absurde ! ou lutôt drôle .....

Ben je voudrais devenir compositeur, pas forcément informaticien.

citation :

je t'ai mis une ransformation radicale de ton patache...

Merci c'est super.

citation :

autrement pour le [coll] of course, save en dur dans fichier, en plus à chaque ligne tu peux choisir ton rang idéal pour save ou tu dois pour chaque instrument avoir plusieurs états...

C'est du chinois ton histoire ; je vois ce que veut dire coll. Enfin comme je suppose qu'il est peut-être question de caractère de fin de fichier, j'en profite pour dire que je me suis demandé comment interrompre la boucle si le fichier est plus long que nécessaire ?

citation :

mais bon tu paraissais si sûr de toi...

Peut-être pas. Le fait est que je me suis trompé en disant que je voulais sauver des nombres de 0 à 11 (c'était de 0 à 29). Cela étant ce qu'il s'agit de faire est simple, et il n'y aura pas de nombre plus grand que 29, donc (au cas où ce serait ce que tu voulais dire) je crois pas utile d'enregistrer les numéros de lignes dans un tel cas.

J'ai un autre problème, et je sais pas si on peut considérer qu'il s'agit du même sujet (mais je saurais de toute façon pas dans quel sujet le mettre) :

La solution que j'avais trouvée était peut-être inélégante mais elle avait une particularité de mon point de vue plus difficile à comprendre.  Après avoir marché normalement elle avait cessé de fonctionner, et juste avant de lire ton message je venais de comprendre ce qui l'empêchait de marcher. Sauf que je sais pas si on peut considérer qu'il s'agisse d'une explication, bicause ça à l'air bizarre :

C'est le message rewind qui marchait plus, et c'est le fait de mettre un [inlet] au dessus du trigger qui l'empêchait de marcher (avec un [receive] ça marche, avec un [inlet] non).

Hors ligne

 

#13 2013-02-24 23:52:53 Re : Enregistrer des paramètres.

rdc182
membre
Lieu: Montréal
Date d'inscription: 2013-02-23
Messages: 17

Re: Enregistrer des paramètres.



Bah! Ne tiens pas rigeur des exclamations de philippe, ce n'est que l'effet de surprise. Moi aussi en voyant ton code j'ai réagis de même, mais avec un accent québécois : "C koi s'tosti d'affaire là".

Bref, pas mal du tout le [flush( sur [msgfile]. Ça simplifie grandement le routage comparativement à un textfile.


lionmarron a écrit:

Peut-être pas. Le fait est que je me suis trompé en disant que je voulais sauver des nombres de 0 à 11 (c'était de 0 à 29). Cela étant ce qu'il s'agit de faire est simple, et il n'y aura pas de nombre plus grand que 29, donc (au cas où ce serait ce que tu voulais dire) je crois pas utile d'enregistrer les numéros de lignes dans un tel cas.

C'est un peu confus ton projet. Perso, je n'ai pas réussi définir ce que tu essais de programmer comme outil? Un synthé, un séquenceur, un MIDI controller pad, etc?

Pour les problèmes avec ton patch, tu crées un nouveau dossier nommé ugly_code et tu y mets ton patch avec la mention ne pas ouvrir avant le 1 janvier 2025.  big_smile

Blague à part, la solution avec le msgfile me semble interressante à explorer, je ne connaissais pas. Pour la gestion des presets et le routage avec textfile je t'ai trouvé un site qui détail assez bien la procédure. En anglais malheuresement, mais le patch preset-manager.pd parle de lui-même.
http://gregsurges.com/programming/prese … -pure-data

Hors ligne

 

#14 2013-02-25 03:15:22 Re : Enregistrer des paramètres.

lionmarron
membre
Lieu: Montauban
Date d'inscription: 2013-01-14
Messages: 58
Site web

Re: Enregistrer des paramètres.



rdc182 a écrit:

Bah! Ne tiens pas rigeur des exclamations de philippe, ce n'est que l'effet de surprise. Moi aussi en voyant ton code j'ai réagis de même, mais avec un accent québécois : "C koi s'tosti d'affaire là".

Bref, pas mal du tout le [flush( sur [msgfile]. Ça simplifie grandement le routage comparativement à un textfile.

Le fait est que sa solution est vraiment mieux. Je la comprends pas parfaitement (et je n'avais pas encore utilisé de boucle avec PureData), mais il faudra que je réécrive ce qui sert à enregistrer quand j'aurai mieux compris.

A propos de [coll] je me suis trompé en écrivant "je vois ce veut dire coll". Il manque la négation (je voulais dire je vois pas). Entre temps j'ai compris qu'il devait s'agir d'un objet, et de fait, là aussi ça devrait être intéressant.

citation :

C'est un peu confus ton projet. Perso, je n'ai pas réussi définir ce que tu essais de programmer comme outil? Un synthé, un séquenceur, un MIDI controller pad, etc?

Je n'ai pas présenté mon projet et je n'avais pas cru devoir le faire. Donc je sais pas si c'est dans le sujet mais, pour ce qui concerne le projet mentionné ici, le patch principal se présente comme ça :

http://codelab.fr/up/mke.png

Pour l'instant il n'y a que ce qui concerne le côté droit qui fonctionne, ce qui n'est pas le sujet. (Et quand il sera fini la présentation sera presque aussi effroyable, mais ce n'est peut-être pas non plus le sujet.) Ça ne sert pas essentiellement à gérer des timbres, encore moins des instruments, ce qui est peut-être ce qu'on entend le plus souvent par preset (je suis pas sûr de bien comprendre ce terme), mais plutôt des hauteurs.

Pour ce qui concerne mon projet en général, a priori ça devrait être encore moins dans le sujet, mais je risque de m'avérer suffisamment mauvais programmeur pour ça reste lié à PureData, ou à d'autres programmes que je n'ai pas écrit. Sinon je voudrais faire quelque chose qui fonctionne à partir d'un code texte, c'est-à-dire la façon de Lilypond plutôt qu'à la façon de PureData (mais qui serait pour le reste à peu près à l'opposé de Lylipond, sinon j'aurais écrit "plutôt qu'à la façon de Finale ou de Sibélius"). Evidemment ça sera pas non plus aussi sophistiqué.

citation :

Pour les problèmes avec ton patch, tu crées un nouveau dossier nommé ugly_code et tu y mets ton patch avec la mention ne pas ouvrir avant le 1 janvier 2025.  big_smile

Là je suis pas sûr de comprendre. J'ai trouvé le sens du mot ugly, mais si le conseil se rapporte au fonctionnement intermittent du message |rewind( je comprends pas très bien. Soit c'est un bug et dans ce cas il vaut mieux le savoir, soit il y a une raison à ça et dans ce cas j'aimerais autant savoir laquelle.

Evidemment il y a aussi le cas du bug qui se produit sur un ordinateur ou une configuration particulière et pas ailleurs. Si tel est le cas le problème peut sans doute attendre jusqu'en 2025, effectivement. (Mais je fait comment pour le savoir ?)

citation :

Pour la gestion des presets et le routage avec textfile je t'ai trouvé un site qui détail assez bien la procédure. En anglais malheuresement, mais le patch preset-manager.pd parle de lui-même.
http://gregsurges.com/programming/prese … -pure-data

J'ai pas encore regardé de près mais ne pas en déduire que ça ne puisse pas m'intéresser...

Hors ligne

 

#15 2013-02-25 09:12:38 Re : Enregistrer des paramètres.

rdc182
membre
Lieu: Montréal
Date d'inscription: 2013-02-23
Messages: 17

Re: Enregistrer des paramètres.



Merci pour les détails de ton projet. Ton terme MIDI Key expirimentor donne un bon aperçu de l'idée générale.

Concernant le terme presets. À la base la meilleure traduction en français serait probablement "configuration d'usine". Dans la pratique le terme presets peut effectivement prendre plusieurs formes. Habituellement, c'est produit le final qui permet de se faire une idée du système. Dans l'état actuelle de ton projet le terme "paramètres" est très bien, il s'agit simplement de bien définir la chose. Un bon truc c'est regrouper les divers paramètres en ensembles cohérents. Par exemple, les paramètres du synthé, les paramètres du séquenceur, les paramètes MIDI, etc.

lionmarron a écrit:

Sinon je voudrais faire quelque chose qui fonctionne à partir d'un code texte, c'est-à-dire la façon de Lilypond plutôt qu'à la façon de PureData (mais qui serait pour le reste à peu près à l'opposé de Lylipond, sinon j'aurais écrit "plutôt qu'à la façon de Finale ou de Sibélius"). Evidemment ça sera pas non plus aussi sophistiqué.

Pour bien cadrer la discussion, l'expression "faire quelque chose" n'est pas très explicite. Ici on parle sans doute de la manière de séquencer ce qui n'a rien à voir avec la sauvegarde des paramètres bien qu'une partition (fichier) peut agir sur les paramètres. Donc, Lylipond c'est surtout adapté pour le rendu graphique de partition, mais je comprend ton idée. Les objets textfile et qlist de puredata sont avant tout conçu pour séquencer. Étant un simple format txt tu es complètement libre d'organiser le format à ton goût.

Pour "ugly code" ça se traduit très mal en français, mais habituellement ça ressemble au genre "c'est quoi ce truc ?!!!!!! absurde ! ou lutôt drôle ....."

En terminant, si la question de sauvegarde des paramètres te semble pas très claire pour le moment, tu peux très bien utiliser
temporairement la technique présenté par dwan dans le patch exemple-sauvegarde.pd Ça peut te permettre d'avancer sur les autres fonctions pour mieux revenir sur la question de sauvegarde plus tard.

Dernière modification par rdc182 (2013-02-25 09:38:44)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024