Re: [PD] [PD-announce] 0.50-0 released
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
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
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
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
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
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
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
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