Re: [PD] [PD-announce] 0.50-0 released

2019-08-20 Thread Alexandre Torres Porres
Em ter, 20 de ago de 2019 às 16:11, Miller Puckette  escreveu:

> I think a good policy would eb to fix show-stoppers and any bugs that are
> in
> 0.50 that weren't already in 0.49 - but only to fix non-critical "old" bugs
> for future releases.  This is because fixing bugs often causes other, worse
> ones!
>

Well, in this case, the one thing I mentioned is actually a bug that's in
0.50 that's not in 0.49
here it is again: https://github.com/pure-data/pure-data/issues/732

It basically prevents people that use layouts like brazilian portuguese
(and others I suppose) to type "~" characters on windows. Kind of a show
stopper for me :/ (not for me, though, cause I'm using mac and american
layout).

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


[PD] "game over 0.3.1" - audio-visual game performance

2019-08-20 Thread Christof Ressi
Hi,

I've already shared this on the FB group, so apologies for cross-posting!

"game over" - an interactive audio-visual performance for augmented clarinet 
and custom 2D game engine.

https://vimeo.com/295208489

Pd is used exclusively as the sound engine.

Have fun :-)

Christof



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


Re: [PD] [PD-announce] 0.50-0 released

2019-08-20 Thread Miller Puckette
I think a good policy would eb to fix show-stoppers and any bugs that are in
0.50 that weren't already in 0.49 - but only to fix non-critical "old" bugs
for future releases.  This is because fixing bugs often causes other, worse
ones!

cheers
Miller

On Tue, Aug 20, 2019 at 04:40:54AM -0300, Alexandre Torres Porres wrote:
> Em ter, 20 de ago de 2019 ??s 01:01, Miller Puckette  escreveu:
> 
> > To Pd-announce:
> >
> > Pd version 0.50-0 is available on http://msp.ucsd.edu/software.htm
> > or (source only) via github: https://github.com/pure-data/pure-data.
> >
> > Several problems with zooming from 0.50test1 are fixed.  There are numerous
> > reported bugs still, but no show-stoppers,
> 
> 
> Hi, this one seems serious to me
> https://github.com/pure-data/pure-data/issues/732
> 
> 
> > and I'm way late getting this
> > out.  So I'm putting off fixing many of them till the next release.
> 
> 
> Cool, but this would include a potential bug fix updates like 0.50.1, right?
> 
> thanks

> ___
> 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-dev] First complete keyboard navigation prototype

2019-08-20 Thread Christof Ressi

Hi,

 

> Also this value will be set manually in the code or is there anyway to set it via some config file/some other way?

 

here's what you usually do:

 

#ifndef HAVE_KEYBOARDNAV

#define HAVE_KEYBOARDNAV 0 /* pick your default value */

#endif

 

This makes sure that HAVE_KEYBOARDNAV is always set to a value, but you can override it at compile time by adding "-DHAVE_KEYBOARDNAV " to the preprocessor flags. Since we're using autotools, you (or someone else :-) would also add an option to "configure", e.g. "--enable-keyboardnav" and "--disable-keyboardnav".

 

 

> What should i do? Change those methods so they're not static anymore?

 


That's totally fine! Making it non-static just means that other implementation files can use it by forward declaring it (we do this quite a bit in Pd). In your case, you can add the declaration to your header file. Note that there's a risk that evil Pd external developers will find it, so better add a big disclaimer that the implementation may change anytime :-)

 

 

> By the way i wanted to hear more from you guys about the experience when trying the kbdnav prototype! :) Almost no one commented.

 

To be honest, I forgot about it because I got sucked up in other things, but I'll try it out when I have time! Thanks for the reminder!

 

Christof

 

 


Gesendet: Dienstag, 20. August 2019 um 05:07 Uhr
Von: "Henri Augusto Bisognini" 
An: "pd-...@lists.iem.at" 
Betreff: Re: [PD-dev] First complete keyboard navigation prototype



Thanks a lot for your input Christof!

 

If i may let me ask a couple of question:

 

1) I've been wandering through the sources and i'm not sure: where should i put the "#def HAVE_KEYBOARDNAV"? Also this value will be set manually in the code or is there anyway to set it via some config file/some other way?

 

___

 

2) Also i've put a big portion of the code in a g_kbdnav.c file a long with it's forward declarations in g_kbdnav.h.

 

