Patches item #1529010, was opened at 2006-07-26 16:01
Message generated for change (Comment added) made by zmoelnig
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1529010&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: wishlist
Status: Open
Resolution: None
Priority: 5
Submitted By: IOhannes m zmölnig (zmoelnig)
Assigned to: Miller Puckette (millerpuckette)
Summary: kiosk-mode
Initial Comment:
attached is a patch that adds a "-kiosk" flag to pd.
if the flag is present, pd's functionality is somewhat
limited: the main window is invisible, the patches have
no menus and the shortkeys are disabled.
this is nice, if you don't want people to fuddle with
your patch or scare them off (e.g. public
installations, where people see (and probably can
modify parameters of) the patch; or applications for
people who have no idea what pd is and what the
main-window is for and thus might want to close it)
----------------------------------------------------------------------
>Comment By: IOhannes m zmölnig (zmoelnig)
Date: 2006-07-26 16:20
Message:
Logged In: YES
user_id=564396
this new patch also displays the "-kiosk" option in "pd -help"
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1529010&group_…
Patches item #1529010, was opened at 2006-07-26 16:01
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1529010&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: wishlist
Status: Open
Resolution: None
Priority: 5
Submitted By: IOhannes m zmölnig (zmoelnig)
Assigned to: Miller Puckette (millerpuckette)
Summary: kiosk-mode
Initial Comment:
attached is a patch that adds a "-kiosk" flag to pd.
if the flag is present, pd's functionality is somewhat
limited: the main window is invisible, the patches have
no menus and the shortkeys are disabled.
this is nice, if you don't want people to fuddle with
your patch or scare them off (e.g. public
installations, where people see (and probably can
modify parameters of) the patch; or applications for
people who have no idea what pd is and what the
main-window is for and thus might want to close it)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1529010&group_…
Patches item #1502860, was opened at 2006-06-08 14:33
Message generated for change (Comment added) made by zmoelnig
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1502860&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata-dev
Group: bugfix
Status: Open
Resolution: None
>Priority: 7
Submitted By: IOhannes m zmölnig (zmoelnig)
Assigned to: Miller Puckette (millerpuckette)
Summary: class-destructor (free-method) not called when quitting pd
Initial Comment:
when an object is destroyed (either directly deleted or
by closing the patch containing it) the "free" method
(a "destructor" in c++-speak) for this object is called.
however, when pd is "quit" (e.g. "Ctrl-Q"), this
destructor does not get called, which potentially
leaves the system in a bad state.
the attached patch fixes this by adding a
"glob_closeall()" function to g_editor.c (which closes
all root canvases) and calling it from within
glob_quit() in s_inter.c
----------------------------------------------------------------------
>Comment By: IOhannes m zmölnig (zmoelnig)
Date: 2006-07-26 11:43
Message:
Logged In: YES
user_id=564396
actually i think this is rather important when objects
interface with the system - so i raised the priority
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1502860&group_…
Patches item #1528580, was opened at 2006-07-25 12:19
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1528580&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: starting with "-jack" alone does not create ports
Initial Comment:
Starting pd 0.39-2 with the "-jack" flag alone does not create audio i/o ports at startup. This behavior is different from, for example, starting it with "-alsa". The following patch make jack behave as alsa:
------------------------------
--- pd-0.39-2/src/s_audio.c.orig 2005-09-28 13:29:44.000000000 -0700
+++ pd-0.39-2/src/s_audio.c 2006-07-23 16:05:08.709122608 -0700
@@ -321,10 +321,16 @@
else
#endif
#ifdef USEAPI_JACK
- if (sys_audioapi == API_JACK)
+ if (sys_audioapi == API_JACK) {
+ if (audio_naudioindev == -1 && audio_naudiooutdev == -1) {
+ /* if nothing specified then open the default */
+ audio_naudioindev = audio_naudiooutdev = 1;
+ audio_audioindev[0] = audio_audiooutdev[0] = DEFAULTAUDIODEV;
+ audio_audiochindev[0] = audio_audiochoutdev[0] = SYS_DEFAULTCH;
+ }
jack_open_audio((naudioindev > 0 ? realinchans[0] : 0),
(naudiooutdev > 0 ? realoutchans[0] : 0), rate);
-
+ }
else
#endif
#ifdef USEAPI_OSS
------------------------------
-- Fernando
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478072&aid=1528580&group_…
Zitat von "SourceForge.net" <noreply(a)sourceforge.net>:
> Summary: GOP subpatch clearing itself crashes Pd
>
> Initial Comment:
> Tested on Linux with pd-0.39-2 from Miller's site.
>
> Steps to reproduce:
>
> start pd
> load the patch attached to this post
> click the bng
> close the patch
> load the patch again
> click the bng
> => crash
>
funny how things turn up at the same time. this has been mentioned on
the gem-dev just 1.5 weeks ago:
http://lists.puredata.info/pipermail/gem-dev/2006-06/002046.html
the problem is totally unrelated to gop (though the title suggests it)
the simplest example to trigger this, is to create asubpatch (let's
assume [pd subpatch]) with just an [inlet] and an [outlet] connected (a
[nop]).
connect the outlet to a [; pd-subpatch clear( message and send a [bang(
to the inlet.
the basic problem is, that an objects outlet triggers the destruction
of the object, thus causing stack corruption.
personally, i still think that this is NOT a bug with pd but a bug in
the patch.
mfg.asdr
IOhannes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I found this document:
http://puredata.org/docs/developer/Debian
wich explains how to build pd-extended from CVS
in particular, the CVS command(s) used to do this is:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data
checkout -r v0-39-2 pd
but when I log in CVS, i get:
Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/pure-data
CVS password:
cvs [login aborted]: connect to cvs.sourceforge.net(66.35.250.207):2401
failed: No route to host
am I having DNS problems? or sourceforge's CVS server is really down?
or there is an alternate address?
thanks,
- --
Federico
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFExNnWxlXK3KziJfcRAjjXAKCKlCcQNbQDsx/0nRD5f+Y6to/E/gCgk2FM
rOzgq6c8nlFGhwNsPRVmQlI=
=fCfM
-----END PGP SIGNATURE-----
Hi,
I am working on a simple external to do HTTP requests from PD. The idea is
to implement a simple way to send and receive simple data to a web server.
This is intended to work together with a set of classes that will interpret
the GET variables as key and values pairs where the values can be similar to
FUDI protocol messages. The web page would then answer with a FUDI message
or so. I don't use Python because I want it to be very fast, totally
portable and easy to install. (I also agree with Hans regarding small tools
to make a constellation of low level objects)
Here are my bugs : perhaps I am not very good yet with strings in C, but I
have several errors when I try to execute this code from within PD as an
external. Well, when I get malloc errors, it must be only about memory size
arithmetics, but when it gets into segmentation faults, I was just wondering
if it could be because cURL starts a new thread. I think that thread are not
much appropriate in PD's context. Do you think this is the problem, or I am
just still a bit bad with memory maths ?
Also, if you have ideas about this external, please don't hesitate. I think
I will rename it to http, as it is not intended in downloading whole files,
but just for simple HTTP requests.
See below for the current code, the makefile and one of the errors it
creates.
Alexandre Quessy
http://alexandre.quessy.net
============================= error when using it ====================
pd wget-help.pd
STACK_END old=0xbf9e5ffc; new=0xbf9efffc
PDP: pure data packet
PDP: version 0.12.4
* About to connect() to alexandre.quessy.net port 80
* Trying 64.15.134.165... * connected
* Connected to alexandre.quessy.net (64.15.134.165) port 80
> GET /pd/curlme.php?asd=qwe+123 HTTP/1.1
User-Agent: Pure Data
Host: alexandre.quessy.net
Accept: */*
< HTTP/1.1 200 OK
< Date: Mon, 19 Jun 2006 16:03:44 GMT
< Server: Apache
< X-Powered-By: PHP/4.3.10-16
< Connection: close
< Transfer-Encoding: chunked
< Content-Type: text/html
* Closing connection #0
socket receive error: Connection reset by peer (104)
Erreur de segmentation
================== makefile ====================================
all: wget.pd_linux
@echo "making wget"
wget.pd_linux: wget.c
gcc -DPD -O2 -funroll-loops -fomit-frame-pointer \
-Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch -o wget.o -c wget.c
ld -export_dynamic -shared -o wget.pd_linux wget.o -lcurl -lc -lm
strip --strip-unneeded wget.pd_linux
rm wget.o
================== code : wget.c ================================
/**
* [wget] is a Pure Data object for simple HTTP requests.
*
* @url http://alexandre.quessy.net/
* @author Alexandre Quessy <alexandre(a)quessy.net>
* @license GNU General Public License 2006
*/
#define PDWGET_VERSION "0.1.0"
/* PD includes */
#include "m_pd.h"
/* cURL and standard C libraries */
#include <curl/curl.h>
#include <string.h>
#include <stdlib.h>
/* Download callback function prototype */
size_t wget_callBack(void *ptr, size_t size, size_t nmemb, void *x);
/**
* variables of the pd object
*/
typedef struct wget {
t_object x_ob; /* The instance. Contains inlets and outlets */
t_outlet *x_outlet0; /* result string */
t_outlet *x_outlet1; /* HTTP error codes */
} t_wget;
/**
* HTTP request.
*/
void wget_request(t_wget *x, t_symbol *s, int argc, t_atom *argv) {
post("wget : called request.");
//curl_global_init(CURL_GLOBAL_NOTHING);//CURL_GLOBAL_ALL
//t_symbol *sym_tmp = atom_getsymbol(&argv[0]);
if (argc < 1) {
post("wget : Error : needs arguments.");
} else {
t_symbol *sym_tmp = atom_getsymbolarg(0, argc, argv);
char *url = sym_tmp->s_name;
post("wget : requesting : %s", url);
/* cURL context */
CURL *pContext = curl_easy_init();
if (pContext == NULL) {
post("wget : Error : Null cURL handle.");
} else {
/* cURL options */
CURLcode pCode = curl_easy_setopt(pContext, CURLOPT_URL, url);
curl_easy_setopt(pContext, CURLOPT_WRITEFUNCTION, wget_callBack,
(void *) x);
curl_easy_setopt(pContext, CURLOPT_VERBOSE, 1);
curl_easy_setopt(pContext, CURLOPT_HEADER, 0);
curl_easy_setopt(pContext, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(pContext, CURLOPT_USERAGENT, "Pure Data");
curl_easy_setopt(pContext, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt(pContext, CURLOPT_TIMEOUT, (long) 5);
/* cURL performing */
post("wget : Performing the request.");
const CURLcode result = curl_easy_perform(pContext);
if(CURLE_OK != result) {
post("wget : Error from cURL: %s", curl_easy_strerror(result));
} else {
/* HTTP code */
long lHttpCode;
curl_easy_getinfo(pContext, CURLINFO_RESPONSE_CODE, &lHttpCode);
post("wget : HTTP response code: %ld ", lHttpCode);
//outlet_float(x->x_outlet1, (float) lHttpCode);
}
}
post("[wget] cleaning up...");
/* cURL cleanup */
curl_easy_cleanup(pContext);
post("[wget] Local cleaned up.");
//curl_global_cleanup();
post("[wget] Global cleaned up.");
//outlet_list(x->x_outlet0, gensym("A_FLOAT"), numCols+1, &atoms); //
&atoms ??
} // else
}
/**
* The representation of the class in PD.
*/
t_class *wget_class;
/**
* constructor
*/
void *wget_new(t_symbol *selector, int argc, t_atom *argv) {
post("wget : creating a new object.");
t_wget *x = (t_wget *) pd_new(wget_class);
x->x_outlet0 = outlet_new(&x->x_ob, gensym("list"));
x->x_outlet1 = outlet_new(&x->x_ob, gensym("float"));
return (void *)x;
}
/**
* setup
*/
void wget_setup(void) {
curl_global_init(CURL_GLOBAL_NOTHING);
wget_class = class_new(gensym("wget"), (t_newmethod) wget_new, 0,
sizeof(t_wget), 0, A_GIMME, 0);
class_addmethod(wget_class, (t_method)wget_request, gensym("request"),
A_GIMME, 0);
post("----------------------------------------------------");
post(" [wget] %s (c) GPL Copyleft 2006 Alexandre Quessy",
PDWGET_VERSION);
post(" Simple HTTP requests for Pure Data.");
post("----------------------------------------------------");
}
/**
* Callback implementation
*/
size_t wget_callBack(void *ptr, size_t size, size_t nmemb, void *x) {
size_t totalSize = nmemb * size;
char *dest = malloc(totalSize + 1); //(sizeof(char))
strcpy(dest, (char *) ptr);
post("[wget] : Getting data.");
dest[totalSize] = '\0';
post("result :");
post("===============================");
post("%s", dest);
post("===============================");
//outlet_symbol(((t_wget *)x)->x_outlet0, gensym(dest));
//free(dest);
return(totalSize);
}
Bugs item #1525832, was opened at 2006-07-20 11:56
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1525832&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Jamie Bullock (postlude)
Assigned to: Nobody/Anonymous (nobody)
Summary: Pd crash when no coords are given in msg from parent to abs
Initial Comment:
Pd version 0.40-0test01
If a message is sent to an abstraction from its parent,
and no co-ordinates are given e.g.:
[pd-myabs.pd msg foo(
or
[pd-myabs.pd obj(
Pd crashes with a segfault.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1525832&group_…
Bugs item #1525788, was opened at 2006-07-20 09:24
Message generated for change (Settings changed) made by postlude
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1525788&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: v0.40.0
>Status: Deleted
Resolution: None
Priority: 5
Submitted By: Jamie Bullock (postlude)
Assigned to: Nobody/Anonymous (nobody)
Summary: [namecanvas $1] crashes Pd when addressed by parent
Initial Comment:
If an abstraction containing [namecanvas $1] is
instantiated with a first argument e.g. foo, and the
message [;foo msg bar( is sent from the parent, Pd crashes.
Side note: I understood [namecanvas] to be depracated,
but there seems to be some desire amongst users and
devs for this not to be the case.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1525788&group_…