Re: [PD] [PD-announce] Pd 0.52-3 is out

2023-03-13 Thread Alexandre Torres Porres
damn my dislexia...

Em ter., 14 de mar. de 2023 às 01:54, Kylee Kennedy 
escreveu:

> I like the little typo in the title ;)
> I thought it was a downgrade release for a second.
>
> Kylee
>
> On Mon, Mar 13, 2023 at 5:23 PM Alexandre Torres Porres 
> wrote:
>
>> Doing this on behalf of Miller who complained he wasn't getting emails
>> through last week.
>>
>> Pd version 0.53-2 is available on http://msp.ucsd.edu/software.htm or
>> (source only) via github:
>> https://github.com/pure-data/pure-data/releases/tag/0.53-2
>>
>> This is for mac people who use the latest OS as it fixes a bug where Pd
>> would hang.
>>
>> Cheers
>>
>>
>>
>>
>>
>> ___
>> Pd-announce mailing list
>> pd-annou...@lists.iem.at
>> https://lists.puredata.info/listinfo/pd-announce
>> ___
>> Pd-list@lists.iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> https://lists.puredata.info/listinfo/pd-list
>>
> ___
> Pd-list@lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] Pd 0.52-3 is out

2023-03-13 Thread Kylee Kennedy
I like the little typo in the title ;)
I thought it was a downgrade release for a second.

Kylee

On Mon, Mar 13, 2023 at 5:23 PM Alexandre Torres Porres 
wrote:

> Doing this on behalf of Miller who complained he wasn't getting emails
> through last week.
>
> Pd version 0.53-2 is available on http://msp.ucsd.edu/software.htm or
> (source only) via github:
> https://github.com/pure-data/pure-data/releases/tag/0.53-2
>
> This is for mac people who use the latest OS as it fixes a bug where Pd
> would hang.
>
> Cheers
>
>
>
>
>
> ___
> Pd-announce mailing list
> pd-annou...@lists.iem.at
> https://lists.puredata.info/listinfo/pd-announce
> ___
> Pd-list@lists.iem.at mailing list
> UNSUBSCRIBE and account-management ->
> https://lists.puredata.info/listinfo/pd-list
>
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] Pd 0.52-3 is out

2023-03-13 Thread Phil Stone
Ah, thanks. I didn’t realize the fix wouldn’t make it into this minor revision.

From: Alexandre Torres Porres 
Date: Monday, March 13, 2023 at 7:38 PM
To: Phil Stone 
Cc: pd-list@lists.iem.at 
Subject: Re: [PD] [PD-announce] Pd 0.52-3 is out
Em seg., 13 de mar. de 2023 às 22:22, Phil Stone 
mailto:pksmu...@gmail.com>> escreveu:
Thanks, Alex (and Miller, of course).

All seems well on Monterey 12.6.3, *except* I still can’t get right-click on a 
second monitor to work.


I believe this has already been taken care of in the current master, and I 
suspect this is the reason that my object menu plugin broke and had to be 
rewritten for the new version. So hang in there and wait for 0.54-0 :)
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] Pd 0.52-3 is out

2023-03-13 Thread Alexandre Torres Porres
Em seg., 13 de mar. de 2023 às 22:22, Phil Stone 
escreveu:

> Thanks, Alex (and Miller, of course).
>
>
>
> All seems well on Monterey 12.6.3, **except** I still can’t get
> right-click on a second monitor to work.
>


I believe this has already been taken care of in the current master, and I
suspect this is the reason that my object menu plugin broke and had to be
rewritten for the new version. So hang in there and wait for 0.54-0 :)
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Prototype for adding an object browser into Pd Vanilla's core

2023-03-13 Thread Alexandre Torres Porres
Well, I made a PR, see https://github.com/pure-data/pure-data/pull/1917

The current PR code now works with the current master but not in older
versions. You can still use my test plugin which is online for tests and
feedback.

Em sex., 10 de mar. de 2023 às 14:16, Alexandre Torres Porres <
por...@gmail.com> escreveu:

