On 05/15/2013 02:12 PM, João Pais wrote:
I find it a nice idea. Some ideas:
- I myself am very interested in anything that will improve on data
structures, although that's a niche. Either by improving existing objects
(like the array "change" pointer, and I have a list of other wishes
somewhere), or by adding new methods or objects that make things easier.
It's still amazing at how much work is necessary to perform simple
operations.
It's kind of a chicken and egg problem. Data structures are a fringe
feature (outside of their relationship to "Put" menu arrays). To make
them into a more accessible feature would require a lot of work. I
think there are more important changes that should come first, and some
of those changes may make data structures easier to improve in the future.
- a specific question: does it make sense to use the -xxxxx color scheme
(used in gui objects) on data structures? that wouldn't break the
existing
one, and would add an rgb reference, which makes much more sense than the
current "logic"
I think symbolic colors like #ff0000 are more widely accepted/understood.
Inside [plot] I just added two symbol arguments for such colors (fill
and outline
color). It's ugly because now there are three places to specify color:
the original
3-digit ds color code, then the last two arguments that are symbolic
colors. But
objects like [plot] that have a bunch of positional arguments are
already ugly. This
is where named arguments (like a comma separated list) are very
appealing-- then
we could just have a fillcolor method to set the fill color, and that
method could take
either a single symbolic argument like #ff0000, or three floats for rgb
which would be
more suitable or "Pd-ish" for programmatically changing the color.
- at some point I spoke with IOhannes about porting FTM to Pd. It
seems an
impossible task, but do you mind just having a look to see if there's "a
new hope"? As I recall, the main problem was the GUI implementation.
Do you have a link to the some info on it? Or a demo on vimeo or youtube?
- let [readsf~] keep files open after playing once, and add a "seek" or
"play x [to] y" function
I think there was a thread about readsf~ recently. I'll go back and
have a look.
- does [readany] really work? how about adding flac to it?
[readanysf~]?
- at some point I posted a bug in pd-dev about big arrays not
displaying anything after 2000(?) points. Improving on this might be good
- for an array [foo], [r foo] would spew details like changes in
properties and user interaction?
In Pd-l2ork, an array named "array1" has a receiver [array1_changed]
that sends a bang when an element is changed.
Can you point me to the bug you posted?
- depending on the question above, is there any working mp3 object in pd?
I think [readanysf~] supports mp3
- since [soundfiler] has to read a sound file's information, how about it
also dumps out the general parameters given by [wavinfo],
[tof/sample_unpack], [soundfile_info]? this one isn't really an
emergency,
but it's a bit strange to be doubling the amount of objects.
That's something I've wanted for a long time as well. Unfortunately Pd
is no
stranger to doubling objects:
cyclone/abs~
markex/abs~
creb/abs~
zexy/abs~
One of these does optimization for blocksizes that are multiples of 8,
one does
optimization using simd instructions, one doesn't do any optimization,
and one
looks like it was planned to selectively compiled based on whether or
not any of
the others already exist!
Not to mention abs~ now in Pd Vanilla. If Pd-extended/Pd-l2ork does not
want to
break patches they would technically need to keep every single one of
them forever
(because of namespace prefixes).
You should not just put something about your idea in your website, but
also in the puredata.info wiki. Maybe there are other persons that would
like to contribute or to help with the programming.
This is the only place I've put information so far.
-Jonathan
João
Hi List,
I'd like to try a method of getting paid for doing Pd work which
I will call a "Reverse" Kickstarter". Basically I'll work on the
aspects of Pd I'm currently working on through the month of May, full
time, then at the beginning of June if anyone wants to pay me for the
work I finish up to that point I'll do another month's work, full
time, if a particular goal is reached. This way the Pd community
will end up with the benefit of my work at the beginning of June at
no risk/cost, and I'll do a lot of the work I would have done anyway
(though devoting more time to it than I would have otherwise).
I call it a "Reverse Kickstarter" for this reason-- if the work
I complete in May is enough for someone to donate X amound of money,
then even if I fail to produce anything of value in June the donor
still got something of value for their donation. Of course I plan on
continuing to develop and hopefully getting better at it as I learn,
but the point is instead of trying to garner a buzz around potential
development (and most Kickstarter projects fail, so its risky), I
instead garner a buzz around actual development for which potential
donors can reward me, use as a gauge for what my future development
will be, or both.
Here's what I'm currently working on:
* [canvasinfo], [pdinfo], and [classinfo] objects to streamline
getting information about parts of Pd that do not have xlets for
messages: implemented, but does not include all pd attributes yet
(like audio/midi devices)
* jump-on-click and bar graph style options for "Put" menu arrays:
implemented, but I need to do more testing and make it possible to
change the baseline for data structure arrays based on quanta values
* centralized "Preferences" dialog with tabs for General, Audio,
Midi, GUI, and possibly some others: just started implementing it,
will work on it for the next few days
* improve tooltips: show tip next to mouse location, and have
separate canvas tip for stuff like pddplink to show firefox-style
link address. add xlet descriptions, so you can get one or two word
description of what the xlet does in addition to its method (handy
for objects like [vcf~], [tabread], etc.)
* use libname-meta.pd file to find aliases for objects with a creator
name that cannot be a c function name (like ">~")
And some future stuff:
* use Xapian for better search-plugin speed and functionality
* [drawimage] for data structures
* building Pd using MinGW from GNU/Linux: unless someone already has
this working...
* gui-plugin to export pd patch to svg
* way to embed pd source in svg, or use <g> to group things per object
* adding a function to make it easy to parse comma-separated A_GIMME
args to an object as named args. Thus for [someobject foo 1 2 3, bar
1 2 3 4, blah bee], there should be a function that can be used
inside of someobject_new for which the author can ask for the "foo"
args and retrieve "1 2 3" (maybe by returning the indices to the
first and last arg of "foo"). That will match the syntax of message
boxes and give external developers an easy and consistent way to do
named args.
All of my work will hopefully follow these guidelines:
* does not break patches. Question: while all changes I'm making
will let old Pd files run on revised Pd, do the files written by
revised Pd have to run on old Pd?
* preference given to generally useful development. (maybe
[drawimage] is an exception since few people use data structures, so
I'll put that one last.)
* preference given to development that makes Pd more accessible to
new users.
I'll look at the easiest ways to get the process rolling. I really
like Paul Davis' donation "progress bar" on the Ardour website, so I
might try getting something like that on my website.
Furthermore, if anyone has some general features they think are
missing from Pd and want to donate specifically for them, I'd be
happy to look at those too. But for May at least I'd like to try to
focus on what I'm currently working on.
I still need to figure out a good target to start out with and the
easiest payment system to use. So suggestions are certainly welcome
about that or anything else. :)
-Jonathan
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list