To Pd dev -
I'm having fun seing if I can run large patches inside DAWs using the
purevst plug-in, and have hit one problem that I don't know how to deal
with, both technically and as a design question. Large patches (such as
Philippe Manoury's upcoming opera :) typically have to fall back on
externs for one thing or another. In Manoury's case, that would be
vstplugin~, smerdyakov, and antescofo~. (It's humorous that I'm having
to run vstplugin~ _inside a VST plugin_ …
[View More]but there it is. FWIW the
reverse - loading purevst under vstplugin~ - is working for me.)
I found two problems loading externs into purevst... first off,
pre-defined symbols such as s_float are defined as globals in Pd but as
per-instance objects in libpd. This means that externs compiled for Pd
that use those symbols won't load (dynamic linking says s__float is
undefined). Of course we could just recompile every Pd extern in teh
world to always use gensym("float") instead of s_float, but this might
take a decade to do. Another solution would be for me to define
s__float, etc., as static globals inside libpd but just never use them;
then when an un-hip extern sends them to pd_bind or class_addmethod or
the like I could just catch it and replace with the libpd-defined
version. This might be error-prone but might be worth doing as a stopgap.
But the bigger problem is this... running inside Ableton I found out
that the functions class_new(), class_addmethod(), and post() get
resolved to something other than the libpd-supplied ones - there's
apparently a name clash with some dynamic library or other that Ableton
Live links to. I can't find any way I can control the order in which
dynamic linking under MacOS or linux resolves symbols. I did get
pointed to one fun article here:
https://www.akkadia.org/drepper/dsohowto.pdf
... but I can't find any way yet to oblige a Pd extern to call Pd's
version of class_new() instead of someone else's.
The upshot is that Pd externs might load OK under some DAWs and crash in
others. They're all guaranteed to fail in Ableton, and sometimes
manage to crash it.
So... I could provide new functions pd_class_new() etc. Externs that
called the new functions wouldn't load in existing versions of Pd, so to
get an extern to run in either Pd vanilla or in libpd, you'd have to do
a run-time link to the new functions and revert to the old ones if the
new ones aren't found. And, as new conflicts arise in the future, this
will have to be done to more ane more functions.
Anyone with a better idea please let me in on it :)
Miller
[View Less]
To Pd dev -
I've uploaded another version, 0.2, to the same old
msp.ucsd.edu/tools/purevst .
(I tried to set up a github project but couldn't figure out how to get
permission to push my local repo to it. Giving up on that for now.)
The main thing that now needs thinking through is what to do for a
standard VST3 interface - there shuold be some way for the patch to put
controls on the VST3 surface, perhaps using Steinberg's own GUI-building
nonsense in some way so that things look …
[View More]like a normal VST if you don't
get around to opening the Pd GUI.
cheers
Miller
[View Less]
I'm further developing [neuralnet] to include variational autoencoders.
Trying to train it on audio, I want to be able to read audio files
without using Pd's [readsf~]. I have managed to read unsigned 16-bit WAV
files inside the object, but when I'm trying to store the values to the
object as a training dataset, Pd crashes, and I think this is related to
memory reallocation.
The code can be found here
https://github.com/alexdrymonitis/neuralnet/tree/develop
You'll need some audio files …
[View More]in a directory named "recordings", which
should be in the "examples" directory (in the GitHub link the
"recordings" directory doesn't exist, because it would be empty, and Git
won't let you create an empty directory, if I'm not mistaken). Follow
the steps in the 05-audio_variational_autoencoder.pd example, and Pd
should crash. I think this happens when the
`store_audio_training_sample()` function is called, in line 4407 in
neuralnet.c.
Any help greatly appreciated.
[View Less]
Dear all,
We urgently need one, there were few applications.
- unofficial comment on -
The musicology aspect is not that important, but we would prefer a female
professor since (a shame) we don't have one at IEM. Also, a good hacker in CM,
especially with good knowledge of Pd, is welcome.
- unofficial comment on -
The University of Music and Performing Arts Graz, Institute of Electronic
Music and Acoustics, is seeking to fill the position of Professor of
Computational Methods in Time-…
[View More]Based Arts and Musicology. The application
deadline is March 26, but later applications can also be considered.
Please distribute to potentially interested persons!
see also: https://go.iem.at/timebasedarts
Thanks,
winfried
PS: Feel free to contact me (not part of the committee).
--
- ao.Univ.Prof. DI Winfried Ritsch
- ritsch(a)iem.at - http://iem.at/ritsch
- Institut fuer Elektronische Musik und Akustik
- University of Music and Dramatic Art Graz
- Tel. ++43-316-389-3510 (3170) Fax ++43-316-389-3171
- mobile: 0043 664 2439369
[View Less]
Hey Miller et al.
Some of my data structures based patches exhibit issues, probably since
1b928e6. I haven't yet the opportunity to deeply investigate and I'll
try to open issues proper soon. Since these days it sometimes takes a
few days for me to sit down and look at things, I thought it might be
better to communicate early that some things might still need fixing.
Some patches don't report mouse clicks while they do so in 0.55-2.
Another issue is that colors of [drawnumber] elements are …
[View More]black and not
in the color defined. Both those findings don't apply to all my
patches, thus making debugging a bit more complex.
I have often two or more layers of elements above each other so that
the lowest layer is optimized for mouse interaction and the top layer
for appearance. Maybe ordering of layers plays a role here?
I will report with more details when I can provide them.
Thanks,
Roman
[View Less]
hi,
TL;DR could we bump the minimum TclTk version to 8.6 (for consistencies
sake)?
i wonder whether we could agree on a minimum Tcl/Tk version that Pd-GUI
code has to be compatible with.
The actual value does not matter so much, but whenever I write TclTk
code, i would like to know which feature set I can actually use (and
whether I actually do need to provide compat code for features that have
been in a TclTk-version released 18 years ago)
so i did a quick check to see which TclTk …
[View More]versions are actually shipped
in the binary packages on miller's site.
for the Pd-0.55-2 release the TclTk versions are:
- Windows/i386: 8.5.19
- Windows/amd64: 8.6.10
- macOS/amd64+arm64: 8.6.13
- (no linux binaries; i think virtually all linux distributions ship
TclTk-8.6 these days, with TclTk-9.0 arriving)
those are just the mainstream architectures.
there are also:
- OSX/ppc: 8.4.7
- OSX/i386: 8.5.19
However, the last OSX/ppc package on miller's page is Pd-0.51-0, and the
last OSX/i386 package is Pd-0.53-1.
(a more detailed report on which TclTk version is used for which Pd
download, can be found at <https://zmoelnig.iem.sh/post/tclpd/>
Is it correct to assume, that there is no longer any demand for OSX/ppc
and OSX/i386 binaries, and therefore nobody will go into the trouble and
build a newer version of Pd for these platforms?
If so, we can simply assume that any modern Pd will at least have
TclTk-8.5 available.
Since then there's only a single platform left that actually uses
TclTk-8.5 (that is: Windows/i386), I would like to suggest to bump it to
TclTk-8.6 and thus use the same version for all systems¹.
(I know that TclTk-9.0 cannot be build for any OSX-system that supports
i386; i'm pretty sure that we cannot build Tcl-8.6 on PPC and probably
not on i386 either)
I guess I could do a PR to update the msw/pdprototype.tgz.
but during my survey I noticed that the Windows packages available on
miller's website actually do not use the pdprototype.tgz at all but
instead ship with a TclTk that was built locally on miller's linux box...
mgfasdr
IOhannes
¹ of course there is now TclTk-9.x! but we probably should wait first
until the major bugs got fixed, both on the TclTk side and on the Pd-GUI
side :-)
[View Less]
Trying to find "best practices" to control a Pd application via HTML5 or
javascript or the like.
There is probably solution with Pd as server and (simple to handle) middleware
as web-server in between and Pd and browser.
As Example usage to clarify the need:
Providing a Web user interface (GUI) for a synthesizer with a lot of
parameter running on a headless embedded Linux computer only connected with
MIDI keyboard over an Ethernet interface for network connection.
The logic of UI …
[View More]should be done within the Webpage volume, program change, ...
and also key-press should be monitored.
Description of any use case and suggestion is appreciated.
The goal is to compile different recipes, solutions for comparison and helping
to make development decisions. Examples and solution with open Source and free
software are appreciated.
mfg winfried
--
- ao.Univ.Prof. DI Winfried Ritsch
- ritsch(a)iem.at - http://iem.at/ritsch
- Institut fuer Elektronische Musik und Akustik
- University of Music and Dramatic Art Graz
- Tel. ++43-316-389-3510 (3170) Fax ++43-316-389-3171
- mobile: 0043 664 2439369
[View Less]
Hi, I am hoping to learn how to better code with tcl/tk and GUI design and
one of the things I would like to do is trying to make a PR so iemguis can
be resized, like comments can.
I also wanna do that for my externals. But the mechanism I have there in an
object like [else/scope~] and [else/note] is inherited from Cyclone and has
a much different strategy, so it seems.
Could anyone help me figuring out Pd's code, where exactly to look and dive
in, to understand how an object like comment is …
[View More]aware of when Pd gets into
edit mode, so it changes its look to show a draggable sidebar. Also, how is
it aware that when reaching that sidebar it must show a different double
sided arrow cursor?
thanks
[View Less]
For pd64, I would just remove the precision (.6) and go normal %g, leaving it up to the system. I don't see the need for making it configurable globally or on a per-object basis, which is adding more complexity. Keep the "data pure" so people can clip, filter, apply an epsilon check for small numbers, etc. ;)
If you want to show *everything* losslessly, apparently %.9g for float and %.17g for double, although that seems overdone to me. There are also the FLT_DECIMAL_DIG and DBL_DECIMAL_DIG …
[View More]defines in float.h for this. :)
Ref: https://stackoverflow.com/a/21162120
I prefer the simplicity of letting %g of just do it's thing in this case, and keep %.6g as it is for pd32.
> On Nov 26, 2024, at 2:20 AM, pd-dev-request(a)lists.iem.at wrote:
>
> Message: 3
> Date: Mon, 25 Nov 2024 22:20:32 -0300
> From: Alexandre Torres Porres <porres(a)gmail.com <mailto:porres@gmail.com>>
> Subject: [PD-dev] Re: why nor increase the '%g' precision for pd64?
> To: Giulio Moro <giuliomoro(a)yahoo.it <mailto:giuliomoro@yahoo.it>>
> Cc: pd-dev <pd-dev(a)lists.iem.at <mailto:pd-dev@lists.iem.at>>
> Message-ID:
> <CAEAsFmg=F9zWi0970c83sP4dMYGoOF794w-5DbFTSVcUy0fiSA(a)mail.gmail.com <mailto:CAEAsFmg=F9zWi0970c83sP4dMYGoOF794w-5DbFTSVcUy0fiSA@mail.gmail.com>>
> Content-Type: multipart/alternative;
> boundary="00000000000076eed00627c6a88b"
>
> The thing is that a higher precision in single precision will give you many
> float imprecision errors and it's also annoying.
>
> I guess using %g is a good compromise for single precision in messages,
> objects (as arguments) and comments. Maybe being able to set with more
> versatility would be nice in an object like [print], or as a new parameter
> for the number boxes. Or I can try and create externals that deal with this
> for power users, I don't know...
>
> But at least a hardcoded higher precision makes sense in general for pd64.
> I don't know yet which one would be good and others here may know better.
> And I think that a highger precision by default would deal with your issue
> Giulio, right?
>
> cheers
--------
Dan Wilcox
danomatika.com <http://danomatika.com/>
robotcowboy.com <http://robotcowboy.com/>
[View Less]
Hi, I was about to open an issue on github, but thought it was better to
start a discussion here instead.
Pd uses the default settings for %g to display numbers in comments, message
boxes, number boxes and [print] (and some other stuff, but this is what
concerns me). The default precision is "6" (as in "%.6g").
I'm sure this probably has been discussed many times, but even for single
precision, this is not satisfactory and we can create numbers in Pd that it
can understand, but it can't save …
[View More]them. Let's leave that aside for now, the
thing is that I think this could really change and improve for pd64, as
such a precision really does seem quite restrictive to me in this case.
It should be easy to adapt the code and have a different precision for each
case, right?
I can also think of a preference settings that the user can set himself.
What do you think?
cheers
[View Less]