Re: [PD-dev] treating $1 as an argument in A_GIMME

2021-09-17 Thread Christof Ressi
Yes, that's the problem. I should have said it all works fine if this is an abstraction loaded with actual arguments. But I still wonder if there's anything I can do. There is: just don't do it :-) It doesn't make sense to use $1 in the context of a top-level canvas (until we get

Re: [PD-dev] treating $1 as an argument in A_GIMME

2021-09-17 Thread Christof Ressi
Hi, when using A_GIMME I can test if the type is A_FLOAT or A_SYMBOL, but if I give it a "$1", for instance, it's treated as a float. Well, it depends on the actual value of "$1". In the case of [cyclone/play~ $1], the "$1" is replaced by its actual value before being passed to the object.

Re: [PD-dev] plans for next Pd release

2021-09-14 Thread Christof Ressi
Maybe IOhannes & Christof can give their take? Also, I believe the PR includes a compile-time define to enable/disable. I think the PR is already in very good shape. The public API functions (in s_stuff.h) look reasonable. I have to admit I haven't checked the most recent commits yet, but I'll

Re: [PD-dev] writing exploits in Pd (Re: [PD] [file])

2021-08-31 Thread Christof Ressi
However, it would only show the dialog for a split second and the crash. I ran it in a debugger and just get a completely wiped stack. If I remove the "quit" message, it works. you only have to run the exploit.pd once (and it will always quit Pd). the next time you simply start Pd, you

Re: [PD-dev] writing exploits in Pd (Re: [PD] [file])

2021-08-31 Thread Christof Ressi
bugger and just get a completely wiped stack. If I remove the "quit" message, it works. So how do I pay the money? Christof On 31.08.2021 15:49, IOhannes m zmoelnig wrote: On 8/31/21 3:12 PM, Christof Ressi wrote: The exploit successfully changes my MIDI settings and adds search paths

Re: [PD-dev] writing exploits in Pd (Re: [PD] [file])

2021-08-31 Thread Christof Ressi
The exploit successfully changes my MIDI settings and adds search paths, but unfortunately it crashes with a completely wiped stack before showing me the Tk dialog :-( On 31.08.2021 14:33, IOhannes m zmoelnig wrote: On 8/31/21 1:05 PM, IOhannes m zmoelnig wrote: ¹ i wonder whether it would

Re: [PD-dev] unifying loglevels

2021-08-25 Thread Christof Ressi
and you have a mix of old-style and new-style loglevels in use. Yeah, that's a general problem we can't really avoid. Here's another suggestion: Since logpost() really supersedes verbose(), we could allow t_loglevel to be only used with the former (with PD_CRITICAL = 0), but not with the

Re: [PD-dev] unifying loglevels

2021-08-24 Thread Christof Ressi
for unknown reasons, the values accepted by verbose() and logpost() have an offset. Why? Oh why? I have to admit I only checked with verbose() (which is used extensively in the Pd source code) and naively assumed that logpost() would work the same... Here's a possible solution: If we let

Re: [PD-dev] -stderr garbled

2021-08-23 Thread Christof Ressi
Hi, in this commit, "print_anything()" and "print_list()" now (ab)uses the new "startlogpost()" function for printing individual pd atoms. However, for "-stderr" and custom printhooks this will accidentally print "verbose(2) " before each atom. I would suggest to add another function

Re: [PD-dev] Pd breaks zexy (?)

2021-08-21 Thread Christof Ressi
My understanding has always been: m_pd.h is public and generally shouldn't change without some sort of compatibility coverage. Anything other .h is private. That's the theory. On the other hand, many functions/variables in "g_all_guis.h", "s_stuff.h" and "m_imp.h" are marked as "EXTERN" (which

Re: [PD-dev] Passing creation arguments to newmethod

2021-08-06 Thread Christof Ressi
I agree that the prototypes should be fixed. Actually, it's not that bad, just 21 instead of 6 prototypes, if I'm not mistaken: https://github.com/pure-data/pure-data/pull/688#discussion_r684245557 On 06.08.2021 13:26, Claude Heiland-Allen wrote: Hi, On 05/08/2021 22:32, Christof Ressi wrote

Re: [PD-dev] Passing creation arguments to newmethod

2021-08-06 Thread Christof Ressi
, Christof Ressi mailto:i...@christofressi.com>> escreveu: Hi Matt, if you mix A_FLOAT / A_DEFFLOAT and A_SYM / A_DEFSYM in any Pd method definition (not just the "new" method!), the arguments are rearranged so that in the actual C function signature all the

Re: [PD-dev] Passing creation arguments to newmethod

2021-08-05 Thread Christof Ressi
Hi Matt, if you mix A_FLOAT / A_DEFFLOAT and A_SYM / A_DEFSYM in any Pd method definition (not just the "new" method!), the arguments are rearranged so that in the actual C function signature all the symbol arguments come first. Here's an especially confusing example: foo_class =

Re: [PD-dev] plans for next Pd release

2021-08-04 Thread Christof Ressi
Hi Miller, isn't this the perfect use case for the compatibility flag? Or do you think the change would be too invasive? After all, you have also changed the frequency response of [hip~] (Pd 0.44) and the behavior of the [stop( method for [line]  (Pd 0.48). I'm still struggling to figure

Re: [PD-dev] plans for next Pd release

2021-07-17 Thread Christof Ressi
Am I right to assume that this would include writing arrays to disk without interfering with the audio thread? I don't think so, but there's already a separate PR for that: https://github.com/pure-data/pure-data/pull/1357 Actually, I am not sure what Giulio meant with "disk I/O". Maybe that

Re: [PD-dev] Porting Pd to FreeRTOS ( was Re: plans for next Pd release)

2021-07-15 Thread Christof Ressi
It's tricky getting everything to fit in 512K RAM - I think the new ESP32S3 has the same memory size, so that will be the limiting aspect. On the ESP32-S2 it's possible to use up to 4MB of external RAM: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-guides/external-ram.html

Re: [PD-dev] plans for next Pd release

2021-07-13 Thread Christof Ressi
Hi Miller, great to see Pd 0.52 approaching! Here's a list of my open PRs: https://github.com/pulls?q=is%3Aopen+is%3Apr+author%3ASpacechild1+archived%3Afalse+user%3Apure-data I made sure that they all apply cleanly. --- Some are trivial: * https://github.com/pure-data/pure-data/pull/769

Re: [PD-dev] building with pdlib builder on windows

2021-06-14 Thread Christof Ressi
The recommended way is MinGW via msys2. See the "Windows" section in https://github.com/pure-data/pure-data/blob/master/INSTALL.txt. Christof On 14.06.2021 22:47, Iain Duncan wrote: Hi folks, I know windows just enough to be dangerous to myself, but would like to at least be able to prepare

Re: [PD-dev] [PD] Ability to access error messages from patch

2021-06-14 Thread Christof Ressi
i quite like the idea of having a canvas-scope for such an object. Personally, I would rather prefer that if the error code would be simply output by the same object that generated the error. On 6/14/21 10:37 AM, Peter P. wrote: > Yes, that's a good idea, but what if there are two identical

Re: [PD-dev] s4pd help: portable uid-like thing in C?

2021-06-12 Thread Christof Ressi
Hi, this is a bit of a XY question. The actual problem is about managing clocks. Let's see if we can find a proper solution. I would assume that you are storing the clock(s) alongside the interpreter instance. If you restart the interpret, unset the clock(s) with clock_unset(). If you free

Re: [PD-dev] Creating delayed functions in Pd external?

2021-06-06 Thread Christof Ressi
getbytes() + freebytes() Christof On 07.06.2021 03:56, Iain Duncan wrote: Ah, ok. I also just realized (necessity being the mother of and all that) that I can probably be storing these on the scheme side too, as the actual function object is stored there anyway in a hash-table. Related: in

Re: [PD-dev] Creating delayed functions in Pd external?

2021-06-06 Thread Christof Ressi
You can (ab)use Pd's own symbol table by storing the clocks in a "fake" Pd object and bind it to a symbol. But I wouldn't really recommend this... Alternatively, you can use one of the existing hash table implementations in C, e. g. the hash table from the "stb" library:

Re: [PD-dev] Creating delayed functions in Pd external?

2021-06-06 Thread Christof Ressi
Hi, what you want is a "t_clock". clock_new() takes a function pointer + void pointer. You can then schedule the function for execution with clock_delay(). For a simple example, check the source code for the delay object ("t_delay") in "x_time.c". Christof On 07.06.2021 01:21, Iain

Re: [PD-dev] Polling: Execute a function every X ms from within the external.

2021-04-30 Thread Christof Ressi
Actually, I just realized that the guide doesn't mention clocks at all, not even in the API reference section. On 30.04.2021 15:51, Christof Ressi wrote: It could go to the examples in https://github.com/pure-data/externals-howto. Also, there should be an example or note about using a clock

Re: [PD-dev] Polling: Execute a function every X ms from within the external.

2021-04-30 Thread Christof Ressi
30, 2021, at 12:00 PM, pd-dev-requ...@lists.iem.at <mailto:pd-dev-requ...@lists.iem.at> wrote: Message: 2 Date: Thu, 29 Apr 2021 23:12:12 +0200 From: Christof Ressi <mailto:i...@christofressi.com>> To: pd-dev mailto:pd-dev@lists.iem.at>> Subject: Re: [PD-dev] Polling: Execu

Re: [PD-dev] Polling: Execute a function every X ms from within the external.

2021-04-29 Thread Christof Ressi
Here's how: struct t_myexternal { t_object x_obj; t_clock *x_clock; int x_running; }; void tick(t_myexternal *x) { // do some work // then reschedule (if not cancelled) if (x->x_running) clock_delay(x->x_clock, POLLINTERVAL); } void start(t_myexternal *x) {

Re: [PD-dev] example external code to browse?

2021-04-12 Thread Christof Ressi
Here are a couple of Pd externals you could study to get you started: https://github.com/pd-externals Also, the pdlua external might be of interest, but it uses rather advanced techniques: https://github.com/agraef/pd-lua/blob/master/pdlua.c Christof On 11.04.2021 01:00, Iain Duncan wrote:

Re: [PD-dev] Modified [partconv~] and issues with fftw3

2021-04-07 Thread Christof Ressi
Hi Gloria, generally, it is very much recommended to use https://github.com/pure-data/pd-lib-builder for building Pd externals. As Lucas' example shows, pd-lib-builder is very easy to use (only three lines!) and it allows other people to build your external for all the major platforms

Re: [PD-dev] symbol comparison vs strcmp()

2021-03-11 Thread Christof Ressi
that for "ugly" lines like `!strcmp(argv[i].a_w.w_symbol->s_name, ">")` saving the string in a local variable would already increase readability significantly: const char *s = argv[i].a_w.w_symbol->s_name; if (!strcmp(s, ">")) ... Christof On 11.

Re: [PD-dev] symbol comparison vs strcmp()

2021-03-11 Thread Christof Ressi
the main purpose of the the symbol table is, as i understand it, to make string comparison super-fast (as there's no need to compare each character but just a simple address). It is only fast if both sides are `t_symbol *`, but if one side includes a call to gensym(), it will be *slower* than

Re: [PD-dev] netreceive: listen failed: Address already in use

2021-02-28 Thread Christof Ressi
To give some more background info: When you close a UDP socket, the port becomes available immediately, because UDP is connectionless. With TCP, however, a closed socket remains in the TIME WAIT state for some time during which the port still appears to be taken (for an explanation, see

Re: [PD-dev] [PD] soundtouch~ for Pd Vanilla

2021-01-29 Thread Christof Ressi
of soundtouch ;-) Christof On 29.01.2021 11:41, Roman Haefeli wrote: On Fri, 2021-01-29 at 11:21 +0100, Christof Ressi wrote: ~~~ $ pd -open soundtouch~-help.pd pd: AAFilter.cpp:107: void soundtouch::AAFilter::calculateCoeffs(): Assertion `length >= 2' failed. Pd: signal ~~~ https://bugs.launchpad.

Re: [PD-dev] [PD] soundtouch~ for Pd Vanilla

2021-01-29 Thread Christof Ressi
For it to compile on amd64, I had to add '-fPIC' to LINUXCFLAGS. '-fPIC' should be set for all Linux targets and also macOS. Generally, you hardly ever want to build a shared library without position independent code. Windows doesn't have an equivalent flag because DLLs are always position

Re: [PD-dev] Using pd_bind and pd_findbyclass to access data from another external

2021-01-19 Thread Christof Ressi
You also need to be sure that the first class is loaded before, like: [declare -lib sender -lib receiver] else the receiver object won't load because of link error due to missing symbol "send_test_class". Ugh, one more reason for having all objects in a single binary :-) On 19.01.2021 23:31,

Re: [PD-dev] Issues building PD 0.51.x

2020-12-09 Thread Christof Ressi
9.12.2020 16:22, David Rush wrote: On Wed, 9 Dec 2020 at 14:53, Christof Ressi <mailto:i...@christofressi.com>> wrote: indicating that _WIN32 is not defined. So if I instead build with CFLAGS=-D_WIN32, I get a different set of errors while building s_inter.c If "

Re: [PD-dev] Issues building PD 0.51.x

2020-12-09 Thread Christof Ressi
indicating that _WIN32 is not defined. So if I instead build with CFLAGS=-D_WIN32, I get a different set of errors while building s_inter.c If "_WIN32" is not defined by the compiler, something is going very wrong... usr/lib/gcc/x86_64-pc-msys/10.2.0/../../../../x86_64-pc-msys/bin/ld:

Re: [PD-dev] how to dinamically allocate t_atom & t_float size?

2020-12-05 Thread Christof Ressi
extensions. --- Maybe I can sum it up with: Don't use alloca() unless you have a good reason, know how it works internally and are aware of all its problems :-). Christof On 05.12.2020 12:54, Christof Ressi wrote: Your concerns are certainly warranted. But if the function is a) never called

Re: [PD-dev] how to dinamically allocate t_atom & t_float size?

2020-12-05 Thread Christof Ressi
refuses to inline functions if they contain alloca() statements. What can go wrong with inlined functions containing alloca(): https://stackoverflow.com/a/3410689/6063908 On 04.12.2020 16:57, Jonathan Wilkes wrote: > On Friday, December 4, 2020, 9:43:20 AM EST, Christof Ressi wrote: >

Re: [PD-dev] how to dinamically allocate t_atom & t_float size?

2020-12-04 Thread Christof Ressi
alloca() "allocates" memory on the stack. This is done by simply incrementing the stack pointer. So it's extremely fast and - more importantly - equally fast for all sizes. malloc(), on the other hand, actually uses the system memory allocator which can take arbitrarily long and might even

Re: [PD-dev] how to dinamically allocate t_atom & t_float size?

2020-12-04 Thread Christof Ressi
I'd strongly advise to avoid it in general. For general purpose code I would agree, but for realtime safe code we want to avoid dynamic memory allocation and careful use of alloca() is perfectly fine. But there are caveats. In fact, we had a crasher in FFT objects which used temporary buffers

Re: [PD-dev] how to dinamically allocate t_atom & t_float size?

2020-12-04 Thread Christof Ressi
Off topic. Since C++11, using raw "new" is a code smell, because it easily causes problems as the one below. Instead use smart pointers, which will automatically free the memory once they go out of scope: auto at = std::unique_ptr(new t_atom[c]); Or even better, but requires C++14: auto at

Re: [PD-dev] [PD] [PD-announce] Pd 0.513 test5 released

2020-11-03 Thread Christof Ressi
I agree that its probably preferred to have matching architectures between Pd-core and Pd-GUI, but is it a requirement? I would say yes. Obviously, the wish app can have a different architecture than the core. The only requirement is that the pdfontloader library has the same architecture as

Re: [PD-dev] qsort_r failure building puredata on Android?

2020-10-27 Thread Christof Ressi
FYI, this is now fixed on current master via https://github.com/pure-data/pure-data/commit/afb43ee827ee84ac79e1f03c56384d29e249f785. Christof On 27.10.2020 16:49, Andi McClure wrote: I am building puredata via libpd on Android (a fork off 0.51/d5766fd0). I am doing this by loading the libpd

Re: [PD-dev] pd-lib-builder question (on osx)

2020-10-27 Thread Christof Ressi
Hi, here's the explanation: https://github.com/pure-data/pd-lib-builder/blob/e6cff665a3a30a967c72c382c6fe92bcdedd7b44/Makefile.pdlibbuilder#L45 "class.sources" assumes one source per class. What you need is ".class.sources", i.e. "s4pd.class.sources = s4pd.c s7.c" "common.sources" would

Re: [PD-dev] qsort_r failure building puredata on Android?

2020-10-27 Thread Christof Ressi
Hey, I've just updated the PR to also use "STUPID_SORT" on Android. Christof On 27.10.2020 18:17, Claude Heiland-Allen wrote: Hi Andi, On 27/10/2020 15:49, Andi McClure wrote: I am building puredata via libpd on Android (a fork off 0.51/d5766fd0). I am doing this by loading the libpd

Re: [PD-dev] implementing pools of clocks?

2020-10-25 Thread Christof Ressi
AM Christof Ressi wrote: Hi, Pd doesn't have a notion of global transport time, it just knows about logical time. People can (and have) build their own transport abstractions on top of that. For further inspiration you could look into Supercollider's TempoClock class. The idea is that each

Re: [PD-dev] implementing pools of clocks?

2020-10-25 Thread Christof Ressi
, Oct 25, 2020 at 4:21 AM Christof Ressi <mailto:i...@christofressi.com>> wrote: Actually, there is no need to use a clock for every scheduled LISP function. You can also maintain a seperate scheduler, which is just a priority queue for callback functions. In C++, you coul

Re: [PD-dev] implementing pools of clocks?

2020-10-25 Thread Christof Ressi
ore the priority queue t_scheduler *x = getbytes(sizeof(t_myscheduler)); t_clock *clock = clock_new(x, (t_method)myscheduler_tick); x->clock = clock; On 25.10.2020 02:02, Iain Duncan wrote: Thanks Christof, that's very helpful. iain On Sat, Oct 24, 2020 at 5:53 PM Christof Ressi <mail

Re: [PD-dev] implementing pools of clocks?

2020-10-24 Thread Christof Ressi
A) Am I right, both about being bad, and about clock pre-allocation and pooling being a decent solution? B) Does anyone have tips on how one should implement and use said clock pool? ad A), basically yes, but in Pd you can get away with it. Pd's scheduler doesn't run in the actual audio

Re: [PD-dev] [PD] REQUEST: Passed parameters into subpatch

2020-08-16 Thread Christof Ressi
, with [myabs foo], they are in global scope. Christof On 16.08.2020 13:10, Christof Ressi wrote: The purpose of subpatches is to hide stuff. If you feel the need for creation arguments, it is a good indication that you really should be using an abstraction instead. That's what they are made

Re: [PD-dev] g_all_guis.h include guards?

2020-08-11 Thread Christof Ressi
I am pretty sure this is an oversight. The header contains struct declarations, so it must be guarded and #defines, so it must be guarded. On 11.08.2020 11:39, Dan Wilcox wrote: Howdy all, I noticed today that g_all_guis.h does not have #if/#def include guards. Is this an oversight or is

Re: [PD-dev] tcl error message

2020-06-30 Thread Christof Ressi
The error message comes from a IEM GUI element. Please try to reduce the abstraction to the minimum (while still triggering the error reliably) and share it with us! Christof On 30.06.2020 23:57, Eric Lennartson wrote: Got this error while making an abstraction. Only happens when I load the

Re: [PD-dev] how to know if a GUI object is visible in a GOP?

2020-06-26 Thread Christof Ressi
I'm not sure I understand the issue. Pd obtains the bounding rect of a GUI object (by calling w_getrectfn in gobj_getrect()) to determine whether it should be visible or not and then calls the w_visfn as needed, see gobj_shouldvis(). This means you shouldn't have to perform the bound check

Re: [PD-dev] Macs to transition to ARM processors

2020-06-24 Thread Christof Ressi
As per the usual Apple grumbling I will say "nobody is forcing people to buy an Apple product." True from a user's perspective. For open source cross-platform developers the story is a bit different. Supporting is another story, but now there are people like me to help and I don't often feel so

Re: [PD-dev] Macs to transition to ARM processors

2020-06-23 Thread Christof Ressi
but knowing Apple they might well change the file format anyhow just to force some more upgrades Yes, from what I understood from the articles I've read, they want to create a new file format for fat x86_64 / arm binaries. What I don't understand is: the FAT format already supports all kinds

Re: [PD-dev] inlets sending to wrong outlets

2020-06-01 Thread Christof Ressi
suspicion is rather that I'm not reading from all inlets before writing to the outlets. On 31.05.2020 21:49, Christof Ressi wrote: In Pd, signal inlets and outlets can share the same buffer. Therefore it is important that for any given sample index you never write to any outlet before reading from a

Re: [PD-dev] inlets sending to wrong outlets

2020-05-31 Thread Christof Ressi
In Pd, signal inlets and outlets can share the same buffer. Therefore it is important that for any given sample index you never write to any outlet before reading from all inlets. In your case, you have to first make a copy of all input signals before passing them through to the outlets. You

Re: [PD-dev] [PD] [PD-announce] pd 0.51-0test2 for Macontosh - another try at code signing

2020-05-30 Thread Christof Ressi
From my limited experience with Catalina in the last few weeks, if you haven't made an exception in Security & Privacy *the very first time* you try to load it, you have to delete and reinstall the library. It's infuriating that you can't unblock it after the fact. Christof On 30.05.2020

Re: [PD-dev] [PD] Catalina makes Pd take too long to load externals? + Other annoyances.

2020-05-29 Thread Christof Ressi
I think you don't even need a developer account. I somehow remember that I've manually installed Xcode on my OSX 10.11 machine (which I can't upgrade to newer OSX versions because it's too old). But I might be wrong... On 29.05.2020 18:05, Dan Wilcox wrote: If you have an Apple Developer

Re: [PD-dev] help me find how I'm compiling Pd wrong for macOS

2020-05-29 Thread Christof Ressi
And out of sheer magic (at least to my eyes) a Pd app appears from nothing to me... What do you mean? Did "make app" not work for you before? The issue I'm having might be related to casting float to int Yes, I think so too. https://github.com/pure-data/pure-data/issues/927 shows -2147483647

Re: [PD-dev] 64-bit vs 32-bit info

2020-05-28 Thread Christof Ressi
We already use getLastError() /  errno... The error code/message is not specific enough. Again, I already have the necessary architecture detection code, and if people don't consider it overkill, I could try to integrate it into Pd. Christof On 28.05.2020 21:48, Martin Peach wrote: On Thu,

Re: [PD-dev] 64-bit vs 32-bit info

2020-05-28 Thread Christof Ressi
, the GUI might have a *different* architecture than the Pd-core (and the latter matters when it comes to loading externals). therefore the Pd-core sends its architecture to the GUI as well, triggering the 2nd output. i guess the printout could be improved, i'm open to suggestions. On 5/28/20 7:2

[PD-dev] 64-bit vs 32-bit info

2020-05-28 Thread Christof Ressi
Let's start a new thread for this. Attempting to load externals of the wrong type just gives those vague 'unable to load' errors. I have some cross-platform CPU architecture detection code which I code port to Pd, so that we could have more descriptive error messages. Help->About Pd gives:

Re: [PD-dev] compiler oopses compiling s_net.c on windoze

2020-05-28 Thread Christof Ressi
nd another with IPv6 turned on for Vista+. I'm not sure but I get the impression lots of folks are using WinXP - I hear it described as the "last good version" from time to time. I have to agree personally, fwiw... cheers M On Thu, May 28, 2020 at 01:49:58PM +0200, Christof Ressi wrot

Re: [PD-dev] compiler oopses compiling s_net.c on windoze

2020-05-28 Thread Christof Ressi
@Miller: are you compiling on a Windows XP machine !? The #ifdefs would fix the compilation error on Windows XP, but we still have to compile the release on a Windows Vista+ machine to make the IPv6 functionality available. I think Windows XP doesn't even support IPv6 before service pack 3.

Re: [PD-dev] Filter PD debug output in Powershell

2020-05-24 Thread Christof Ressi
Hi, your problem is that Pd writes the messages to stderr, but the pipe operator reads from stdout. You can redirect stderr to stdout with "2>&1" before filtering the output (should also work in modern Powershell). Christof On 24.05.2020 22:50, Henri Augusto Bisognini wrote: Hey list!

Re: [PD-dev] Variable amount of signal inlets and outlets

2020-05-23 Thread Christof Ressi
memory addresses both as source and destination operands, so the compiler has to load the input into registers anyway. --- Finally, buffer aliasing is also about saving memory and reducing cache misses, probably more than avoiding copy operations. Christof On 23.05.2020 15:11, Roman Haefe

Re: [PD-dev] Variable amount of signal inlets and outlets

2020-05-23 Thread Christof Ressi
Other examples would be zexy's [mux~] and [demux~]. is there a reason that cyclone/matrix~ is using dsp_add over dsp_addv? Generally, you don't *need* to pass the individual signal buffers to dsp_add. Many externals with variable inputs/outputs simply allocate an array of t_float pointers

Re: [PD-dev] Opening patches from libpd without accessing filesystem?

2020-05-04 Thread Christof Ressi
Hi, it's certainly possible to load Pd patches entirely from memory with a binbuf. In fact, Pd itself does this for its private hidden canvases. Checkout the patch "garray_arraytemplatefile" in g_array.c and garray_init() for how to read it. Christof On 04.05.2020 22:46, Andi McClure wrote:

Re: [PD-dev] Compile PD external for Mac Os

2020-05-01 Thread Christof Ressi
nize the snarkov object when I open the patch. I'm not familiar with this, but I assumed I should compile when I found the source code. I sent a print of the error message. On Fri, May 1, 2020 at 2:42 PM Christof Ressi <mailto:i...@christofressi.com>> wrote: Ok, but the folder alre

Re: [PD-dev] Compile PD external for Mac Os

2020-05-01 Thread Christof Ressi
ct section. http://msp.ucsd.edu/pdrp/latest/ I found the source code in the folder called lib, inside Plutons's folder. On Fri, May 1, 2020 at 12:38 PM Christof Ressi <mailto:i...@christofressi.com>> wrote: please show the repository where you found the source code. Christof

Re: [PD-dev] Compile PD external for Mac Os

2020-05-01 Thread Christof Ressi
please show the repository where you found the source code. Christof On 01.05.2020 16:29, Vinicius Cesar wrote: Hello, I was studying the use of Markov Chain in Philippe Manoury's Pluton, and I came across an object call snarkov, PD can't load this object. Searching for this external in the

Re: [PD-dev] PD-specific tips for compiling faster on Windows

2020-04-22 Thread Christof Ressi
, Christof Ressi wrote: One danger I'd like to avoid is all of the Windows people *not* using the autotools build as then we lose testing and further updates on that platform. That danger is very real :-) I would definitely prefer CMake over autotools. i think CMake is an abomination. i'm obviously

Re: [PD-dev] PD-specific tips for compiling faster on Windows

2020-04-22 Thread Christof Ressi
One danger I'd like to avoid is all of the Windows people *not* using the autotools build as then we lose testing and further updates on that platform. That danger is very real :-) I would definitely prefer CMake over autotools. but in general I find autotools to be the easiest to use for

Re: [PD-dev] PD-specific tips for compiling faster on Windows

2020-04-22 Thread Christof Ressi
:00 PM, pd-dev-requ...@lists.iem.at <mailto:pd-dev-requ...@lists.iem.at> wrote: Date: Tue, 21 Apr 2020 10:24:54 +0200 From: Christof Ressi <mailto:i...@christofressi.com>> To:pd-dev@lists.iem.at <mailto:pd-dev@lists.iem.at> Subject: Re: [PD-dev] PD-specific tips for com

Re: [PD-dev] PD-specific tips for compiling faster on Windows

2020-04-21 Thread Christof Ressi
Autotools (especially libtool) is very slow on MinGW. On my system, compiling the /extra externals takes significantly longer than compiling the actual Pd application, only because of libtool. If you want to get faster build times, rewrite the build system in CMake and compile with MSVC :-)

Re: [PD-dev] no longer able to "send" to UDP -- correction

2020-03-28 Thread Christof Ressi
cted netreceive objects" Note that I first send messages from [netsend -u] to [netreceive -u] before trying to send back (otherwise it wouldn't work in any case :-) Do you know the commit where this feature has been apparantly introduced? Christof On 28.03.2020 10:40, Christof Re

Re: [PD-dev] no longer able to "send" to UDP -- correction

2020-03-28 Thread Christof Ressi
One thing that was possible in pd 0.50 was to "send" to netreceive -u ... this was added by Shahrokh Yadegari a year or so ago. Interesting. I remember it being mentioned in the help patch, but it never seemed to work for me (at least on Windows). We can of course bring it back! What I

Re: [PD-dev] trying to understand class_new

2020-03-24 Thread Christof Ressi
used or tried to use libpd under such extreme memory constraints and can share their experience? Christof On 24.03.2020 11:49, Boštjan Jerko wrote: Do you know what are the minimum values for the stack and heap? At least rough estimation. B. On 24 Mar 2020, at 11:30, Christof Ressi wrote

Re: [PD-dev] trying to understand class_new

2020-03-24 Thread Christof Ressi
Check how much memory Pd is using. I mean, a 16 kB stack and 130 kB heap is still pretty small... (if those hex numbers mean bytes). Pd hasn't really been designed to run on microcontrollers ;-). Anyway, have a look at m_memory.c, there are some heap memory debug options, in case your

Re: [PD-dev] trying to understand class_new

2020-03-22 Thread Christof Ressi
what's "vp"? a variable in class_new() also, your underlying problem sounds like a typical usecase for " libpd". From his first e-mail, I understood he is already using libpd. Christof On 22.03.2020 13:09, IOhannes m zmölnig wrote: Am 22. März 2020 09:13:23 MEZ schrieb "Boštjan Jerko" :

Re: [PD-dev] trying to understand class_new

2020-03-22 Thread Christof Ressi
r exiting class_new the microcontroller stops with a hard error. So maybe the question is really - should the vp be empty and if not - why is that happening? B. On 21 Mar 2020, at 13:58, Christof Ressi wrote: Hi, The code compiles but I get the error when running in the pdint_setup where p

Re: [PD-dev] trying to understand class_new

2020-03-21 Thread Christof Ressi
Hi, The code compiles but I get the error when running in the pdint_setup where pdint_new in class_new breaks with an error. My idea is to first try to understand the code hence my question: I think first you should post the error you get ;-) Maybe the problem is trivially solved without

Re: [PD-dev] Default value for unconnected signal input, or connection detection in an external

2020-03-19 Thread Christof Ressi
inlet though! Thanks! -Alex On Thu, Mar 19, 2020 at 8:28 AM Christof Ressi mailto:i...@christofressi.com>> wrote: Hi, for the first inlet you can simply set the float field passed to CLASS_MAINSIGNALIN. This is actually done by many Pd

Re: [PD-dev] [PD] double precision merged

2020-02-26 Thread Christof Ressi
I've tested loading externals and it just doesn't create and complain Are you sure? Turn on log level 4. Here's what I get when I try to load a single precision [markex/randomF] in my double precision built: refusing to load 32bit-float object 'randomF' into 64bit-float Pd maximum object

Re: [PD-dev] [PD] double precision merged

2020-02-26 Thread Christof Ressi
ill load the correct version. This can be automated by pd-lib-builder. Christof On 26.02.2020 13:39, IOhannes m zmoelnig wrote: On 26.02.20 13:00, Christof Ressi wrote: I think I found it :-) https://github.com/pure-data/pure-data/pull/807#issuecomment-561251729 thanks! if we want to pass th

Re: [PD-dev] [PD] double precision merged

2020-02-26 Thread Christof Ressi
dre Torres Porres wrote: Em qua., 26 de fev. de 2020 às 09:29, Christof Ressi mailto:i...@christofressi.com>> escreveu: I can see that showing too many digits can be annoying in number boxes But you can set the width/digits of number boxes, it's not that now all boxes will chan

Re: [PD-dev] [PD] double precision merged

2020-02-26 Thread Christof Ressi
I can see that showing too many digits can be annoying in number boxes, but in object boxes, where the number is (usually) typed by the user, the higher precision is certainly desirable. At the very least, Pd should *save* the number with a higher precision. Christof On 26.02.2020 12:48,

Re: [PD-dev] [PD] double precision merged

2020-02-26 Thread Christof Ressi
PS: i'm absolutely sure i write this up before (months, years ago?) but cannot find it anymore :-( I think I found it :-) https://github.com/pure-data/pure-data/pull/807#issuecomment-561251729 On 26.02.2020 10:09, IOhannes m zmoelnig wrote: (i'm not sure how this ended on pd-list, m oving it

Re: [PD-dev] Bit fields in t_editor

2020-02-14 Thread Christof Ressi
To clarify: The compiler is allowed to pack adjacent bitfields (and will probably do it), because that's the whole point of using bitfields. The whole set of bitfields, however, will be aligned based on the int type. You definitely don't have to manually add padding. Further reading:

Re: [PD-dev] Tips on debugging dip crashes?

2020-02-08 Thread Christof Ressi
a union used in one part of the code to another to replace a dereferencing cast. That seems to have helped, at least in my testing so far. On Feb 8, 2020, at 12:00 PM, pd-dev-requ...@lists.iem.at <mailto:pd-dev-requ...@lists.iem.at> wrote: Message: 2 Date: Sat, 8 Feb 2020 11:06:30 +

Re: [PD-dev] Tips on debugging dip crashes?

2020-02-08 Thread Christof Ressi
Hi Dan, if you're accidentally writing beyond the stack, then the backtrace becomes useless. You can notice this by looking at the function addresses/names. If they have low addresses like 0x9 or don't show a name (although Pd is built with debug symbols), than this is strong indication for

Re: [PD-dev] array/table and canvas memory management

2020-01-30 Thread Christof Ressi
als I write, but either way it is good to know about that appraoch. -Alex On Tue, Jan 28, 2020 at 6:41 AM Christof Ressi <mailto:i...@christofressi.com>> wrote: Hi, So my question is: if I allocate an array/table in an external, do I have to manage its de-allocation or is the

Re: [PD-dev] array/table and canvas memory management

2020-01-28 Thread Christof Ressi
Hi, So my question is: if I allocate an array/table in an external, do I have to manage its de-allocation or is there some sort of reference counter? A graphical array always belongs to a canvas and it will be automatically be destroyed when the canvas is freed. Destroying a single

Re: [PD-dev] Fwd: capabilities of data structures with externals

2020-01-04 Thread Christof Ressi
> The complexity of the scalars isn't much an issue, more the quantity of elements is what brings tcl/tk down. I think the problem is there, and not really with the Pd core.   Tcl/Tk's canvas implementation is just horrible. Whenever you change something in the canvas, it will redraw the whole

Re: [PD-dev] capabilities of data structures with externals

2020-01-04 Thread Christof Ressi
det: Samstag, 04. Januar 2020 um 17:13 Uhr Von: "Christof Ressi" An: "x nor" , pd-dev Betreff: Re: [PD-dev] capabilities of data structures with externals There's not much you can do with data structures/pointers in externals if you stick to the official header "m_p

Re: [PD-dev] capabilities of data structures with externals

2020-01-04 Thread Christof Ressi
s remember to call "gpointer_check()" first to varify that the gpointer is still valid.   Not that I've ever needed this :-)   Christof Gesendet: Samstag, 04. Januar 2020 um 16:49 Uhr Von: "x nor" An: "Christof Ressi" Cc: pd-dev Betreff: Re: [PD-dev] capabilities of

Re: [PD-dev] capabilities of data structures with externals

2020-01-04 Thread Christof Ressi
Being a Lua user myself, I wholeheartedly agree.   One "problem" with Lua, though, is that it uses 1-based indexing by default, but it's possible to override this for user data (e.g. Pd arrays, text, atom lists, etc.)   Another advantage of lua is that you can control the garbage collector,

Re: [PD-dev] capabilities of data structures with externals

2020-01-03 Thread Christof Ressi
a by name. No need to explicitly store pointers! Christof *) I just noticed that the [text] and [array] methods don't support the "-" wildcard in "-s ". > Gesendet: Samstag, 04. Januar 2020 um 00:54 Uhr > Von: "Miller Puckette" > An: "x nor" &g

Re: [PD-dev] capabilities of data structures with externals

2020-01-03 Thread Christof Ressi
> maybe not exactly the goal here but: if get/set would need only the name of the variables and not the template,   this is already possible! you just have to use "-" for the template name and the template will be deduced. See the help patch for [set] and [get].   Christof Gesendet: Samstag,

<    1   2   3   >