I think it was optimized since I had already made libpd, not from the sampes/.../multi directory. But anyhow I re-did it as you suggest with the same result.... can't make it fail...
cheers M On Wed, Apr 22, 2015 at 12:03:28AM -0400, Dan Wilcox wrote: > You ran it without the optimizations since I added the debug option. Remove > DEBUG=true from line 33 in the Makefile: > https://github.com/libpd/libpd/blob/master/samples/c_samples/multi/Makefile#L33 > > <https://github.com/libpd/libpd/blob/master/samples/c_samples/multi/Makefile#L33> > and do a full clean before rebuilding: > > cd ../../../ && make clobber && cd - && make > -------- > Dan Wilcox > @danomatika > danomatika.com <http://danomatika.com/> > robotcowboy.com <http://robotcowboy.com/> > > On Apr 21, 2015, at 11:57 PM, Miller Puckette <[email protected]> wrote: > > > > Hi Dan et al - > > > > I gave this a try: > > > > git clone https://github.com/libpd/libpd.git > > > > [copies pd sources into libpd/pure-data] > > > > cd libpd > > make > > > > cd samples/c_samples/multi/ > > make > > ./multi_pdtest multi_test.pd `pwd` > > > > and got output: > > > > print: 0 > > 1003-frequency: bang > > print: 0 > > 1004-frequency: bang > > 1003-frequency: 1 > > 1004-frequency: 2 > > 1.000000 1.000000 0.999999 0.999999 0.999998 0.999998 0.999997 0.999997 > > 1.000000 1.000000 0.999998 0.999998 0.999996 0.999996 0.999995 0.999995 > > print: 1 > > 0.999944 0.999944 0.999943 0.999943 0.999942 0.999942 0.999941 0.999941 > > print: 1 > > 0.999815 0.999815 0.999810 0.999810 0.999804 0.999804 0.999799 0.999799 > > print: 2 > > print: 2 > > > > This on Fedora 21, 64 bits, Intel hardware. > > > > I guess something subtle is happening, maybe in Pd and unrelated to libpd? > > > > cheers > > Miller > > > > On Tue, Apr 21, 2015 at 06:00:15PM -0400, Dan Wilcox wrote: > >> Howdy Miller, > >> > >> Following up from the dev list last year, I added your multi instance test > >> to the c samples included with libpd: > >> https://github.com/libpd/libpd/tree/master/samples/c_samples/multi > >> <https://github.com/libpd/libpd/tree/master/samples/c_samples/multi> > >> > >> The one thing I want to double check is the changes to z_libpd.c you > >> mentioned in > >> http://lists.puredata.info/pipermail/pd-dev/2014-05/019832.html: > >> <http://lists.puredata.info/pipermail/pd-dev/2014-05/019832.html:> > >> > >>> Here's how I modified libpd_wrapper/z_libpd.c: > >>> > >>> 55d54 > >>> < sys_time = 0; > >>> 110c109 > >>> < sched_tick(sys_time + sys_time_per_dsp_tick); > >>> --- > >>>> > >>> sched_tick(); > >>> > >>> 130c129 > >>> < sched_tick(sys_time + sys_time_per_dsp_tick); \ > >>> --- > >>>> > >>> sched_tick(); \ > >> > >> > >> Currently, that line is > >> https://github.com/libpd/libpd/blob/master/libpd_wrapper/z_libpd.c#L171 > >> <https://github.com/libpd/libpd/blob/master/libpd_wrapper/z_libpd.c#L171> > >> and I’m getting a segfault if I replace it with sched_tick(); AND set gcc > >> optimization to -O3 > >> > >> Here’s a gdb backtrace: > >> > >> #0 0x0000000100091f2f in outlet_float (x=0x3f7ffc2a3f7ffc38, > >> f=0.999937057) at m_obj.c:388 > >> #1 0x00000001000ac572 in pdfloat_bang (x=0x10021ac20) at x_connective.c:89 > >> #2 0x0000000100093d58 in pd_bang (x=0x10021ac20) at m_pd.c:267 > >> #3 0x0000000100091ddd in outlet_bang (x=0x10021ae20) at m_obj.c:363 > >> #4 0x00000001000c45e4 in metro_tick (x=0x10021ada0) at x_time.c:162 > >> #5 0x0000000100095021 in sched_tick () at m_sched.c:418 > >> #6 0x00000001000c5d4d in libpd_process_float (ticks=1, > >> inBuffer=0x7fff5fbffa50, outBuffer=0x7fff5fbff750) at z_libpd.c:173 > >> #7 0x0000000100000d18 in main () > >> > >> If I don’t optimize, it works fine: > >> > >> print: 0 > >> 1003-frequency: bang > >> print: 0 > >> 1004-frequency: bang > >> 1003-frequency: 1 > >> 1004-frequency: 2 > >> 1.000000 1.000000 0.999999 0.999999 0.999998 0.999998 0.999997 0.999997 > >> 1.000000 1.000000 0.999998 0.999998 0.999996 0.999996 0.999995 0.999995 > >> print: 1 > >> 0.999944 0.999944 0.999943 0.999943 0.999942 0.999942 0.999941 0.999941 > >> print: 1 > >> 0.999815 0.999815 0.999810 0.999810 0.999804 0.999804 0.999799 0.999799 > >> print: 2 > >> print: 2 > >> > >> -------- > >> Dan Wilcox > >> @danomatika > >> danomatika.com <http://danomatika.com/> > >> robotcowboy.com <http://robotcowboy.com/> > >>> On Apr 21, 2015, at 10:56 AM, Kjetil Matheussen > >>> <[email protected]> wrote: > >>> > >>> But for libpd, are you sure you need to add anything? Can't just the user > >>> call the pdinstance_new and pd_setinstance functions directly? > >>> > >>> http://lists.puredata.info/pipermail/pd-dev/2014-05/019832.html > >>> <http://lists.puredata.info/pipermail/pd-dev/2014-05/019832.html> > >>> > >>> > >>> (BTW. When I wrote about libpds, I hadn't forgotten about the support for > >>> pd instances, > >>> but since I didn't have all details in my head then, I didn't mention it. > >>> I should have though.) > >>> > >>> > >>> On Tue, Apr 21, 2015 at 4:42 PM, Dan Wilcox <[email protected] > >>> <mailto:[email protected]>> wrote: > >>> This should be possible with the current version of libpd which includes > >>> Miller’s multiple instance updates, see > >>> http://lists.puredata.info/pipermail/pd-dev/2014-05/019839.html > >>> <http://lists.puredata.info/pipermail/pd-dev/2014-05/019839.html> > >>> > >>> I just haven’t gotten around to adding libpd-specific wrapper functions > >>> for this yet, but Miller provides code in that dev list exchange. > >>> > >>> -------- > >>> Dan Wilcox > >>> @danomatika > >>> danomatika.com <http://danomatika.com/> > >>> robotcowboy.com <http://robotcowboy.com/> > >>>> On Apr 21, 2015, at 6:00 AM, [email protected] > >>>> <mailto:[email protected]> wrote: > >>>> > >>>> From: Oliver Greschke <[email protected] <mailto:[email protected]>> > >>>> Subject: [PD-dev] Can somebody help to create a desktop / VST / AU > >>>> version of a PD / libPD / app ? > >>>> Date: April 21, 2015 at 3:15:44 AM EDT > >>>> To: [email protected] <mailto:[email protected]> > >>>> > >>>> > >>>> Hi, > >>>> I am the creator of the Elastic Drums iOS app (with great PD help from > >>>> Matt Davey). > >>>> It’s made with PureData, libPD and Objective-C. > >>>> I got asked a couple of times now, if there will be ever a standalone > >>>> desktop version or even better Plugin (VST, AU) version of the app. > >>>> > >>>> As far as I know, there are not ready to use workarounds to do so. Which > >>>> is sad, because I can imagine a lot of fantastic plugins emerging from PD > >>>> > >>>> Has somebody here some experience with doing such ports? > >>>> Then please contact me. > >>>> > >>>> Cheers, > >>>> Oliver > >>>> > >>>> [email protected] <mailto:[email protected]> > >>> > >>> _______________________________________________ > >>> Pd-dev mailing list > >>> [email protected] <mailto:[email protected]> > >>> http://lists.puredata.info/listinfo/pd-dev > >>> <http://lists.puredata.info/listinfo/pd-dev> > >>> > >>> > >> > > > >> _______________________________________________ > >> Pd-dev mailing list > >> [email protected] > >> http://lists.puredata.info/listinfo/pd-dev > > > _______________________________________________ Pd-dev mailing list [email protected] http://lists.puredata.info/listinfo/pd-dev
