Hello. I am brainstorming about rewriting a Pd patch I wrote as a standalone program, for several reasons. I wrote it very haphazardly the first time, learning to program simultaneously. I've since gained a much greater understanding of C, and a smattering of some other languages. Also, the other musicians I try to share my program with seem unable to figure out how to configure Pd (I still find it difficult, honestly). I'd also like to use my program to apply for grants, so I think it would be well to be standalone. I understand that Pd uses Tcl/Tk, but I don't know much about these tools. What kind of libraries or toolkits enable the functions of things like [drawpolygon] and [drawnumber]? I didn't see anything resembling that in the info I read on Tcl/Tk, but I did see the possibility of using image files, which I think would be just as good. I've also picked up some knowledge of OpenGL from Gem; might that be an option for a sequencer GUI?
Advice appreciated. -Chuckk
I have now discovered the wonder that is Tcl/Tk. There goes the next few weeks of my life...
-Chuckk
On 11/3/07, Chuckk Hubbard badmuthahubbard@gmail.com wrote:
Hello. I am brainstorming about rewriting a Pd patch I wrote as a standalone program, for several reasons. I wrote it very haphazardly the first time, learning to program simultaneously. I've since gained a much greater understanding of C, and a smattering of some other languages. Also, the other musicians I try to share my program with seem unable to figure out how to configure Pd (I still find it difficult, honestly). I'd also like to use my program to apply for grants, so I think it would be well to be standalone. I understand that Pd uses Tcl/Tk, but I don't know much about these tools. What kind of libraries or toolkits enable the functions of things like [drawpolygon] and [drawnumber]? I didn't see anything resembling that in the info I read on Tcl/Tk, but I did see the possibility of using image files, which I think would be just as good. I've also picked up some knowledge of OpenGL from Gem; might that be an option for a sequencer GUI?
Advice appreciated. -Chuckk
Tcl is whacky, but Tk is quite flexible and well developed for making
GUIs. Check out tomorrow's auto-build if you want to make your mouse
cursor turn into gumby :) It's in hcs/cursor-help.pd
.hc
On Nov 5, 2007, at 8:12 PM, Chuckk Hubbard wrote:
I have now discovered the wonder that is Tcl/Tk. There goes the next few weeks of my life...
-Chuckk
On 11/3/07, Chuckk Hubbard < badmuthahubbard@gmail.com> wrote: Hello. I am brainstorming about rewriting a Pd patch I wrote as a
standalone program, for several reasons. I wrote it very
haphazardly the first time, learning to program simultaneously.
I've since gained a much greater understanding of C, and a
smattering of some other languages. Also, the other musicians I
try to share my program with seem unable to figure out how to
configure Pd (I still find it difficult, honestly). I'd also like
to use my program to apply for grants, so I think it would be well
to be standalone. I understand that Pd uses Tcl/Tk, but I don't know much about these
tools. What kind of libraries or toolkits enable the functions of
things like [drawpolygon] and [drawnumber]? I didn't see anything
resembling that in the info I read on Tcl/Tk, but I did see the
possibility of using image files, which I think would be just as
good. I've also picked up some knowledge of OpenGL from Gem; might
that be an option for a sequencer GUI?Advice appreciated. -Chuckk
-- http://www.badmuthahubbard.com
-- http://www.badmuthahubbard.com _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
'You people have such restrictive dress for women,’ she said,
hobbling away in three inch heels and panty hose to finish out
another pink-collar temp pool day. - “Hijab Scene #2", by Mohja Kahf
What kind of libraries or toolkits enable the functions of things like [drawpolygon] and [drawnumber]?
what pd attempts to do with those objects is a juicy area.
theres a number of interesting recent papers on the subject of functional reactive GUIs and/or function-composition based GUI description. ive also seen some good stuff on visualization pipelines. combining all 3 is pretty much the penultimate in this area (most other markets outside of us are only interested in 1-way visualization (Eg you cant change financial market history, you just want to see it more clearly. or one-way 3d rendering from some source timeline/scene for movies/games. professional motion graphics stuff is still almost entirely prescriptive rather than descriptive/reactive, just doing what some timeline says to do) and i havent seen any papers on it yet. ok. maybe fijuu/selectparks stuff?..though that seems more high on fun/cool than theory/design
heres some papers to get your noodle tingled:
Crossing State Lines: (lots on widgets and coming to functional/reactive from an OO world) http://www.cs.brown.edu/~sk/Publications/Papers/Published/ick-adapt-oo-fwk-f...
it should be noted theyre building their GUI toolkit for FrTime, which is worth reading as well:
FrTime: Functional Reactive Programming in PLT Scheme ftp://ftp.cs.brown.edu/pub/techreports/03/cs03-20.pdf
TCL can be thought of and used like a Lisp, albeit without fast compilers at your disposal, and resorting to upvalue hacks instead of getting proper lexical scoping for free in Scheme, etc.
Fudgets - Purely Functional Processes with applications to Graphical User Interfaces http://www.cs.chalmers.se/~hallgren/Thesis/fudgets_thesis_color.ps.gz
Fine-grained visualization pipelines and lazy functional languages http://eprints.whiterose.ac.uk/1896/1/vis2006Copyrighted.pdf (420k)
and the related
Meshing with Grids: Toward functional abstractions for grid-based visualization http://www.allhands.org.uk/2006/proceedings/papers/694.pdf
ok, im off to read..
Hans-Christoph Steiner a écrit :
Tcl is whacky, but Tk is quite flexible and well developed for making GUIs. Check out tomorrow's auto-build if you want to make your mouse cursor turn into gumby :) It's in hcs/cursor-help.pd
.hc
Hi, I had a look lately into your externals, and tried [cursor], it seems that the canvas takes the mouse binding, then when the cursor is dragged outside the message box, the selected cursor disappears and takes place to the usual arrow. I've no idea how to resolve this unfortunately, it happens on win32.
On Nov 6, 2007, at 11:50 AM, Patrice Colet wrote:
Hans-Christoph Steiner a écrit :
Tcl is whacky, but Tk is quite flexible and well developed for
making GUIs. Check out tomorrow's auto-build if you want to make
your mouse cursor turn into gumby :) It's in hcs/cursor-help.pd .hcHi, I had a look lately into your externals, and tried [cursor], it
seems that the canvas takes the mouse binding, then when the cursor
is dragged outside the message box, the selected cursor disappears
and takes place to the usual arrow. I've no idea how to resolve
this unfortunately, it happens on win32.
I fixed this, it's in today's autobuild, except there is a problem
with the windows builds :(
How are things working on Windows otherwise, with the new colors, etc?
.hc
Access to computers should be unlimited and total. - the hacker ethic
Hans-Christoph Steiner a écrit :
On Nov 6, 2007, at 11:50 AM, Patrice Colet wrote:
Hans-Christoph Steiner a écrit :
Tcl is whacky, but Tk is quite flexible and well developed for making GUIs. Check out tomorrow's auto-build if you want to make your mouse cursor turn into gumby :) It's in hcs/cursor-help.pd .hc
Hi, I had a look lately into your externals, and tried [cursor], it seems that the canvas takes the mouse binding, then when the cursor is dragged outside the message box, the selected cursor disappears and takes place to the usual arrow. I've no idea how to resolve this unfortunately, it happens on win32.
I fixed this, it's in today's autobuild, except there is a problem with the windows builds :(
I've just recompiled from todays cvs update, the cursor-help.pd gives me several errors: on pd-vanilla wish application error: can't find package pddp can't find package pddp while executing "package require pddp" ("after" script)
and in pd console:
error: cursor: no method for 'runmode_connect' ... you might be able to track this down from the Find menu. error: cursor: no method for 'runmode_disconnect
on pd-extended I can run the help file without errors but the messages doesn't change the cursor shape anymore, and the "poll mouse pointer" doesn't stop.
Patrice Colet a écrit :
Hans-Christoph Steiner a écrit :
On Nov 6, 2007, at 11:50 AM, Patrice Colet wrote:
Hans-Christoph Steiner a écrit :
Tcl is whacky, but Tk is quite flexible and well developed for making GUIs. Check out tomorrow's auto-build if you want to make your mouse cursor turn into gumby :) It's in hcs/cursor-help.pd .hc
Hi, I had a look lately into your externals, and tried [cursor], it seems that the canvas takes the mouse binding, then when the cursor is dragged outside the message box, the selected cursor disappears and takes place to the usual arrow. I've no idea how to resolve this unfortunately, it happens on win32.
I fixed this, it's in today's autobuild, except there is a problem with the windows builds :(
I've just recompiled from todays cvs update, the cursor-help.pd gives me several errors: on pd-vanilla wish application error: can't find package pddp can't find package pddp while executing "package require pddp" ("after" script)
and in pd console:
error: cursor: no method for 'runmode_connect' ... you might be able to track this down from the Find menu. error: cursor: no method for 'runmode_disconnect
on pd-extended I can run the help file without errors but the messages doesn't change the cursor shape anymore, and the "poll mouse pointer" doesn't stop.
I've just watched the source, and that 'motion' is in TODO... here is a fix: if(f > 0) { sys_vgui("bind all <Motion> {+pd [concat %s motion %%x %%y \;]}\n", x->receive_symbol->s_name); } else { sys_vgui("bind all <Motion> break\n"); }
Gumby, nice, lol. I have now discovered that someone created Tcl/Tk interpreters for Csound too. There goes the next few months of my life. I have to ask, though (reply off-list if it's too OT): when you say Tcl is wacky, just how wacky do you mean? I noticed that its handling of most programming capabilities is pretty off-beat, but I'm finding it very easy to learn and understand, as others have said. Would you say there are serious flaws or inefficiencies, or is it just idiosyncratic?
-Chuckk
On 11/6/07, Hans-Christoph Steiner hans@eds.org wrote:
Tcl is whacky, but Tk is quite flexible and well developed for making GUIs. Check out tomorrow's auto-build if you want to make your mouse cursor turn into gumby :) It's in hcs/cursor-help.pd
.hc
On Nov 5, 2007, at 8:12 PM, Chuckk Hubbard wrote:
I have now discovered the wonder that is Tcl/Tk. There goes the next few weeks of my life...
-Chuckk
when you say Tcl is wacky, just how wacky do you mean? I noticed that its handling of most programming capabilities is pretty off-beat, but I'm finding it very easy to learn and understand. Would you say there are serious flaws or inefficiencies, or is it just idiosyncratic?
in the 'scripting language written in C' category, Perl wins any idiosyncratic contest. TCL also far from Lua in speed. like Lua and unlike all the others (Python, Ruby), you have to invent your own OO system, however Lua has syntactic sugar for 'object methods' and a native language feature for 'method lookup' so it has an edge here. all of the above are embeddable in C apps to some extent, but Lua wins that contest handily, being designed for that from the start.
none of them have the typechecking ability of Haskell/SML/Ocaml/F# which can find problems before they happen at runtime. and none have fast native compilers like Lisp (SBCL), Ocaml (ocamlopt), and Haskell (GHC). so if youre willing to learn a bit more, you can ditch C/duck-typed scripting languages entirely and reap a lot of benefits in maintainability and performance.
everything has flaws. its about picking your tradeoffs. im just not sure TCL is the best at anything - if youre into lists of symbols/values/procnames youre going to get a lot more room and performance to maneuver switching to Common Lisp or Scheme. if you want a performant and decent balance of modern language features embeddable C scripting environment, youll get more for your money from Lua. everything under the sun has Tk bindings anyways, so that isnt a selling point. i think they even still have the Gumby cursor
i wouldnt call it wacky either. theres definitely wacky shit out there. like this: http://kx.com/q/d/a/q1.htm
On Nov 6, 2007 3:34 PM, cdr _@whats-your.name wrote:
when you say Tcl is wacky, just how wacky do you mean? I noticed that its handling of most programming capabilities is pretty off-beat, but I'm finding it very
easy to
learn and understand. Would you say there are serious flaws or inefficiencies, or is it just idiosyncratic?
in the 'scripting language written in C' category, Perl wins any idiosyncratic contest. TCL also far from Lua in speed. like Lua and unlike all the others (Python, Ruby), you have to invent your own OO system, however Lua has syntactic sugar for 'object methods' and a native language feature for 'method lookup' so it has an edge here. all of the above are embeddable in C apps to some extent, but Lua wins that contest handily, being designed for that from the start.
Thank you very much for all this info. It may not mean much to you, but it's very useful for me. I'm leaning now towards building the program in C, with Tk bindings; my 2 most beloved audio tools are open-source C, Pd and Csound, and my free days are numbered, so I think I'll spend them practicing a language I need to know better anyway. I'll save this email.
-Chuckk
Tcl/Tk shares a similar problem with many "dynamic languages" in that
they are hard to debug, since everything happens at runtime. The
delayed execution levels in Tcl using "" [] and {} can be a mind bender.
.hc
On Nov 6, 2007, at 12:14 PM, Chuckk Hubbard wrote:
Gumby, nice, lol. I have now discovered that someone created Tcl/Tk interpreters for
Csound too. There goes the next few months of my life. I have to ask, though (reply off-list if it's too OT): when you say
Tcl is wacky, just how wacky do you mean? I noticed that its
handling of most programming capabilities is pretty off-beat, but
I'm finding it very easy to learn and understand, as others have
said. Would you say there are serious flaws or inefficiencies, or
is it just idiosyncratic?-Chuckk
On 11/6/07, Hans-Christoph Steiner hans@eds.org wrote:
Tcl is whacky, but Tk is quite flexible and well developed for
making GUIs. Check out tomorrow's auto-build if you want to make
your mouse cursor turn into gumby :) It's in hcs/cursor- help.pd.hc
On Nov 5, 2007, at 8:12 PM, Chuckk Hubbard wrote:
I have now discovered the wonder that is Tcl/Tk. There goes the next few weeks of my life...
-Chuckk
Access to computers should be unlimited and total. - the hacker ethic