purr-data issueshttps://git.purrdata.net/jwilkes/purr-data/-/issues2019-11-06T21:39:56Zhttps://git.purrdata.net/jwilkes/purr-data/-/issues/558The patch cannot load abstractions2019-11-06T21:39:56ZAnibal ZorrillaThe patch cannot load abstractionsWhen I open the patch (which I have used many times with PD extended and earlier versions), it cannot create the abstractions. I'm on Windows in an HP OMEN. ![Captura_de_pantalla_2019-10-25_17.18.56](/uploads/0a2d5e43ff1cc03eaee83ecb3749...When I open the patch (which I have used many times with PD extended and earlier versions), it cannot create the abstractions. I'm on Windows in an HP OMEN. ![Captura_de_pantalla_2019-10-25_17.18.56](/uploads/0a2d5e43ff1cc03eaee83ecb3749e948/Captura_de_pantalla_2019-10-25_17.18.56.png)https://git.purrdata.net/jwilkes/purr-data/-/issues/557Preferences: File browser for search and startup paths2019-10-24T19:02:37ZH. James HarkinsPreferences: File browser for search and startup pathsIt would be nice if at least the "New" path buttons would open a file dialog for the user to select a directory.
Concrete user impact: If you're in a classroom and guiding the students through configuring an installation, it's easy to t...It would be nice if at least the "New" path buttons would open a file dialog for the user to select a directory.
Concrete user impact: If you're in a classroom and guiding the students through configuring an installation, it's easy to tell them to "click New and navigate to the place where you put the externals/abstractions." It's quite a bit harder to explain to them that they have to find the directory in the Finder, right-click-hold-and-add-the-option-key and Copy Path. (In Linux and Windows, copy-as-path is not hidden, but "friendly" MacOS makes this unnecessarily hard.)
(For that matter, where are the paths stored? If you have to add several search paths, the Preferences dialog might actually be less convenient than opening, say, a JSON file and adding paths by hand. Or, if you're administering a digital media lab and you need to set up 20 identical installations, why not just copy a prepared preferences file?)https://git.purrdata.net/jwilkes/purr-data/-/issues/556crasher when no alsa midi in/out ports are set2019-10-16T19:37:49ZJonathan Wilkescrasher when no alsa midi in/out ports are set1. Use also midi api
2. Set in/out ports to zero
3. Create a patch with `[nbx]---[midiout]`
4. Click the "nbx" and drag it to send a stream of values
This will crash Purr Data.
It appears that `snd_seq_event_output_direct` in `s_midi_a...1. Use also midi api
2. Set in/out ports to zero
3. Create a patch with `[nbx]---[midiout]`
4. Click the "nbx" and drag it to send a stream of values
This will crash Purr Data.
It appears that `snd_seq_event_output_direct` in `s_midi_alsa.c` can get called with a `midi_handle` argument still set to NULL. I'm assuming that happens because our ports are still zero, but there may be other corruption happening in the upstream dataflow related to #555https://git.purrdata.net/jwilkes/purr-data/-/issues/555Thread 1 "purr-data" received signal SIGSEGV2020-06-12T23:32:57ZJoseph GastelaisThread 1 "purr-data" received signal SIGSEGVHello,
This is my 3rd post. My 1st one was about 'Copy/Paste - Duplicate - Move Weird behavior' with an introduction to my MDR-E+ project (MIDI) and my 2nd one was about the Cyclone external v.0.2 issues.
I'm facing to a major and bloc...Hello,
This is my 3rd post. My 1st one was about 'Copy/Paste - Duplicate - Move Weird behavior' with an introduction to my MDR-E+ project (MIDI) and my 2nd one was about the Cyclone external v.0.2 issues.
I'm facing to a major and blocking problem with one of my 15 GOP/Sub-patches in my MDR-E+ project, and only this one.
In short, the bad guy seems to be SIGSEGV. On POSIX-compliant platforms, SIGSEGV is the signal sent to a process when it makes an invalid memory reference, or segmentation fault. SIG is a common prefix for signal names. SEGV is an abbreviation of segmentation violation.
So, this particular sub-patch is handling the MIDI SYSEX BULK data, using [sysexin] -> [seq BULK] -> [midiout], but the issue is only with the SysEx-Out data, the SysEx-In is always okay. I tried to lower, by different means, the output throughput but the problem is still +/- the same.
NB: I'm also using SysEx in other sub-patches with [seq] and I don't have any problem with the SysEx-Out traffic. It's true that the amount of data in these cases is much lower, less heavy.
So, when running my SysEx Bulk Data Sequencer sub-patch, the behavior of my MDR-E+ patch varies from complete freeze to closing suddenly itself, through slowing down to erratic states.
-I tried to analyze what was happening using Purr Data DEBUG v.2.9.0 mode under Linux Mint 19.2 Cinnamon 64-bit.-
Purr Data SIGSEGV excerpts with SysEx Bulk / Console output in Purr Data DEBUG mode
1. I load my *.mra file (previously well recorded with the same sub-patch), click on Send (start [seq]) and I get a successful transmission of the the SysEx Bulk data (F0h...F7h / 240d...247d), I close my patch, and I WANT to RELAUNCH it. But, I'm getting:
`<- pd open mdr3-emulator+033.pd /home/joe/Prd/patchs/MDR3-E;
Thread 1 "purr-data" received signal SIGSEGV, Segmentation fault.
__strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31
31 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: Aucun fichier ou dossier de ce type.
(gdb) watchdog: signaling pd...
watchdog: signaling pd...`
2. I close everything related to Purr Data and I relaunch Prd Debug + Purr Data + my parent patch.
I load my .mra file, click on Send (start [seq]) and the SysEx data are all well transmitted. After few tens of seconds, I do it a second time, again with the same success. I close my patch, and I WANT to QUIT Prd. But, I'm getting:
`<- pd watchdog;
<- x555555f18110 mouseup_fake;
-> gui_post_error "",1,"x555555f18110: no such object
"�
<- pd watchdog;
<- pd verifyquit;
-> gui_post "Quitting Pd...
"�
-> app_quit �
Thread 1 "purr-data" received signal SIGSEGV, Segmentation fault.
_dl_fini () at dl-fini.c:75
75 dl-fini.c: Aucun fichier ou dossier de ce type.
(gdb) watchdog: signaling pd...
watchdog: signaling pd...`
And in Prd's console I have:
`seq: reading /home/joe/Musique/MDR-3/hs6-test1.mra
SXBulk-OUT: 240
SXBulk-OUT: 67
SXBulk-OUT: 112
SXBulk-OUT: 23
... ...
... ...
SXBulk-OUT: 112
SXBulk-OUT: 6
SXBulk-OUT: 73
SXBulk-OUT: 247
legacy tcl command at 201 of ../shared/hammer/file.c: hammereditor_close .55e3eaa0 0
legacy tcl command at 201 of ../shared/hammer/file.c: hammereditor_close .561537f0 0
... ...
legacy tcl command at 201 of ../shared/hammer/file.c: hammereditor_close .56254250 0
legacy tcl command at 201 of ../shared/hammer/file.c: hammereditor_close .56257170 0
error: x555555f18110: no such object
`
3. I close everything related to Purr Data and I relaunch Prd Debug + Purr Data + my parent patch.
I load my .mra file, click on Send (start [seq]) and the SysEx data are all well transmitted. I'm playing successfully a little bit with this SysEx sub-patch and SUDDENTLY my patch FREEZE. And, I'm getting:
`-> gui_print "x555555e55b20","SXBulk-OUT",[112]�
-> gui_print "x555555e55b20","SXBulk-OUT",[6]�
-> gui_print "x555555e55b20","SXBulk-OUT",[73]�
-> gui_print "x555555e55b20","SXBulk-OUT",[247]�
<- pd watchdog;
<- pd ping;
-> gui_ping �
Thread 1 "purr-data" received signal SIGSEGV, Segmentation fault.
__strcmp_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S:31
31 ../sysdeps/x86_64/multiarch/strcmp-sse2-unaligned.S: Aucun fichier ou dossier de ce type.
(gdb) watchdog: signaling pd...
watchdog: signaling pd...`
Etc.
Well, I'm not enough technical to understand all of that.
Question: How could we progress further for trying to fix this problem?
Thank you.https://git.purrdata.net/jwilkes/purr-data/-/issues/554Cyclone v.0.2 issues with MIDI2020-03-22T15:26:07ZJoseph GastelaisCyclone v.0.2 issues with MIDIHello,
This is my 2nd post. Here is my 1st one about [Copy/Paste - Duplicate - Move Weird behavior](https://git.purrdata.net/jwilkes/purr-data/issues/553) with an introduction to my MDR-E+ project (MIDI).
This one is about the Cyclone ...Hello,
This is my 2nd post. Here is my 1st one about [Copy/Paste - Duplicate - Move Weird behavior](https://git.purrdata.net/jwilkes/purr-data/issues/553) with an introduction to my MDR-E+ project (MIDI).
This one is about the Cyclone external issues with MIDI.
1. Cyclone v.0.2 (stopped at Beta stage) in Purr Data 2.9.0 with Pure Data Vanilla 0.48.0 engine
This dinosaur has a lot of bugs, it's completely outdated and just 'compatible' with the old Max v.4.0.
Its developers have written among other things on Git: 'Purr Data still carries the outdated Cyclone 0.2 release (which on its own is not yet fully ported either to Purr Data).'
This could explain a good portion of the MIDI issues I'm facing to with the current version of Purr Data.
2. Cyclone v.0.3 / This release needs at least Pd Vanilla 0.49-0
Still on Git, they have written:
'Cyclone 0.3 was the major overhaul in cyclone, which got updated to the latest Max 7 version (Max 7.3.5). Many bugs were also fixed, the documentation was rewritten from scratch and new objects were included. Here's the aftermath:
- 62 updated objects;
- 65 fixed objects (including updated objects);
- 40 new objects;
- Newly written documentation'
It's really great when you are dealing with MIDI projects.
3. Cyclone v.0.4 current release / This release needs at least Pd Vanilla 0.50-0
Still on Git they have written:
'- fixed a 0.3 regression bug (this was ok in 0.2) where an annoying 'couldn't unbind' error was printed by [mousestate]
- fixed a bug where [comment] was loading arguments wrongly
- fixed the way [comment] should save unexpanded receive symbols
- fixed a bug in [unjoin] where it did output an empty selector
- Thanks to the new [pdcontrol] object from 0.50.0, buffer~ can now load files relative to its owner patch.
- To conform with the latest Max versions that do not allow capital letters in object names anymore, the alias for capital letters have been removed. The last version of cyclone still included capital letters for backwards compatibility but with a note that this was being phased out. So if you still have capital letters, you should change to lower case. The affected objects and how they must be instantiated now are: cyclone/append (*); bucket; cyclone/clip (*); decode; histo; mousestate; peak; cyclone/table (*); togedge; trough; uzi; cyclone/clip~ (*); cyclone/line~ (*); scope~; cyclone/snapshot~ (*)
(*) these classes need the 'cyclone/' prefix to avoid name clashes with vanilla internals - see help file for more information.
Question: What is the forecast, if any, for moving towards Cyclone v.0.3 or 0.4 in Purr Data?
Thank you.https://git.purrdata.net/jwilkes/purr-data/-/issues/553Copy/Paste - Duplicate - Move Weird behavior2020-03-22T15:26:07ZJoseph GastelaisCopy/Paste - Duplicate - Move Weird behaviorBonjour to the Community,
This is my 1st post. I have started with Pure Data Vanilla v.0.48.1 (Repos) / v0.49 Win and Purr Data v.2.9.0 (JGU packages) just 3 months ago running mainly under Linux Mint Cinnamon 19.2 64-bit (based on Ubun...Bonjour to the Community,
This is my 1st post. I have started with Pure Data Vanilla v.0.48.1 (Repos) / v0.49 Win and Purr Data v.2.9.0 (JGU packages) just 3 months ago running mainly under Linux Mint Cinnamon 19.2 64-bit (based on Ubuntu 18.04) and time to time under Windows 10 64-bit. My PC is an HP Pavilion DV8-1190ef - CPU Intel Core i7 720QM (4 cores x 2 threads) @ 1.60 GHz + RAM 8 GB + GPU nVidia GT230M. My preference is definitively for Purr Data and obviously you know why. Many thanks and congratulations to the developers, maintainers and contributors.
I'm working on a free/libre (personnel) project: A MIDI (Musical Instrument Digital Interface) emulator of the Yamaha Music Disk Recorder (MDR-3) marketed 30 years ago dedicated to its Electone Organ Series. My project has currently about 700 objects with the [16+1+1 seq] objects (Cyclone) being its heart and it's now organized with about 15 GOP/sub-patches.
As my project is getting more complex, I'm facing to an increasing numbers of issues related to Purr Data / Externals (and surely to Pure Data engine v.0.48 too). This includes 'Copy/Paste - Duplicate - Move Weird behavior' (subject of this post), awa Ghost objects, Missing objects (when help.pd are available), Main/parent patch closing itself or freezing after heavy SysEx-Out traffic (but not with the same SysEx-In traffic), Externals not up-to-date at all like the Cyclone dinosaur v.0.2.x!, Print function (PDF) regression, CPU overload at 100% (it seems only ONE thread is effectively used even if 8 are available on my PC), etc. which will be reported in future posts.
So back to Copy/Paste - Duplicate - Move Weird behavior.
I had no conform paste of the original, duplication of objects in paste due to the time requested by the operation and any indication on the screen, the move by one screen of the duplication needed about 30 to 60 minutes, etc.
- Solution: Thanks to Albert Graef who few days ago pointed me to the solution. 'Delete your Purr Data preferences'. It was so simple but strange too, like if not all preferences were/are displayed to the user! After that, 100% of these problems were gone and Purr Data is back to life.
Since, I was only able to reproduce clearly on issue: No conform paste (bigger size of objects (but not all) & comments) of the original.
- Preferences -> Startup -> startup flags -> -font-size 12 (now OK) / -font-size 24 (bad behavior).
Thank you. Cheershttps://git.purrdata.net/jwilkes/purr-data/-/issues/552weirdo box edition state2019-10-09T03:06:03ZJonathan Wilkesweirdo box edition state1. type "hello;" in a new object box
2. click in the area about 10 pixels below the bottom of the box
3. click in an empty area away from that box
Bug: Purr Data is now in a weird state where the last box text gets duplicated on top of ...1. type "hello;" in a new object box
2. click in the area about 10 pixels below the bottom of the box
3. click in an empty area away from that box
Bug: Purr Data is now in a weird state where the last box text gets duplicated on top of any new objects you create. Plus some other weird behavior wrt highlighting text and displacing object boxes.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/551garray_getfloatarray warning is wrong2021-04-02T14:44:17ZJonathan Wilkesgarray_getfloatarray warning is wrongThe [warning](https://git.purrdata.net/jwilkes/purr-data/blob/master/pd/src/g_array.c#L1611) for garray_getfloatarray says:
"warning: extern using garray_getfloatarray() won't work in 64-bit version"
Now that we have begun to support P...The [warning](https://git.purrdata.net/jwilkes/purr-data/blob/master/pd/src/g_array.c#L1611) for garray_getfloatarray says:
"warning: extern using garray_getfloatarray() won't work in 64-bit version"
Now that we have begun to support PD_FLOATSIZE == 64 this is wrong. For example, purr-double running on a 32-bit machine should trigger this warning as well.
Consequently, the warning should be made more precise.https://git.purrdata.net/jwilkes/purr-data/-/issues/550s_n type mismatch2019-09-26T03:43:42ZJonathan Wilkess_n type mismatchSee: https://github.com/pure-data/pure-data/pull/673
Quick-n-nasty review:
Those casts essentially mean, "get me the t_signal member field s_n which I assert through my cast is a pointer-sized int." That's wrong-- s_n is sizeof(int), n...See: https://github.com/pure-data/pure-data/pull/673
Quick-n-nasty review:
Those casts essentially mean, "get me the t_signal member field s_n which I assert through my cast is a pointer-sized int." That's wrong-- s_n is sizeof(int), not sizeof(t_int).
Quick-n-dirty solution: One needs to cast to the appropriate type (here `int`) before using data from the slot where we initially stored s_n. Luckily s_n is required by the interface to be an `int` so all of those performance routines can cast to `int` to fix the problem.
I'm not completely sure that avoids any undefined behavior wrt variadic arg promotion. And yes, my solution still passes around whatever garbage is in the higher bits of the variadic arg slot where s_n is stored. But setting and retrieving using an `int` cast should ensure we never touch any of those higher bits.https://git.purrdata.net/jwilkes/purr-data/-/issues/549update inno setup to v62019-09-09T05:05:12ZJonathan Wilkesupdate inno setup to v6Inno Setup is now at version 6.
* update it on the runner
* update it in packages/win32_inno/MakefileInno Setup is now at version 6.
* update it on the runner
* update it in packages/win32_inno/MakefileJonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/548Potential bugs in externals detected on OBS2019-09-10T21:17:10ZAlbert GräfPotential bugs in externals detected on OBSWhile building RPMs of purr-data for openSUSE Leap 5.1 and 5.0 on the Open Build Service, I noticed the following problem reports in the build logs. They're running rpmlint there at the end of the build, which also tries to find potentia...While building RPMs of purr-data for openSUSE Leap 5.1 and 5.0 on the Open Build Service, I noticed the following problem reports in the build logs. They're running rpmlint there at the end of the build, which also tries to find potential issues in the code. I think that this is a useful service, although it's also somewhat annoying as it prevents my builds from finishing. ;-)
It might be that these are all just false positives, but it can't hurt to have a look at them anyway some time. I invite anyone interested to join me, it's always good to have a few more eyeballs sifting through such issues.
The issues are from the build log at https://build.opensuse.org/build/home:aggraef/openSUSE_Leap_15.1/x86_64/purr-data/_log, from which I extracted the interesting bits below (note that the original log may have disappeared or replaced with a new log when you read this, so I'm also attaching a full snapshot of the log below).
~~~
[ 1905s] I: A function overflows or underflows an array access. This could be a real error,
[ 1905s] but occasionaly this condition is also misdetected due to loop unrolling or strange pointer
[ 1905s] handling. So this is warning only, please review.
[ 1905s] W: purr-data arraysubscript /home/abuild/rpmbuild/BUILD/purr-data-2.9.0+git4163+485302f9/externals/jasch_lib/detox/detox.c:484
~~~
~~~
[ 1905s] I: Program is using implicit definitions of functions getting
[ 1905s] pointers or implemented by macros. These functions need to use their
[ 1905s] correct prototypes to allow correct argument passing on e.g. x86_64 .
[ 1905s] - Implicit memory/string functions need #include <string.h>.
[ 1905s] - Implicit *printf functions need #include <stdio.h>.
[ 1905s] - Implicit *printf functions need #include <stdio.h>.
[ 1905s] - Implicit *read* functions need #include <unistd.h>.
[ 1905s] - Implicit *recv* functions need #include <sys/socket.h>.
[ 1905s] W: purr-data implicit-pointer-decl s_inter.c:992
[ 1905s] W: purr-data implicit-pointer-decl s_loader.c:222
[ 1905s] W: purr-data implicit-pointer-decl scramble~.c:77
~~~
~~~
[ 1906s] I: Program causes undefined operation
[ 1906s] (likely same variable used twice and post/pre incremented in the same expression).
[ 1906s] e.g. x = x++; Split it in two operations.
[ 1906s] W: purr-data sequence-point /home/abuild/rpmbuild/BUILD/purr-data-2.9.0+git4163+485302f9/externals/jasch_lib/detox/detox.c:343, 360, 601
[ 1906s] W: purr-data sequence-point control/serial_bird.c:132
[ 1906s] W: purr-data sequence-point control/serial_ms.c:72
[ 1906s] W: purr-data sequence-point control/serial_mt.c:34
[ 1906s] W: purr-data sequence-point tabsort.c:92
[ 1906s] W: purr-data sequence-point tabsort2.c:114
[ 1906s]
[ 1906s] I: Program is likely to break with new gcc. Try -fno-strict-aliasing.
[ 1906s] W: purr-data strict-aliasing-punning cwiidmodule.c:201
[ 1906s] W: purr-data strict-aliasing-punning dumpOSC.c:914
[ 1906s] W: purr-data strict-aliasing-punning readsfv~.c:671, 684
[ 1906s] W: purr-data strict-aliasing-punning svf~.c:60, 61
[ 1906s]
[ 1906s] I: Program is using uninitialized variables.
[ 1906s] Note the difference between "is used" and "may be used"
[ 1906s] W: purr-data uninitialized-variable cxc_split.c:34
[ 1906s]
[ 1906s] I: Statement might potentially overflow a destination buffer, where a size larger
[ 1906s] than the actual buffer was specified
[ 1906s] E: purr-data destbufferoverflow cooled~.c:262
[ 1906s]
[ 1906s] I: Program returns random data in a function
[ 1906s] E: purr-data no-return-in-nonvoid-function /home/abuild/rpmbuild/BUILD/purr-data-2.9.0+git4163+485302f9/externals/iem/iemmatrix/src/mtx_dispersive_dline.c:154
[ 1906s]
[ 1906s] I: Program returns random data in a function
[ 1906s] E: purr-data no-return-in-nonvoid-function /home/abuild/rpmbuild/BUILD/purr-data-2.9.0+git4163+485302f9/externals/iem/iemmatrix/src/mtx_dispersive_dline.c:154
~~~
Full build log: [obs-buildlog.txt](/uploads/f359207e27fab64ff7dd815030296c18/obs-buildlog.txt)
The build was from current master (plus !312 which doesn't modify any C/C++sources), so the line numbers should be interpreted relative to rev. 53166958775762e53ddc2daa70bde485b5499a7c.
@ico I guess that one of your modules is also in there (strict-aliasing-punning cwiidmodule.c:201), so it would be nice if you could have a look at that line and tell me whether you're actually doing some nasty type punning there, or whether that line looks ok to you.Albert GräfAlbert Gräfhttps://git.purrdata.net/jwilkes/purr-data/-/issues/547get rid of github-based submodules2019-08-03T04:47:42ZJonathan Wilkesget rid of github-based submodulesrtcmix-in-pd and cwiid should either have a repo at git.purrdata.net from which to pull, or we should just fold them into the main repo.rtcmix-in-pd and cwiid should either have a repo at git.purrdata.net from which to pull, or we should just fold them into the main repo.https://git.purrdata.net/jwilkes/purr-data/-/issues/546Get rid of legacy -L/sw/lib linker options2019-07-31T22:33:54ZAlbert GräfGet rid of legacy -L/sw/lib linker optionsThis affects macOS only. Some of the externals are littered with these linker options from a bygone era (anyone remember Fink?), which don't serve any purpose any more and cause lots of warnings from the compiler. We can and should get r...This affects macOS only. Some of the externals are littered with these linker options from a bygone era (anyone remember Fink?), which don't serve any purpose any more and cause lots of warnings from the compiler. We can and should get rid of these.https://git.purrdata.net/jwilkes/purr-data/-/issues/545[hcs/colorpanel] returns error2019-08-07T00:11:54ZAntonio Roberts[hcs/colorpanel] returns errorI can successfully load [hcs/colorpanel]. However, if I send a bang to it it returns the following error in the message window and doesn't load
```
legacy tcl command at 104 of colorpanel.c: eval [read [open {/opt/purr-data/lib/pd-l2ork...I can successfully load [hcs/colorpanel]. However, if I send a bang to it it returns the following error in the message window and doesn't load
```
legacy tcl command at 104 of colorpanel.c: eval [read [open {/opt/purr-data/lib/pd-l2ork/extra/hcs/colorpanel.tcl}]]
[list2symbol] part of zexy-2.2.6 (compiled May 8 2019)
Copyright (c) 1999-2012 IOhannes m zmölnig, forum::für::umläute & IEM
[2] legacy tcl command at 19 of colorpanel.c: after idle [list after 100 ::hcs::colorpanel::open #556c2e9ba350 #ffffff]
```https://git.purrdata.net/jwilkes/purr-data/-/issues/543recommend using [declare] in [import] help patch2023-04-04T02:23:22ZJonathan Wilkesrecommend using [declare] in [import] help patch`[declare]` is the standard library loading mechanism. So unless someone needs `[import]` to iterate through the list of loaded libraries `[declare]` should be used.
The help patch for `[import]` should reflect this.`[declare]` is the standard library loading mechanism. So unless someone needs `[import]` to iterate through the list of loaded libraries `[declare]` should be used.
The help patch for `[import]` should reflect this.https://git.purrdata.net/jwilkes/purr-data/-/issues/541[text search -s] crashes when sent wrong pointer2019-05-15T23:59:01ZJonathan Wilkes[text search -s] crashes when sent wrong pointer[text search -s foo array-name] will crash if you send it a pointer to something that isn't "foo".[text search -s foo array-name] will crash if you send it a pointer to something that isn't "foo".Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/539use [spigot] instead of [gate 1 1] in preset_node_array.pd2019-04-29T18:14:13ZJonathan Wilkesuse [spigot] instead of [gate 1 1] in preset_node_array.pd@ico is there a reason why you're using the external `[gate]` instead of the core object `[spigot]` in preset_node_array.pd?
Since Albert now has the `make light` for just the core and the some pddp externals, it might be nice to switch...@ico is there a reason why you're using the external `[gate]` instead of the core object `[spigot]` in preset_node_array.pd?
Since Albert now has the `make light` for just the core and the some pddp externals, it might be nice to switch it out.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/538put list processing API in public interface2019-04-24T16:49:36ZJonathan Wilkesput list processing API in public interfaceSuppose we have an external class "foo" which takes a single float input and produce a single output.
Now suppose the developer wants to revise "foo" so that it can handle lists. E.g., for a list of 5 floats it outputs a list of size 5....Suppose we have an external class "foo" which takes a single float input and produce a single output.
Now suppose the developer wants to revise "foo" so that it can handle lists. E.g., for a list of 5 floats it outputs a list of size 5.
Some problems:
* what kind of data structure does the developer use to build up the output list? An array would be fast but statically allocated to some small size. Automatic allocation on the stack is more flexible but more dangerous and not necessarily portable. Heap allocation is a good catchall but is not realtime safe.
* suppose the input list can be a mixture of floats and symbols. How then to handle anythings vs. lists? To convert an anything to a list you must allocate a container of size (argc + 1), put the selector at index 0, then put argv after that.
These problems are handled in x_list.c, but we need a public interface so that external devs can all use the same tools for processing lists. This is especially important because memory allocation in externals has a high probability of causing crasher bugs.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/536tar_em_up.sh etc2019-08-24T00:16:16ZPatricktar_em_up.sh etcThe line 310 of tar_em_up.sh deleted my /etc (on this sandbox I run everything as root).The line 310 of tar_em_up.sh deleted my /etc (on this sandbox I run everything as root).https://git.purrdata.net/jwilkes/purr-data/-/issues/535Windows - Gem video not loading2019-09-30T03:10:21ZPatrickWindows - Gem video not loadingOn Windows it's not possible to load any video (any codec). There's a post on the forum with more [information](https://forum.pdpatchrepo.info/topic/9408/video-unable-to-open-play-on-windows-7). The problem is also on Windows 10.On Windows it's not possible to load any video (any codec). There's a post on the forum with more [information](https://forum.pdpatchrepo.info/topic/9408/video-unable-to-open-play-on-windows-7). The problem is also on Windows 10.