> Em sex., 10 de mar. de 2023 às 04:42, IOhannes m zmölnig 
> escreveu:
>
>> then i think the architecture is broken (...)
>
> (...) the core tcl/tk code got some changes I'd like to know more about
> the needed reasons. I could be wrong, but it could just be some API change
> that breaks things and this would not be the first time this happened.
>

I still believe so. By the way, I also opened an issue for the patcherize
plugin that seems to have some bugs with the current 0.53 releases, so I
think it's kind of the same deal and not a prior architecture problem. Or
maybe I don't get what this means.

 as long as it requires manually maintaining a database of any change
>> in the objects, i strongly believe that the architecture ought to be
>> reconsidered.
>>
>
I understand this concern, like I said before, but since this would require
lots of discussion and other intrusive core changes, I just went ahead and
made this PR as it is (and I discuss this in the PR description).

I guess we can further discuss this here and/or over there (maybe there is
better?)

cheers
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] [PD-announce] Pd 0.52-3 is out

2023-03-13 Thread Phil Stone
Thanks, Alex (and Miller, of course).

All seems well on Monterey 12.6.3, *except* I still can’t get right-click on a 
second monitor to work.


Phil Stone
Davis, CA. USA

From: Pd-list  on behalf of Alexandre Torres 
Porres 
Date: Monday, March 13, 2023 at 5:23 PM
To: pd-annou...@lists.iem.at 
Subject: [PD] [PD-announce] Pd 0.52-3 is out
Doing this on behalf of Miller who complained he wasn't getting emails through 
last week.

Pd version 0.53-2 is available on http://msp.ucsd.edu/software.htm or (source 
only) via github: https://github.com/pure-data/pure-data/releases/tag/0.53-2

This is for mac people who use the latest OS as it fixes a bug where Pd would 
hang.

Cheers





___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


[PD] [PD-announce] Pd 0.52-3 is out

2023-03-13 Thread Alexandre Torres Porres
Doing this on behalf of Miller who complained he wasn't getting emails
through last week.

Pd version 0.53-2 is available on http://msp.ucsd.edu/software.htm or
(source only) via github:
https://github.com/pure-data/pure-data/releases/tag/0.53-2

This is for mac people who use the latest OS as it fixes a bug where Pd
would hang.

Cheers
___
Pd-announce mailing list
pd-annou...@lists.iem.at
https://lists.puredata.info/listinfo/pd-announce
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] phase locked loop

2023-03-13 Thread Charles Z Henry
On Mon, Mar 13, 2023 at 8:32 AM Charles Z Henry  wrote:
>
> On Mon, Mar 13, 2023 at 7:41 AM Simon Iten  wrote:

> > i do not currently grasp the math in the fexpr~ objects, but will try to 
> > get into it…
>
> It's a simple kind of dynamical system.  It responds based on its
> inputs but also its internal state when receiving inputs.  That's why
> [fexpr~] works well for this.  You can add additional expressions and
> reference them from each other.  There can be internal hidden state
> variables, etc

Right now, I just left the outlets all hanging out of synch_osc~ for
debugging.  Connect up some plots (maybe longer block sizes would be
better) to see what's in the

I'd say it's actually the *simplest* kind of dynamical system for
phase locking (and a very artificial one).  It's just a discretized,
noise-less little phasor. e.g.

[fexpr~ modf($y1+1.0/44100)]
is just a phasor that counts from 0 up to 1 over 44100 samples

So, if I want, I'll change that to use [samplerate~] and pass in
1/samplerate as a float $f2
[fexpr~ modf($y1+$f2)]

Now, add frequency in $y2, and multiply
[fexpr~ modf($y1+$y2*$f2);
80]
It's a 80 Hz phasor.

Next, I extend the phase that's stored in $y1 so it accumulates over
time between impulses from $x1 in $y3
[fexpr~ modf($y1+$y2*$f2);
80;
if($x1==1, $y1, $y3+$y2*$f2])

