purr-data issueshttps://git.purrdata.net/jwilkes/purr-data/-/issues2019-07-31T22:33:54Zhttps://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.https://git.purrdata.net/jwilkes/purr-data/-/issues/534add an externals regression tester to scripts2019-04-19T02:52:48ZJonathan Wilkesadd an externals regression tester to scriptsWe don't currently have a regression tester for external objects. Go ahead and add one in scripts.
The core regression tests can disable standard paths and preferences for maximum sanity. For now, let's just load all the standard libs s...We don't currently have a regression tester for external objects. Go ahead and add one in scripts.
The core regression tests can disable standard paths and preferences for maximum sanity. For now, let's just load all the standard libs so we can grab and load the specific externals we want to write tests for. Later we can figure out a cleaner way to do this.3.0.0Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/533switch STACKITER logic to inlet handlers2019-04-18T00:26:45ZJonathan Wilkesswitch STACKITER logic to inlet handlersSwitch STACKITER logic to inlets. Currently the stack overflow check happens inside the outlets. But wireless messages in an infinite loop don't currently get checked and can cause crashes.Switch STACKITER logic to inlets. Currently the stack overflow check happens inside the outlets. But wireless messages in an infinite loop don't currently get checked and can cause crashes.3.0.0Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/532switch arg meaning for key, keyname, keyup2020-05-22T10:20:08ZJonathan Wilkesswitch arg meaning for key, keyname, keyupApparently Pd-l2ork 1.0 has autorepeat with `[key]` and no autorepeat with `[key 1]`. But in Purr Data it's reversed.
Change the arg so that "1" means no autorepeat and "0" means autorepeat.
This is a breaking change.Apparently Pd-l2ork 1.0 has autorepeat with `[key]` and no autorepeat with `[key 1]`. But in Purr Data it's reversed.
Change the arg so that "1" means no autorepeat and "0" means autorepeat.
This is a breaking change.3.0.0https://git.purrdata.net/jwilkes/purr-data/-/issues/529add part of contributor's guide about running and writing tests2019-04-16T21:30:41ZJonathan Wilkesadd part of contributor's guide about running and writing testsFor adding a new core feature or fixing a bug, tests need to be run and created.
For porting stuff, here's a guide:
1. Diff the contents against the version of Pd from which you're porting.
2. Notice any differences in the diff and not...For adding a new core feature or fixing a bug, tests need to be run and created.
For porting stuff, here's a guide:
1. Diff the contents against the version of Pd from which you're porting.
2. Notice any differences in the diff and note the functions
3. For each relevant function do `git log -L :<funcname>:<file>` where "funcname" is the name of the function where a change happened and "file" is the filename. (Often it only takes one try to find the relevant commits for all the relevant changed code. But if not, repeat with the next function...)
4. Read the commit message for any relevant commits to understand *why* there might be discrepancies.
5. Start porting the changes.
6. Get it compiling.
7. Run the regression tests.
8. Write new tests for the code that was added.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/issues/527Unathorized Visual Objects show up blank in latest Purr-data2019-04-16T21:16:03ZBrandon HaleUnathorized Visual Objects show up blank in latest Purr-dataHello again,
I am not sure if this is known by the purr-data team, but a lot of the tcl visual objects from [here](https://puredata.info/downloads/unauthorized) show up in purr-data as blank objects. Objects like scratcher~, sonogram~, ...Hello again,
I am not sure if this is known by the purr-data team, but a lot of the tcl visual objects from [here](https://puredata.info/downloads/unauthorized) show up in purr-data as blank objects. Objects like scratcher~, sonogram~, pianoroll, and playlist do not appear at all.https://git.purrdata.net/jwilkes/purr-data/-/issues/526Escape character lost on copy and save.2019-04-09T08:32:16ZArthurEscape character lost on copy and save.I need to be able to escape the comma in message boxes in order the send text, strings including comma's, white space, etc. to a serial port. I can enter a comma with a backslash escape character and this won't break up the message into ...I need to be able to escape the comma in message boxes in order the send text, strings including comma's, white space, etc. to a serial port. I can enter a comma with a backslash escape character and this won't break up the message into multiples. BUT, the backslash gets lost, stripped out on saving the patch or even on copying the message box in patch..
Edit: Purr Data 2.8.1 on Linux
![Screenshot_from_2019-04-07_22-56-05](/uploads/b9265407190be6db87835e5749df8392/Screenshot_from_2019-04-07_22-56-05.png)https://git.purrdata.net/jwilkes/purr-data/-/issues/524pack - stored pointer going stale2019-03-28T19:37:00ZmyQwilpack - stored pointer going staleConsider the following patch:
[namecanvas foo]
[traverse foo, bang(
|
[pointer]
|
[list $1 123 $1(
|
[pack p f p]
|
[print]
Clicking the traverse message results in the console printing "(pointe...Consider the following patch:
[namecanvas foo]
[traverse foo, bang(
|
[pointer]
|
[list $1 123 $1(
|
[pack p f p]
|
[print]
Clicking the traverse message results in the console printing "(pointer) 123 (pointer)". However, if I were to then delete the list message and make a direct connection from the pointer to the pack object, I'll get a stale pointer error. But this doesn't happen in pd-vanilla, where I'll keep getting the same message printed over.
[p-test.pd](/uploads/875a79ddf8282540e8e94f55a8015482/p-test.pd)https://git.purrdata.net/jwilkes/purr-data/-/issues/522Key autorepeat disable option not working on Windows2019-03-25T02:09:36ZIvica BukvicKey autorepeat disable option not working on WindowsThis is on the latest purr-data 2.8.1 and Win 8.1 64bit. Basically optional argument does not disable autorepeat. The help file should be also updated as in pd-l2ork I reversed the behavior to ensure backwards compatibility to no arg bei...This is on the latest purr-data 2.8.1 and Win 8.1 64bit. Basically optional argument does not disable autorepeat. The help file should be also updated as in pd-l2ork I reversed the behavior to ensure backwards compatibility to no arg being autorepeat on. The help file should be also updated accordingly. Hope this helps.https://git.purrdata.net/jwilkes/purr-data/-/issues/521fix background in dmg installer for osx2019-03-19T14:42:04ZJonathan Wilkesfix background in dmg installer for osxFor the OSX dmg installer, the background image isn't getting displayed in the little window where the user drags Purr Data's icon into the Applications folder.
The relevant background image is `purr-data/packages/darwin_app/background....For the OSX dmg installer, the background image isn't getting displayed in the little window where the user drags Purr Data's icon into the Applications folder.
The relevant background image is `purr-data/packages/darwin_app/background.png`
Might want to check both `purr-data/packages/darwin_app/Makefile` as well as the build output to see if there's an error somewhere.https://git.purrdata.net/jwilkes/purr-data/-/issues/520update pdlua help patch2019-03-19T03:19:11ZJonathan Wilkesupdate pdlua help patch[Here](https://git.purrdata.net/Konsumer/pd-lua/commit/23d4387be8c727f146acc29c476a7d2ad29157d1) is a revision for the pdlua help patch. It needs to be considered upstream in github, then I can pull for the Purr Data gitlab mirror.[Here](https://git.purrdata.net/Konsumer/pd-lua/commit/23d4387be8c727f146acc29c476a7d2ad29157d1) is a revision for the pdlua help patch. It needs to be considered upstream in github, then I can pull for the Purr Data gitlab mirror.Albert GräfAlbert Gräfhttps://git.purrdata.net/jwilkes/purr-data/-/issues/518hex2dec2019-03-20T00:31:22Zkonsumerhex2decI am creating a sysex stream with `[ midiout ]` and it would be handy if `[ hex2dec ]` worked, so I could use the same hex strings as are found in the docs and scripts in other languages, without having to convert them all to decimal mys...I am creating a sysex stream with `[ midiout ]` and it would be handy if `[ hex2dec ]` worked, so I could use the same hex strings as are found in the docs and scripts in other languages, without having to convert them all to decimal myself.
When I looked at help for `[ hex2dec ]`, I see `doesn't seem to work`, and indeed when I try different things, it doesn't output what I would expect:
```
[f 100] => "symbol"
[ 100 ( => "symbol"
[ symbol 100 ] => "symbol"
[ list 100 100 ( => "symbol"
```
I expect all of these to output `256` (float).
I had a look at [the code](https://git.purrdata.net/jwilkes/purr-data/blob/master/externals/cxc/hex2dec.c), and it looks ok, at least from my cursory 5 minute perusal.
I've been meaning to get better with `pdlua`, so I implemented it this way, as it was quick & easy, and it illustrates my expectations. Is there interest in a PR? Can I do it in lua, or should it be in the original C code?
Here is my lua version:
[hex2dec.zip](/uploads/34e4bf2534b6a30294a59fe8b8c02e37/hex2dec.zip)
![Screenshot_2019-03-15_19-22-55](/uploads/23bc464a1a870196417d4ba2cd6aef18/Screenshot_2019-03-15_19-22-55.png)https://git.purrdata.net/jwilkes/purr-data/-/issues/517Use a better pulseaudio backend (on Linux)?2019-11-15T00:41:50ZMarc LavalleeUse a better pulseaudio backend (on Linux)?Pd and purr-data are using portaudio that connects to pulseaudio via its alsa backend. It would work better with a proper pulseaudio backend. Identified cross-platform audio libraries with potentially better pulseaudio support are rtaudi...Pd and purr-data are using portaudio that connects to pulseaudio via its alsa backend. It would work better with a proper pulseaudio backend. Identified cross-platform audio libraries with potentially better pulseaudio support are rtaudio and libsoundio. So, can portaudio be replaced with some other cross-platform audio library?