[PD-cvs] pd/src TODO,NONE,

Mathieu Bouchard matju at users.sourceforge.net
Mon Sep 12 00:12:16 CEST 2005

Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29201

Added Files:
      Tag: devel_0_39
Log Message:
importing TODO from ImpureData

--- NEW FILE: TODO ---
DesireData's TODO list, $Id: TODO,v 2005/09/11 22:12:14 matju Exp $
[h] means for Chun
[m] means for Matju
[c] means for Carmen


[h] remove Chun's hack so that the objectboxes are created server-side first.
[m] sort thru old TODO list (0.37.B and 0.37.C)

Old TODO list (should be cleaned and merged with the new ones)


 * <numberat> is there a way to make non-gui objects appear on a GOP?
 * printf's unused chars: "!\"&(),/:;<=>?@BDHJKMNOPQRTUVWYZ[\\]^_`bkmrvwy{|}~"
 * receive-symbols are fucked ?
 * send-symbols are fucked ?
 * multilingual Tk labels & menus
 * multilingual labels in objects
 * multilingual comments
 * must work with ALL gridflow samples
 * broke [vu]
 * bug: redraws hidden gui objects
 * fix look of selection
 * Tcl needs default values
 * make sure $0 actually works (see canvas_realizedollar)
 * test rcv_able, snd_able
 * maybe use 0 (==NULL) instead of gensym("empty")
 * "can't read oval"
 * pdrc: bug in tcl loader (see on boltanski)
 * iem: what's the default for steady?
 * iem: snd/rcv problem!
 * slider: is_log
 * numbox: is_log
 * menuclose problem
<ix> btw u know about the 'infinite loop' thing w/ vsliders right
 * [hradio] : chg -> is_log
 * [vu] props : scale should appear instead of is_log
 * [vu],[cnv] have fcol in props !
 * [vu] has snd in props !
 * Duplicate wires?
 * Can connect object to an object that is inside a GOP (!!!!)
 * weird offset stuff when there are negative canvas coords sometimes.
 * fontbomb blows up GOP or stuff.
 * better reporting of errors in .pdrc
 * examine licensing / legal stuff
 * BUG: undo broken because of my gui stuff?
   * <dpro> matju: and I still get segfaults if I use -console nn
     <dpro> matju: it only happens when I load cyclone or hammer or sickle
     <dpro> matju: and it happens when I load -lib sdjsddsd (i.e. some nonexistent thing)
 * BUG: doublequote hack, m_binbuf.c:82
 * Bug: bad quoting in sys_mgui()
 * Bug: Control key is fucked on OSX
 * Bug: spaces in name of vslider cause corruption of properties (devel_0_37)
 * classlist: add method signatures
 * bang flash delays should be reimplemented
 * pdrc_options radio don't load/save



<MiS> matju: a question about completions:  is there a key combination to actually complete the name of an object?  The hint area is a lot of fun but how do I complete the name when I'm too lazy to type the whole thing in?
<MiS> matju: but, as marc pointed out, do get the fscking diploma...
<MiS> matju: it's either the sf.net lag or the GOP isn't quite there...
<MiS> matju: need screenshots?
<MiS> matju: ah, ok.  number2 does not, nor vu~ but I guess for now I can live without it...  The funny thing is that vu~ worked fine before.  Now it gets misplaced.
<MiS> matju: hmmm... segfaults with my looper patch (no GOP), the one I used when I came over with Marc.  It's rather GUI intensive...
<MiS> sys_vgui: buffer overflow
<MiS> matju: may I request a little cosmetic fix.  In the "Open" dialog window, I have always found it annoying that all dot directories show up.  I'd prefer this to be an option so that I get to scroll less...
 * patch window may open off-screen (all branches)
 * patch window may open too big (all branches, osx)
 * properties on objectboxes (generic dialogs tapping into method signatures)
   * hooks for outsourcing the preceding stuff to a plugin (eg: GridFlow, PyExt)
 * VT100 colours in console
 * use tcl_platform, ditch pd_nt
 * <alx2> matju: a GOP object is created with the same colour as the edit mode background, it should be made lighter
 * [graph] is too slow (gui) for real big arrays
 * add scale, zoom, theme
 * doublequotes have problems in comments
 * floats have problems in comments
 * newlines have problems in comments, msgboxes, objectboxes.
 * make better C<->Tcl layer (to allow \{ \} \\ spaces newlines etc)
 * multiple undo