Why it was in g_editor? Because it uses canvas_connect_with_undo, for example, which is static.

 

What should i do? Change those methods so they're not static anymore?

 

Or maybe put a "helper function" inside g_editor.c?

in g_editor.c:

 

void kbdnav_connect_with_undo(t_canvas *x, t_float index1, t_float outno, t_float index2, t_float inno){

    connect_with_undo(x, index1,outno, index2, inno);

}

 

in g_kbdnav.c:

 

[...]

kbdnav_connect_with_undo(...)

[...]

 

Or should i do something else?
___

 

By the way i wanted to hear more from you guys about the experience when trying the kbdnav prototype! :)

Almost no one commented.

 

Best,

Henri.


 

 


From: Christof Ressi 

 





Hi,

 

> But it appears that actually the size of the struct is deduced  while compiling. So if you write an external it is going to think the canvas struct is the same size as it was in the pd header files that were used during compilation.

 

exactly.


 

> When using the pointer to implementation idiom, wouldn't the pointer itself change the size of the struct? 

 

yes, it will

 

> You've said something about that not being a problem when you add it as the last member of the struct but i don't understand why and how that would work.

 

usually, externals shouldn't care about the *size* the t_editor struct (at least I can't think of any use case), so you can get away with adding new fields at the end (although it's certainly not recommended). Note that those headers aren't really public anyway!

 

However, appending fields conditionally can lead to problems:

 

struct Foo {

    int a;

#ifdef FOO_EX

    int c;

#endif

};

 

Now let's say we need to add another member:

 


struct Foo {

    int a;

#ifdef FOO_EX

    int c;

#endif



    in b;

};


 

If the host compiles with FOO_EX defined and the client doesn't, the latter will assume a wrong offset for 'b'.

 

The solution is to add a field for private data *once*. The advantage is that a) we can hide the private data and b) we can extend it without worrying about compatibility:

 

struct Foo {

   int a;

   PrivateFoo *p;

};

 

We can still add public members if needed:

 

struct Foo {

    int a;

    void *private;

    int b;

};

 

'private' points to a private data structure that is not be visible to clients. There you can conditionally enable members without problems:

 

struct PrivateFoo {

#ifdef USE_BAR

    struct MyFeature feature;

#endif

};

 

MyFeature could be in a seperate source file together with your methods and it only gets compiled when needed.

 

Again, have a look at the "t_canvas_private" struct and the "gl_privatedata" member of "_glist" (aka "t_canvas") and do the same for "_editor", e.g.:

 

in g_canvas.h:

 

typedef struct _editor {

    ...

    void *e_privatedata;

} t_editor;

 

in g_editor.c:

 

#ifdef HAVE_KEYBOARDNAV

#include "g_keyboardnav.h"

#endif

 

typedef struct _editor_private {

#ifdef HAVE_KEYBOARDNAV

    t_keyboardnav keyboardnav;

#

Re: [PD] [PD-announce] 0.50-0 released

2019-08-20 Thread Jack
Hi IOhannes,

Le 20/08/2019 à 15:24, IOhannes m zmölnig a écrit :
> On 8/20/19 3:11 PM, Jack wrote:
>> Hi Miller,
>>
>> The shortcut (CTRL+K) still doesn't work to "Disconnect Selection" (in
>> the menu Edit).
>> Maybe I missed something ?
>>
>> - Selecting 2 connected [t b] => "Disconnect Selection" doesn't work
>> - Selecting the thread of 2 connected [t b] => "Disconnect Selection"
>> doesn't work
> 
> 
> this never worked (that is: 0.50 has the same behaviour as 0.49, so
> there is no regression)
> 
> Currently the Ctrl+k shortcut should disconnect
> all connections of a single selected object. This it does.

OK, i got it !

> 
> Selecting a single patchcord and disconnecting the two objects can be
> simply done with the Del key.

Sure.

> But there is probably little harm done, if Ctrl+k
> would *also* handle this case.

Yes.

> 
> Selecting two connected objects is a bit more tricky: what would you
> expect the shortcut to do?
> 
> something as simple as `[t f] -> [t f]` is *probably* easy: remove
> connection between the two objects. (so you get `[t f]   [t f]`)

Yes, it is what I expected.

