[PD] [annouce] seg_0.01 - an experimental GUI for pd.

Damien HENRY damien_henry at libertysurf.fr
Sun Feb 17 22:04:53 CET 2002


Dear list.

I've some idea i whant to share about GUI and pure-data. 
Seg_0.01 is the way i've chose to express them.

1) Here I'll try to explain what seg is :

  GOALS :
    To allow users of pure-data to disgn their own gui objects.
  PARADIGME :
    The gui will be entirely describe in pd patchs.
    One graphical object <=> One object in a pd patch.
  HOW :
    By provided an atom object called seg that can :
      * draw a line into a canvas,
      * allow to modifiy the line,
      * receive from the canvas and send to pure data all the events in 
relations with the graphical line object.
      * Destroy the line.


2) Why seg is close to the data features of pure-data, and why it's different 
?

  The goals of the experimental data features of pure-data is certainly the 
same as seg :
  Provide a tools to compositor to create their own representation for their 
own musical language.

  Pure data will be THE PERFECT TOOL for writting music and not only to 
generate RT sound.

  The data approch is based on the Concept of template : The user will disign 
the template of an object.
    The HUGE good point is that the user got the ablility to dynamicly cut 
and paste any objects.
    pure-data will automaticaly manage the duplication of the data.
    The bad point is that today the code that will manage the object is not 
inside the template.
    This mean that the way to write patch that use the data feature is not 
very easy.

Miller, please corect me if i'm wrong.


  The seg approch is base on his paradigm : One pd object <=> one graphical 
object.
    This imply that the pd object will provide properties, methods and events 
of the graphical side.
    And this make very easy to make complex GUI with very few simples objects.
    But it's not possible to duplicate a graphical object without duplicate 
the pd object...


You can download seg_0.01 @ http://www.multimania.com/dh7/
I've put this link to the pdwiki too.


Any kind of feedback is welcome.

Damien Henry.


------------------------------------------------------
P.S. : Here the complete readme.txt file :

This is the README file for seg_0.01, a GUI (Graphical User Interface) server 
for pure data.

The goal of seg0.01 is not to replace the existing GUI, but to add some 
graphicals functionality to pd.

seg_0.01 is designed to run on all platforms supported by pure data.
It is working very well on linux, well on win2000 and not so well on win98 
where tcl/tk is too slow.

All this documentation is write in a poor english.


1) Here I'll try to explain what seg is :

  GOALS :
    To allow users of pure-data to disgn their own gui objects.
  PARADIGME :
    The gui will be entirely describe in pd patchs.
    One graphical object <=> One object in a pd patch.
  HOW :
    By provided an atom object called seg that can :
      * draw a line into a canvas,
      * allow to modifiy the line,
      * receive from the canvas and send to pure data all the events in 
relations with the graphical line object.
      * Destroy the line.

2) Quick start

  1. Run seg0.001.sh
   (linux) execute ./seg_0.001.sh from a terminal
   (windows) modify seg0.01.bat (put the rigth paths) and execute it.
     This will open a blank window. This window will be our drawing area.

  2. Run pd and load the 00_connect.pd patch.

  3. connect the patch with the upper left message

  4. load one of the xx_test_seg.pd patch

  4. Then play with the patch (uses the add messages one time to create some 
gui)
    and enjoy the result in the seg window.


2) Some more technical info :

  On a technical point view all of this is very simple.

  seg is divided into 2 part :
    * The seg server (seg_0.01.sh) is a tcl/tk script that exchange data with 
pd via socket

    * Some pd abstraction that are uses to establish the conection between pd 
and the seg server.(s-link.pd)
    The "seg.pd" abstraction that is the basic object to draw a GUI in the 
canvas.

3) Why seg is diferent from the iem/grip way ?

  Because in iem or grip, the basic elements for buildings a GUI are on a 
very hight level :
    Sliders, and so much more.
    Seg didn't provide this king of high level features but allow the pd user 
to disgn their own ones.

3) Why seg is close to the data features of pure-data, and why it's different.

  The goals of the experimental data features of pure-data is certainly the 
same as seg :
  Provide a tools to compositor to create their own representation for their 
own musical language.

  Pure data will be THE PERFECT TOOL for writting music and not only to 
generate RT sound.

  The data approch is based on the Concept of template : The user will disign 
the template of an object.
    The HUGE good point is that the user got the ablility to dynamicly cut 
and paste any objects.
    pure-data will automaticaly manage the duplication of the data.
    The bad point is that today the code that will manage the object is not 
inside the template.
    This mean that the way to write patch that use the data feature is not 
very easy.

Miller, please corect me if i'm wrong.


  The seg approch is base on his paradigm : One pd object <=> one graphical 
object.
    This imply that the pd object will provide properties, methods and events 
of the graphical side.
    And this make very easy to make complex GUI with very few simples objects.
    But it's not possible to duplicate a graphical object without duplicate 
the pd object...

  As you can see thoses two way of thinking are very complementary, and i 
hope that some day all of this
    will merge.

4) Todo list :

  * First rearenge everything to make a first stable release with the same 
fonctionalitys
    but in a more rational way.
  * Add some objects : circles, text, pictures, button, etc...
  * Add some methodes : nearest, colision, etc...
  * integrate seg closer into pd.
  * why not rewrite it in java ?
  * Or write a policy to put the seg code into html using the tcl/tk plugins ?
  * a real doc.
  * Etc...

5) Contact :

Please don't hesitate to contact me if you need some help or some info about 
seg.
Don't hesitate to reports bugs too...

Damien HENRY : dh7 at multimania.com

6) Thanks :

* Miller Puckette.
* Everybody involved in pure-data.
* & + ...

7) COPYRIGHT.

  Except as otherwise noted, all files in the seg distribution are

    Copyright (c) 2002 damien Henry and others.

For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "LICENSE.txt," included in the seg distribution.



More information about the Pd-list mailing list