So, now I have phase and freq as functions of time, and I'll add in
some updates to the terms and put them in $y4, $y5 so that the updates
get added in when receiving an impulse from $x1
[fexpr~ modf($y1+$y2*$f2+$y4*$x1);
80 + $y5*$x1;
if($x1==1, $y1, $y3+$y2*$f2]);
($y4) phase update function of $y3;
($y5) freq update function of $y3 ]

With some re-ordering of things and adding in parameters and scaling
coefficients with $f inlets, that's basically what's in synch_osc~
right now

The choice of the phase and frequency update functions is what causes
the synchronization.

For anyone who's interested in some light reading (LOL), I noticed
Izhikevich has put "Dynamical Systems in Neuroscience" (~500 pgs) in
pdf at https://www.izhikevich.org/publications/
Chapter 10 is on synchronization and it has a section on
phase-locking.  It took me over a year to read this, much of the math
eludes me also

I want to make a version that's good for your hexaphonic pickup, you
know that just works well as a sensor and has clean output.
synch_osc~.pd has problems with low frequencies and I know where that
comes from
I think it has to be 6 PLL's, each tuned to the range of each string.
Can you tell me what the range is on your instrument?

Best,
Chuck



___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] Sometimes all data-structures are redrawn

2023-03-13 Thread Roman Haefeli
On Wed, 2023-03-08 at 00:13 +0100, Roman Haefeli wrote:
> 
> As a follow-up on the matter, I identified to conditions that trigger
> a
> redraw:
> 
>   * Loading a patch where some scalar objects like
> [draw{symbol,number,text}]
>     or [{draw,filled}{curve,polygon}] are created before the [struct]
> oject
>     of the template
> 
>   * Loading a patch where the [struct] uses a template name
> containing $0
>     like $0.fruit (!).
> 
> $0 seems to be treated specially, since using $1, $2, etc. is not
> affected. Also, it doesn't help to put [struct $1 float x] into an
> abstraction [mystruct $0.fruit]. 


I thought I might could skip using $0 in structs by creating them as
singleton and reference that (instead of the localized $0-version) in
all instances of the abstraction. But then I noticed that I'm often
using the outlet of [struct] to detect clicks.

Assuming I have spread scalars of the same [struct] to different
canvases, is there a way to detect from the click message which canvas
the click originates from? In other words: Is there some way to
associate a pointer to a scalar with the containing canvas?

Roman


signature.asc
Description: This is a digitally signed message part
___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] phase locked loop

2023-03-13 Thread Charles Z Henry
On Mon, Mar 13, 2023 at 7:41 AM Simon Iten  wrote:
>
> hi charles,
>
> thanks for doing this!!

You're welcome.  I guess what I really meant to say is: I have a few
days off of work and what I wanted to do was play with synchronizing
oscillators.  I just didn't know why yet.

> i copied your first patch (with the changes you suggested) to my bela and 
> hooked up my hexaphonic bass pickup to it (well one string to start), and it 
> works pretty well!
>
> i will play with the threshold settings etc. as it is now, the pitch seems to 
> go down a half step every time i stop a note on the bass so that the pll osc 
> is a semitone off. not sure this will be a problem in a “proper” 
> implementation, since i mostly want the pll to follow my playing (so i will 
> just mute the osc when i don’t play)

The threshold should be adjusted, just above the noise level, so you
don't get unrelated triggers.

It's not very good at the low frequencies yet, but I suspect it comes
from the choice of rising edge detector.  Also, the phase updates are
abrupt, and they could be smoothed out.

> i do not currently grasp the math in the fexpr~ objects, but will try to get 
> into it…

It's a simple kind of dynamical system.  It responds based on its
inputs but also its internal state when receiving inputs.  That's why
[fexpr~] works well for this.  You can add additional expressions and
reference them from each other.  There can be internal hidden state
variables, etc

> is it hard to implement a detune factor? so that we could adjust the pll 
> transposition (octave up/down, fifth etc.)
>
> thanks so much already!!

I know it's pretty buggy right now, but I wanted to get something out
for you to try quickly.  I was pleased with how strongly synchronizing
it is.  Drag the initial frequency to 0.3 Hz or up to 2Hz and it
still goes right back to the input frequency.