> But what if you have:
> `[f]->[t f]->[t f]->[print]` and you select the two `[t f]` objects.
> The current behaviour (when only a single object is selected), would
> suggest to remove any connection going in/out of the selection (rather
> than inside the selection), so you end up with:
> `[f]  [t f]->[t f]  [print]`
> other people might expect `[f]->[t f]  [t f]->[print]`

and you can also expect :
`[f]  [t f]  [t f] [print]`

> 
> and what if you have a loop?
> ~~~
> +>[t f]-+
> |   |
> +-[t f]<+
> ~~~

But yes, these cases are good examples to prove that the usage is not
easy to handle.

> 
> 
> so the current behaviour is intentional.
> unless/until you can come up with a convincingly consistent behaviour,
> that is easy to remember :-)

Maybe, by using 2 shortcuts :
CTRL+K : Connect two objects
CTRL+SHIFT+K : Disconnect object
++

Jack


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




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


Re: [PD] [PD-announce] 0.50-0 released

2019-08-20 Thread IOhannes m zmölnig
On 8/20/19 3:11 PM, Jack wrote:
> Hi Miller,
> 
> The shortcut (CTRL+K) still doesn't work to "Disconnect Selection" (in
> the menu Edit).
> Maybe I missed something ?
> 
> - Selecting 2 connected [t b] => "Disconnect Selection" doesn't work
> - Selecting the thread of 2 connected [t b] => "Disconnect Selection"
> doesn't work


this never worked (that is: 0.50 has the same behaviour as 0.49, so
there is no regression)

Currently the Ctrl+k shortcut should disconnect
all connections of a single selected object. This it does.

Selecting a single patchcord and disconnecting the two objects can be
simply done with the Del key.
But there is probably little harm done, if Ctrl+k
would *also* handle this case.

Selecting two connected objects is a bit more tricky: what would you
expect the shortcut to do?

something as simple as `[t f] -> [t f]` is *probably* easy: remove
connection between the two objects. (so you get `[t f]   [t f]`)
But what if you have:
`[f]->[t f]->[t f]->[print]` and you select the two `[t f]` objects.
The current behaviour (when only a single object is selected), would
suggest to remove any connection going in/out of the selection (rather
than inside the selection), so you end up with:
`[f]  [t f]->[t f]  [print]`
other people might expect `[f]->[t f]  [t f]->[print]`

and what if you have a loop?
~~~
+>[t f]-+
|   |
+-[t f]<+
~~~


so the current behaviour is intentional.
unless/until you can come up with a convincingly consistent behaviour,
that is easy to remember :-)


gfamrds
IOhannes



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


Re: [PD] [PD-announce] 0.50-0 released

2019-08-20 Thread Jack
Hi Miller,

The shortcut (CTRL+K) still doesn't work to "Disconnect Selection" (in
the menu Edit).
Maybe I missed something ?

- Selecting 2 connected [t b] => "Disconnect Selection" doesn't work
- Selecting the thread of 2 connected [t b] => "Disconnect Selection"
doesn't work

My configuration : Ubuntu 18.04
++

Jack




Le 20/08/2019 à 05:33, Miller Puckette a écrit :
> To Pd-announce:
> 
> Pd version 0.50-0 is available on http://msp.ucsd.edu/software.htm
> or (source only) via github: https://github.com/pure-data/pure-data.
> 
> Several problems with zooming from 0.50test1 are fixed.  There are numerous
> reported bugs still, but no show-stoppers, and I'm way late getting this
> out.  So I'm putting off fixing many of them till the next release.
> 
> cheers
> Miller
> 
> 
> 
> ___
> 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] 0.50-0 released

2019-08-20 Thread Alexandre Torres Porres
Em ter, 20 de ago de 2019 às 01:01, Miller Puckette  escreveu:

> To Pd-announce:
>
> Pd version 0.50-0 is available on http://msp.ucsd.edu/software.htm
> or (source only) via github: https://github.com/pure-data/pure-data.
>
> Several problems with zooming from 0.50test1 are fixed.  There are numerous
> reported bugs still, but no show-stoppers,


Hi, this one seems serious to me
https://github.com/pure-data/pure-data/issues/732


> and I'm way late getting this
> out.  So I'm putting off fixing many of them till the next release.


Cool, but this would include a potential bug fix updates like 0.50.1, right?

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