purr-data merge requestshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests2020-12-23T21:56:11Zhttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/601Draft: keyboard focus/navigation of iemguis and other gui externals in runmode2020-12-23T21:56:11ZJonathan WilkesDraft: keyboard focus/navigation of iemguis and other gui externals in runmodeThis is just a draft transitional state, and the branch name is a misnomer. We're not changing activatefn, but adding a new focusfn for handling runmode object focus.
State:
* added focusfn callback
* deconstructed crazy awful numbox UX...This is just a draft transitional state, and the branch name is a misnomer. We're not changing activatefn, but adding a new focusfn for handling runmode object focus.
State:
* added focusfn callback
* deconstructed crazy awful numbox UX
* getting ready to handle [nbx] runmode key entry entirely in the GUI
* split up glist_grab so key grab and mouse grab may be set separately
* in the process of removing the crazy series of "flip-switch" variables that are sprinkled like salt and pepper through the various drawing routinesJonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/599Draft: add pd_maininstance public variable2020-12-07T18:27:35ZJonathan WilkesDraft: add pd_maininstance public variabletry just adding minimal amount of the multi-instance public state from Pd Vanilla to see if it satisfies Ofelia external in Purr Data.
This should fix #695try just adding minimal amount of the multi-instance public state from Pd Vanilla to see if it satisfies Ofelia external in Purr Data.
This should fix #695Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/590Gop redrect and scalars regression fix2020-10-09T20:29:10ZIvica BukvicGop redrect and scalars regression fixIMPORTANT! Please note this is applied on top of the !587 to ensure there are no further regressions and is probably best applied after that merge request is merged.
* It is supposed to toggle on and off depending on whether the subpatc...IMPORTANT! Please note this is applied on top of the !587 to ensure there are no further regressions and is probably best applied after that merge request is merged.
* It is supposed to toggle on and off depending on whether the subpatch has scalars only in it. It does this by also intelligently accounting for temporary text objects that are created and need to be filled by the scalar name before they are converted into a scalar class.
* There is one condition the original implementation failed to account for: creating a new text_object in an empty canvas which erroneously still resulted in the assumption that the subpatch consisted of only scalars.
* This patch fixes this special case.
* To test: create an empty subpatch and enable GOP, inside the subpatch create an empty object which will erase GOP until you make that object something concrete (e.g. print). With this merge request applied, the GOP redrect will in this case never disappear (and it shouldn't). It will continue to disappear in situations where there are only scalars (as per original merge request that was merged a while ago).Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/587Fixes the segfault in the glist_grab_exclusive_focus_and_shift2020-10-12T10:45:27ZIvica BukvicFixes the segfault in the glist_grab_exclusive_focus_and_shift* Fixes the segfault identified by the 'make check' regression test in the glist_grab_exclusive_focus_and_shift merge request
* Checked 'make check' scripts and they all passed on Linux with gdb addition to the Makefile script to ensure...* Fixes the segfault identified by the 'make check' regression test in the glist_grab_exclusive_focus_and_shift merge request
* Checked 'make check' scripts and they all passed on Linux with gdb addition to the Makefile script to ensure there are no stray issues.
* Arguably a less invasive alternative to the !585Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/570WIP: footils knob overhaul2020-10-02T00:52:48ZIvica BukvicWIP: footils knob overhaulComplete overhaul of the knob object to ensure it draws and behaves correctly. Everything should work with one notable exception: the logarithmic displacement is permanently disabled as it never quite worked the way it should.
**Please ...Complete overhaul of the knob object to ensure it draws and behaves correctly. Everything should work with one notable exception: the logarithmic displacement is permanently disabled as it never quite worked the way it should.
**Please note this merge request does not include any of the improvements that are to be introduced in the !544, so the !544 will very likely depend on this one moving forward.**Ivica BukvicIvica Bukvichttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/544WIP: Initial test towards implementing GOP nlets above GOP objects2020-09-25T04:24:49ZIvica BukvicWIP: Initial test towards implementing GOP nlets above GOP objects* IMPORTANT! READ BEFORE TESTING. This only works with the plain gop objects and number gatoms. See attached patch with the WIP merge request. We need to discuss to see if this is the right step forward.
* What works: correct object p...* IMPORTANT! READ BEFORE TESTING. This only works with the plain gop objects and number gatoms. See attached patch with the WIP merge request. We need to discuss to see if this is the right step forward.
* What works: correct object positioning and interaction, GOP nlets are above the object (currently they aren't and this is a usability bug, and is also one of the blockers for the proper integration of the K12 mode), and all the other usual interaction (needs to be more thoroughly tested).
* What doesn't work: gatom is also drawn selected when the parent is selected, gatom's appearance defaults to GOP's since it is a child group of its group. This will be likely resolvable using css rules with !important.
* What needs to happen: core developers need to agree that this is the right path forward. The advantage is that more of the gop object manipulation is shifted to the GUI, which is another baby step towards separating the two. Potential bad news is dealing with all the other reordering and adjustments to the source even though it appears that gui_gobj_new is not called in that many places (perhaps half-dozen or so).Ivica BukvicIvica Bukvichttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/469add [pointer] delete and equal methods2020-07-25T22:20:15ZJonathan Wilkesadd [pointer] delete and equal methodssupercedes !454 which erroneously included other branchessupercedes !454 which erroneously included other branchesJonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/461Displacewtag speedup2020-11-02T19:51:35ZJonathan WilkesDisplacewtag speedupaccelerate displacewtag by updating cords without having to walk on average `$glist_length/2` for each gobj.
Also accelerates glist_isselected so it doesn't have to walk the entire selection each time.
Can probably also play around wit...accelerate displacewtag by updating cords without having to walk on average `$glist_length/2` for each gobj.
Also accelerates glist_isselected so it doesn't have to walk the entire selection each time.
Can probably also play around with sending a *single* message with an array of all coonection coords to see if layout thrashing is a problem.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/440Port tracecall2020-08-03T18:16:54ZJonathan WilkesPort tracecallport desiredata's tracecall class
This change either depends on or is related to a change of checking for a stack overflow at the inlet rather than the outlet. That is also a feature of desiredata that is being ported in this merge.
Al...port desiredata's tracecall class
This change either depends on or is related to a change of checking for a stack overflow at the inlet rather than the outlet. That is also a feature of desiredata that is being ported in this merge.
Also notice that the tracecall internals may also be used to add stack tracing to error messages if we want to go that route. (We'd need to protect against edge-cases like sporadic dynamic patching but that should be possible.)
One of the side-effects of this change is that the stack-overflow protection works even in cases where messsages aren't flowing to an outlet. Currently, you can easily generate infinite loops using send/receive pairs, iemgui send/receive symbols and probably with message boxes, too.
So to merge we want:
* some basic tests for tracecall class
* basic tests to ensure stack-overflow protection for loops that don't cross an outletJonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/393first draft of adding plot_vis for optimizing garray drawing2020-06-27T03:07:21ZJonathan Wilkesfirst draft of adding plot_vis for optimizing garray drawinglots of work still to do:
* need to optimize the drawings for array elements for ds arrays
* need to optimize [draw array] as welllots of work still to do:
* need to optimize the drawings for array elements for ds arrays
* need to optimize [draw array] as wellhttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/306WIP: Colorpanel fix2019-08-07T00:11:50ZJonathan WilkesWIP: Colorpanel fixFix for #545.
This needs to be tested on OSX and Windows to make sure the input event works sensibly on those platforms.Fix for #545.
This needs to be tested on OSX and Windows to make sure the input event works sensibly on those platforms.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/204first draft of automated method testing2018-04-23T00:18:28ZJonathan Wilkesfirst draft of automated method testingThis can eventually be used with [pd~] so we can get a clean environment
for each library (including the core objects). There's already an "offset"
inlet to accommodate offsetting past the core objects in the method table.This can eventually be used with [pd~] so we can get a clean environment
for each library (including the core objects). There's already an "offset"
inlet to accommodate offsetting past the core objects in the method table.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/108WIP: get os name from msys2's ming64 environment2018-04-16T16:00:04ZJonathan WilkesWIP: get os name from msys2's ming64 environmentThis fixes the conditional in tar_em_up.sh so that the operating system "win" is correctly chosen when using the mingw64 environment.This fixes the conditional in tar_em_up.sh so that the operating system "win" is correctly chosen when using the mingw64 environment.Jonathan WilkesJonathan Wilkes