Catégories
Liens
Ceci est une ancienne révision du document !
100h à répartir :
Projet : œuvre à réaliser.
Techniques possibles : OpenFrameworks, opencv, opengl, webgl, …
Pure Data : écrit en C, client/serveur, temps-réel. La bibliothèque graphique est tcl/tk, multiplateforme mais vieillissante. Le but de Miller Puckette : conservation d'un patch pendant 50 ans, gérer le temps-réel.
Pure Data extended contient Pure Data et y ajoute des bibliothèques dont certaines sont indispensables. C'est celui que l'on utilise.
Libpd est écrit par Peter Brinkmann et permet de réutiliser des composents préexistants (patch) au sein de n'importe quelle application, notamment écrite en : Java, C#, Objective C, C, Python. Existe pour mobiles : pd-for-android, pd-for-ios. ==== Problématique ==== L'ergonomie de Pure Data pose problème (voir les [[http://lite.framapad.org/p/MasterClass_Pd inconvénients de Pd]] ) : * Tcl/Tk est peu performant pour gérer le GUI, fortes latences et des bugs surviennent à cause de cela. * de nombreuses fonctionnalités classiques n'y sont pas * le processus de développement est lent et pénible, des développeurs abandonnent, d'autres proposent des forks car le constat est le même depuis au moins 2006. ==== Définition des objectifs ==== En gras, les priorités “faisables” * Multiplateforme * Libre et Open Source * Gui rapide : séparation du moteur et de l'interface graphique (voir les propositions). Notion de graphe audio (dsp tree). Parfois on utilise deux instances de Pd… * Une fenêtre avec des panneaux plutôt que du multifenêtre partout… * Presets, mémorisation de l'état des objets * Survol : description des objets * Undos * Plus d'options pour les gui * Scroll dans les sous objets et abstractions * Fenêtre de preview vidéo gem integré dans le patch * Lecture vidéo + son * Piano roll et automation dans le temps sous forme de courbes… * Zoom * Agrandir les rectangles entrées/sorties * Importer en svg, exporter en pdf, png * Standalone ? * Menu avec Icones, intégration facile des images dans les objets (zoom !) * Connections facile 1 objet à plusieurs etc. * Enregistrement vidéo, multi écrans ==== Solutions ==== Voir aussi quelques exemples recensés ici * Osbolètes : ZenGarden, desiredata, vibrez_pure * pd2lork : vidéos * libpd/interface html5 * Blender http://wiki.blender.org/index.php/Doc:2.6/Manual/Interface * Max msp (Juce Framework) … * Qt/tcl/gtk