I think there will be a few different versions of this oscillator,
with different ranges of frequencies and effects, as I play with it
this week.



> > On 11 Mar 2023, at 19:49, Charles Z Henry  wrote:
> >
> >> If the phase is <0.5,  then we're receiving pulses at more than double
> >> the current freq.  In that case, don't update phase, update frequency.
> >> If the phase is >0.5 and <2.0, then we're within one octave.
> >> The maximum phase update amount is (1-phase)
> >> The maximum frequency update amount is ((1-phase)/phase)*freq
> >> Then, if the phase is >2.0, then the input freq is more than 1 octave
> >> lower.  In this case, don't update phase, update frequency.
> >
> > The cool part is this can all be implemented at a basic level in just
> > a few lines of code with fexpr~!  (I started in on it just to write
> > this part, figuring it takes me 20 min)
> >
> > fexpr~ modf($y1+$f5*$y2+$f3*$x1*$y3);
> > if($y6!=$y6[-2], $y6, $y2+$f4*$x1*$y4);
> > if($y5<0.5, 0, if($y5<2, 1-$y5, 0));
> > if($y5<0.5, $y2, if($y5<2, (1-$y5)/$y5*$y2, -1.414*$y2/sqrt($y5)));
> > if($x1[-1]==1, $y1+$f5*$y2, $y5+$f5*$y2);
> > if($y6!=$f2, $f2, $y6)
> >
> > But just so difficult to explain, I created a mathcha document for it,
> > if you expected to be able to start modifying it and tuning it up for
> > use.
> >
> > https://www.mathcha.io/editor/OBgdJIo6UzgsgZHp8K1VSjK188YTN4eVJyHrz1q8G
> >
> > work in progress
>



___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


Re: [PD] phase locked loop

2023-03-13 Thread Simon Iten
hi charles,

thanks for doing this!!

i copied your first patch (with the changes you suggested) to my bela and 
hooked up my hexaphonic bass pickup to it (well one string to start), and it 
works pretty well!

i will play with the threshold settings etc. as it is now, the pitch seems to 
go down a half step every time i stop a note on the bass so that the pll osc is 
a semitone off. not sure this will be a problem in a “proper” implementation, 
since i mostly want the pll to follow my playing (so i will just mute the osc 
when i don’t play)

i do not currently grasp the math in the fexpr~ objects, but will try to get 
into it…

is it hard to implement a detune factor? so that we could adjust the pll 
transposition (octave up/down, fifth etc.)

thanks so much already!!


> On 11 Mar 2023, at 19:49, Charles Z Henry  wrote:
> 
>> If the phase is <0.5,  then we're receiving pulses at more than double
>> the current freq.  In that case, don't update phase, update frequency.
>> If the phase is >0.5 and <2.0, then we're within one octave.
>> The maximum phase update amount is (1-phase)
>> The maximum frequency update amount is ((1-phase)/phase)*freq
>> Then, if the phase is >2.0, then the input freq is more than 1 octave
>> lower.  In this case, don't update phase, update frequency.
> 
> The cool part is this can all be implemented at a basic level in just
> a few lines of code with fexpr~!  (I started in on it just to write
> this part, figuring it takes me 20 min)
> 
> fexpr~ modf($y1+$f5*$y2+$f3*$x1*$y3);
> if($y6!=$y6[-2], $y6, $y2+$f4*$x1*$y4);
> if($y5<0.5, 0, if($y5<2, 1-$y5, 0));
> if($y5<0.5, $y2, if($y5<2, (1-$y5)/$y5*$y2, -1.414*$y2/sqrt($y5)));
> if($x1[-1]==1, $y1+$f5*$y2, $y5+$f5*$y2);
> if($y6!=$f2, $f2, $y6)
> 
> But just so difficult to explain, I created a mathcha document for it,
> if you expected to be able to start modifying it and tuning it up for
> use.
> 
> https://www.mathcha.io/editor/OBgdJIo6UzgsgZHp8K1VSjK188YTN4eVJyHrz1q8G
> 
> work in progress




___
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list