<scuntz> matju, could you add an inlet inspector? that goes in the bottom of the window
<scuntz> so when you mouseover, it shows you the data types, and what the inlet is expecting
<scuntz> like "int: set left operand, bang: do it"
<zkink> matju: can you add a font selector right into PD? a menu instead of setting it at load time
<zkink> matju: can you add a hotkey configuration dialog. it lets you hit a hotkey and it puts down any object under your mouse
<zkink> puts down a [t b i]
<matju> yea, of course... eventually... and a button bar manager at the same time
<zkink> and color code them, and same with wires
<zkink> as well as select multiple wires, or multiple objects, and color code them
<zkink> the little square PD window needs cleaning up
<zkink> it takes 5x more space than is needed, for the amount of information it shows
<zkink> PD should highlight the inlet you're connecting to
<zkink> when they're close together, it's difficult to tell which one you're going on
<zkink> max doesn't use a circle icon, instead, it highlights the inlet 
<zkink> much more informative
<zkink> if you do segmented patchchords, it needs some functions:
<zkink> a hotkey to click on the chord, and add a new segment
<zkink> a hotkey to drag the "points" (where two lines meet)
<zkink> a modifier key to delete a segment (actually the others should be that way too)
<zkink> and: you should be able to right click on a regular patchchord, and press "segment"
<zkink> or do a hotkey with it
<zkink> and it automatically turns it into an straight-elbow multisegmented chord
<zkink> like _| instead of /
<zkink> it makes it into three lines: _|~
<zkink> also: pd should have a NULL object. it looks like a point * on the GUI.
<zkink> it does nothing but pass data through a splitter/merger.
<zkink> circuits do this. they can split. they dont need to go into a module to split.
<zkink> PERHAPS, a hack for multisegmented patchchords, would be to make a null object
<zkink> a null object is an actual object that just looks like a . 
<zkink> and wires can connect to it
<zkink> next: SUBPATCHERIZE SELECTION. you select a number of objects with your mouse
<zkink> and you right click and press subpatcherize
<zkink> it puts all the objects you have selected into a subpatcher, and it automatically wires up INLETS/outlets
<zkink> so that the code is exactly the same, its just in a subpatcher instead
<zkink> after the subpatcher is created, it leaves you with a new object, with the text focus waiting for you to type its name
<zkink> next: move ALL functions from the command line into a Options box.
<zkink> options box should save a PD config file
<zkink> create a mouse cursor/tool that reports DATA TYPE, and MESSAGES when it hovers over any line
<zkink> it could be done 2 ways:
<zkink> if you select any wire, it reports whats coming through that wire
<matju> the NULL object looks like jMax's [fork] except with only one outlet
<zkink> yes
<matju> or almost like [t a]
<zkink> yep
<zkink> that would work as a makeshift plan for multisegmented chords
<matju> except [t a] is more like "list $1" and converts scalars into 1-element lists (yuck)
<zkink> since its compatible with the current pd fileformat
<zkink> it can be tiny: 3 pixels by 3 pixels
<zkink> just a little DOT
<zkink> OK, now as I was saying
<zkink> data inspector:
<zkink> when this tool is enabled, it prints on the console any data coming through whatever cable you currently have selected
<zkink> and if you select multiple chords
<zkink> it reports whats going through multiple chords
<matju> zkink: well, actually, segmented patchcords are compatible with the .pd format. try adding stuff in a #X connect line, before the semicolon
<matju> zkink: (it's just that Pd doesn't save that stuff back...)
<zkink> so: example
<zkink> SNIFFER: list: 10 10 10 1 66
<zkink> SNIFFER: int: 4
<zkink> SNIFFER: message: boop
<zkink> SNIFFER: bang
<matju> data inspector looks like a jMax [display] but a bit like the console too, right?
<zkink> well i'm not sure, i should install Jmax 
<matju> a kind of [print] but to a miniconsole?
<zkink> well, its just a toggle, you toggle it ON/Off
<zkink> when its ON, it reports whats going through ANY patchchord you have "highlighted"
<matju> [display] is roughly like [prepend set] -> ""
<matju> where "" is an empty message box
<zkink> well, print isnt good enough, it doesnt tell you the data type
<matju> and [prepend] is from zexy or cyclone...
<matju> you mean the selector?
<zkink> selector ? wozzat
<matju> selector is the message header
<zkink> sorry i'm not sure what you mean, i've been using max
<matju> sorry i'm not sure what you mean, i've been using jmax
<zkink> selector is just the datatype ? before the message? in the packet
<zkink> yeah, it would report that. it just tells you whats goin thru lines
<zkink> next: you need a way to see cpu usage on individual objects
<zkink> or on patchers or on groups of selected objects
<zkink> next: there must be a way to click on an object, and "nudge it" with your arrow keys
<zkink> right arrow key moves it one pixel to the right, etc
<zkink> oftentimes the mouse isnt good enough for aligning stuff up
<zkink> next: eliminate the CONSOLE output
<zkink> make the console part of PD
<zkink> add an option to right click on the console and CLEAR IT
<zkink> and allow user to select/copy data from it
<zkink> make the font and size customizable within the application
<zkink> just like the font/size menu which should be built into pd
<matju> zkink: well, i think the distinction goes like, float/int/symbol/list are selectors for ordinary datatypes, and all the other selectors are for so-called "messages", but in pd, every value transmitted counts as a message anyway.
<matju> so "float 42" is only a special kind of message called a float...
<zkink> ah. well the sniffer can report that
<matju> by eliminate console output, i guess you mean the stdout/stderr output as printed in the terminal window that you start pd from
<zkink> yes. that's not best for systems like osx/win32
<zkink> was there anything i said so far that was confusing? or unclear
<zkink> next: key command dialog box
<zkink> allows you to configure all keys for everything
<zkink> next: put the "icon set" configuration into Options
<zkink> along with all the stuff that you used to have to configure with --console flags
<matju> i can't follow, you write too much stuff
<matju> making the whole .pdrc thing gui-configurable was already high on my list btw
<zkink> OK, i will make a nice list of this and make them explained better and separated by paragraphs. what
<zkink> is your  email ? sending to matju at sympatico.ca ..
<zkink> is there some way to drag+copy an object in pd ? so it duplicates
<zkink> matju: there must be a modifier key. you just select something, hold down the modifer and DRAG what you have selected, and it creates a copy of it
<zkink> its unbelievable that PD doesnt have that!?!? wtf, thats insane
<zkink> i only use it like, 500 times a day
<zkink> selecting the objects and choosing duplicate is SLOW
<mamalala> matju: what about a bash-style history, so if one places a box he can browse with the up/down keys through the list of recent created objects ?
[ ] impd todo: send to front, send to back
<yaqtil> yalla, is there a trick somewhere to make windows not get auto-resized to the width of the toolbar
<yaqtil> i use tiny windows
<yaqtil> and dont care if a few buttons are cut off

Marius Schebella:
I have a small keyboard shortcut wish: change between "entering mode" and
"selected mode" with boxes.
when I create a new object/message... then it would be nice to have a
shortcut that switches from the mode, where the cursor is in the box to the
mode, where the object is selected. I think the tab-key could be used for
that. As it is now, I type something in, then I have to grab the mouse, then
klick, then select, then I can adjust it (which I also do with the keyboard,
because it is more precise).
I know the toggeling will not be possible when more objects are selected,
but maybe someone has an idea for that.

[ ] command for unpatcherizing a subpatch or abstraction
    (useful for making variants)

More information about the Pd-cvs mailing list