aboutsummaryrefslogtreecommitdiff
path: root/pd/src/notes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'pd/src/notes.txt')
-rw-r--r--pd/src/notes.txt193
1 files changed, 25 insertions, 168 deletions
diff --git a/pd/src/notes.txt b/pd/src/notes.txt
index 07067182..1b614645 100644
--- a/pd/src/notes.txt
+++ b/pd/src/notes.txt
@@ -1,30 +1,25 @@
---------------- dolist --------------------
-fix:
-look again at array vis/invis conundrum, g_template.c
-subpatches appear at top left of screen regardless
-$1-args not evaluated (z.pd)
-
test:
compile on various versions of linux
windows:
modal dialogs confuse watchdog
check the right-click-on-empty-canvas
MIDI I/O (inc. sysex)
+ "-audiodev" with no args in registry can't start up?
mac:
- text paste broken
clicking on windows seems sometimes not to open them
what does OSX do when jack is compiled into Pd but not installed??
turn on paMacCore_ChangeDeviceParameters for mac (pa_mac_core.h)
+Gnome: why don't windows pop up when clicked on?
-done:
+doc:
+declare help window
openpanel directory
big-soundfile support
escaping filenames for wierdly named externs
infrastructure for adding externs in non-ascii languages
'$' patch (multiple dollar-sign expansion)
-
-doc:
-x flag for curves
object list
document env~ second argument (and why is it no less than 1/10 of first???)
@@ -35,55 +30,52 @@ document tabwrite~_start
$-expansion changed
list length
send inlet
+bug fix: list to numbox (inlet and object but object is noinlet)
+bug fix: pd $1 bug ($1 is saved as it was evaluated, not as '$1')
+flag to defeat .pdsettings
+'{' dropped better
+'[' in numbox label breaks it (Yury Sept. 3)
+more reasonable font size default for GUIs
problems:
+help browser (offer both versions?)
+look again at array vis/invis conundrum, g_template.c
+TK commands to nonexistent windows? (occasionally still happens)
+still can't detect when a window is moved or resized
open_via_path call in d_soundfile.c isn't threadsafe
-Jack interface never goes idle? (Michael Berkowski, Pd list Aug 11 2006)
crashed Pd putting vec and template in wrong order in array element of struct
-z.pd - list to numbox misbehaves (inlet and object but object is noinlet)
floor, ciel functions in expr misdeclared
-graphics updates in data sometimes don't happen?
graph names don't appear until graph moved? (invis/vis on new array/rename)
-flag to defeat .pdsettings
-'{' bug
-"-audiodev" with no args in registry can't start up in MSW
-"save as" with spaces in filename still messes up
don't filter locked click() through getrect
-better scalar hit detection (getrect is too greedy)
when retyping abstractions, offer to save dirty one
should linux stop grabbing focus on vis? Is there a way to detect whether
the mouse is in a window when it opens?
-TK commands to nonexistent windows? (occasionally still happens)
arrays that don't fit in bounds don't update (same as red rectangle problem?)
look in d_resample.pd to understand inlet~ upsampling...
patcher inlets don't deal with scalars (zbug.pd)
check if there's a problem loading libs on startup if superuser
-'[' in numbox label breaks it (Yury Sept. 3)
read xx.txt in "bad" gives warnings
-qlist - 'next 1' seems not to work
Krzysztof's qlist_next reentrancy bug
don't draw in/outlets on gui objects in graph-on-parent
-reasonable font size default for GUIs
-moving a bang toward top of window creates problem (invisible label)
get rid of messages causing renaming; try to prevent patches closing themselves.
scofo reports error on reading score1.txt
loading e-mailed patches without removing headers crashes pd
-pd $1 bug ($1 is saved as it was evaluated, not as '$1')
check if _vsnprintf with zero argument in windows works any better...
detect adc~ and dac~ reblocking
features:
-sprout inlet for "route", "sel" if one arg; also send
-list length and nth functions
-poly inlet to turn stealing on/off
-.dll to .msw32 or .pd_msw (then offer .pd_msw64, .pd_lnx64, etc.)
+flag to defeat .pdsettings
+externs able to usurp built-ins (+mem alignment for SSE)
+replace gatom_escapit with a quoting mechanism (handle '[', spaces, etc.)
+sprout inlet for "route", "sel" if one arg
+more list functions (see x_list.c)
+poly inlet to turn stealing on/off, plus mode to handle note-with-duration
integrate video into tilde objects
graph "hide name" flag controllable from dialog
-flag to suppress scrollbars in canvases
+"installation mode" - turn off Pd window, accelerators, menu bars, scrollbars
fix copyright notices
pixel font sizes
pd to find running ones (pd -new to defeat)
-rename windowname-pd instead of pd-windowname
tables:
if there's just one array, don't do stringent hit check.
array click protection (Krzysztof's suggestion)
@@ -92,7 +84,6 @@ tables:
flag to hide array names
think of a way to embed abstractions in a patch
make watchdog work for MACOSX
-search path to include both calling patch and abstraction, if different
pasting should look at current mouse location
delete-in-rectangle message to Pds
put serial object in main dist (see rat@telecoma, Apr. 25; winfried May 22)
@@ -100,7 +91,7 @@ open/save panel to take messages to init directory, and to set extent list
flags to defeat pre-loading specified classes
expr to parse exponential notation
pipe to handle symbols&pointers (just takes floats now???)
-use snd_pcm_poll_descriptors_count, etc., to set alsa FDs CLOEXEC?
+fix "system" (google CLOEXEC alsa)
editing:
"enter" into object box to create new one (also, change border? forking?)
tab to jump to a connected object (first one?) (shift-tab to back up?)
@@ -112,7 +103,7 @@ editing:
(also, a way to make multiple connections?)
data:
-hook for table mousing
+hooks for table mousing, other changes (scalars?)
data to save as succession of "list" messages that textfile can store, etc.
implement list field (GOP or subwindow, perhaps GOP could suppress bounds rect?)
fix blue selection rectangle to update if selected datum is redrawn
@@ -120,12 +111,10 @@ data copy/paste doesn't check templates aren't changed
arrays of non-existent templates crash
vget, vset traversal objects
cursor to show (x, y) location
-typing at drawnumbers
-test and debug list elements of templates
+improve typing at drawnumbers
sublists should display on parent if desired? (new drawing instruction)
+test and debug list elements of templates
sublists seem not to handle canvas allocation right (get.pd->pointer.pd bug)
-scalar hook to catch the mouse
-protect against "plots" going away while you drag on them
append doesn't do symbols yet.
more features:
@@ -136,7 +125,6 @@ search for -mcpu=cpu-type in man gcc.
-Wno-unused to -Wno-unused-paramter and clean up unused automatic variables
security module system in 2.6 - see the kernel module replacing jackstart
signal inlets to sense signals; fix +~ etc, vcf~, biquad~, other filters
-mess with RME ALSA some more; ALSA readn doesn't work yet; use mmap?
try to reduce startup time
investigate gcc 3.3 warnings; try to reinstate -fstrict-aliasing
message dialog not to disappear
@@ -144,7 +132,6 @@ why does changing the name of an explode in jupiter patch take so long?
close-subwindows menu item
show results of opening audio and MIDI on dialogs
windows escape from control-C
-settable netsend and netreceive port numbers
new: abs~, nexttick~, extend threshold~ and snapshot~ (vthreshold~ etc)
incorporate pddp doc
try again to fix the font scene
@@ -153,25 +140,20 @@ look at prctl(2) for FP exception handling
netsend separate thread
netreceive (and netsend?) message to set port number
graph_vis() to decorate graphs when they're toplevel (parent_glist == 0)
-suita.chopin.edu.pl/~czaja/miXed/externs/xeq.html -- MIDI file reader
in glist_delete, consider why this can't be just "vis 0" -- why do we need it?
closebang
check that -blocksize really reflects in audiobuf calc for Hammerfall
makefile to have make install depend on make local.
-Float method for random
put in something for tilde order forcing
extensible "toolbar" so people can add external GUI objects
variable send and receive -- check how max/MSP does it?
number boxes to darken for typing and/or received messages
-pique~ and fiddle~ unification (notice pique filtering is different!)
new message box look
figure out what to do when "pd sym" conflicts with window title as in Pluton?
bonk~ file path handling
-unify arrays and garrays
dialog to give values of $1, ... for the canvas
bang at end of line~, tabwrite~, etc.
recording to part of a table
-printout to main window
should sys_bail kill all "threads" on the way out?
check a_valid usage
allow backslashes (or else really disallow them)
@@ -186,128 +168,3 @@ get gui to notice early EOF
rewrite t_getbytes properly
obj_new should do a longjmp on out-of-memory
---------------------- source notes --------------------------
-
-0. structure definition roadmap. First, the containment tree of things
-that can be sent messages ("pure data"). (note that t_object and t_text,
-and t_graph and t_canvas, should be unified...)
-
------------- BFFORE 0.35: ---------
-m_pd.h t_pd anything with a class
- t_gobj "graphic object"
- t_text text object
-g_canvas.h
- t_glist list of graphic objects
-g_canvas.c t_canvas Pd "document"
-
------------- AFTER 0.35: ---------
-m_pd.h t_pd anything with a class
- t_gobj "graphic object"
- t_text patchable object, AKA t_object
-g_canvas.h t_glist list of graphic objects, AKA t_canvas
-
-... and other structures:
-g_canvas.h t_selection -- linked list of gobjs
- t_editor -- editor state, allocated for visible glists
-m_imp.h t_methodentry -- method handler
- t_widgetbehavior -- class-dependent editing behavior for gobjs
- t_parentwidgetbehavior -- objects' behavior on parent window
- t_class -- method definitions, instance size, flags, etc.
-
-
-1. C coding style. The source should pass most "warnings" of C compilers
-(-Wall on linux, for instance; see the makefile.) Some informalities
-are intentional, for instance the loose use of function prototypes (see
-below) and uncast conversions from longer to shorter numerical formats.
-The code doesn't respect "const" yet.
-
-1.1. Prefixes in structure elements. The names of structure elements always
-have a K&R-style prefix, as in ((t_atom)x)->a_type, where the "a_" prefix
-indicates "atom." This is intended to enhance readability (although the
-convention arose from a limitation of early C compilers.) Common prefixes are
-"w_" (word), "a_" (atom), "s_" (symbol), "ob_" (object), "te_" (text object),
-"g_" (graphical object), and "gl_" (glist, a list of graphical objects). Also,
-global symbols sometimes get prefixes, as in "s_float" (the symbol whose string
-is "float). Typedefs are prefixed by "t_". Most _private_ structures, i.e.,
-structures whose definitions appear in a ".c" file, are prefixed by "x_".
-
-1.2. Function arguments. Many functions take as their first
-argument a pointer named "x", which is a pointer to a structure suggested
-by the function prefix; e.g., canvas_dirty(x, n) where "x" points to a canvas
-(t_canvas *x).
-
-1.3. Function Prototypes. Functions which are used in at least two different
-files (besides where they originate) are prototyped in the appropriate include
-file. Functions which are provided in one file and used in one other are
-prototyped right where they are used. This is just to keep the size of the
-".h" files down for readability's sake.
-
-1.4. Whacko private terminology. Some terms are lifted from other historically
-relevant programs, notably "ugen" (which is just a tilde object; see d_ugen.c.)
-
-1.5. Spacing. Tabs are 8 spaces; indentation is 4 spaces. Indenting
-curly brackets are by themselves on their own lines, as in:
-
- if (x)
- {
- x = 0;
- }
-
-Lines should fit within 80 spaces.
-
-2. Max patch-level compatibility. "Import" and "Export" functions are
-provided which aspire to strict compatibility with 0.26 patches (ISPW version),
-but which don't get anywhere close to that yet. Where possible, features
-appearing on the Mac will comeday also be provided; for instance, the connect
-message on the Mac offers segmented patch cords; these will devolve into
-straight lines in Pd. Many, many UI objects in Opcode Max will not appear in
-Pd, at least at first.
-
-3. Compatibility with Max 0.26 "externs", i.e., source-level compatibility. Pd
-objects follow the style of 0.26 objects as closely as possible, making
-exceptions in cases where the 0.26 model is clearly deficient. These are:
-
-3.1. Anything involving the MacIntosh "Handle" data type is changed to use
-char * or void * instead.
-
-3.2. Pd passes true single-precision floating-point arguments to methods;
-Max uses double.
-Typedefs are provided:
- t_floatarg, t_intarg for arguments passed by the message system
- t_float, t_int for the "word" union (in atoms, for example.)
-
-3.3. Badly-named entities got name changes:
-
- w_long --> w_int (in the "union word" structure)
-
-3.4. Many library functions are renamed and have different arguments;
-I hope to provide an include file to alias them when compiling Max externs.
-
-4. Function name prefixes.
-Many function names have prefixes which indicate what "package" they belong
-to. The exceptions are:
- typedmess, vmess, getfn, gensym (m_class.c)
- getbytes, freebytes, resizebytes (m_memory.c)
- post, error, bug (s_print.c)
-which are all frequently called and which don't fit into simple categories.
-Important packages are:
-(pd-gui:) pdgui -- everything
-(pd:) pd -- functions common to all "pd" objects
- obj -- fuctions common to all "patchable" objects ala Max
- sys -- "system" level functions
- binbuf -- functions manipulating binbufs
- class -- functions manipulating classes
- (other) -- functions common to the named Pd class
-
-5. Source file prefixes.
-PD:
-s system interface
-m message system
-g graphics stuff
-d DSP objects
-x control objects
-z other
-
-PD-GUI:
-t TK front end
-