purr-data merge requestshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests2021-04-10T18:27:57Zhttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/739Add canvas-local bendin and zoom flags.2021-04-10T18:27:57ZAlbert GräfAdd canvas-local bendin and zoom flags.This adds canvas member variables and corresponding options for the `declare` object, so that the global (user) zoom and legacy bendin flags can be enabled and disabled separately for each canvas.
This was proposed (and deferred) earlie...This adds canvas member variables and corresponding options for the `declare` object, so that the global (user) zoom and legacy bendin flags can be enabled and disabled separately for each canvas.
This was proposed (and deferred) earlier in !561 (which see for the previous discussion and rationale), but the original branch seems to be gone, so I've rebased it on the current master and pushed it again.
Jonathan, I really hate to revive this old MR which we discussed at length already. But we're 6 months on, we don't have author-centric zoom yet, and I'm still facing the same issue that prompted me to create this MR in the first place. As long as we don't have author-centric zoom yet, can we at least implement this as a stop-gap solution, please?Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/744Show sidebar when is help browser clicked2021-04-10T18:37:18ZPrakhar AgarwalShow sidebar when is help browser clickedNow, the sidebar will automatically show up when Help Browser is opened. Fixes #818Now, the sidebar will automatically show up when Help Browser is opened. Fixes #818https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/746Show sidebar when properties is clicked2021-04-10T18:42:28ZPrakhar AgarwalShow sidebar when properties is clickedNow, the sidebar will automatically show up when Properties is opened. Fixes #819Now, the sidebar will automatically show up when Properties is opened. Fixes #819https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/747Show sidebar when array options is clicked2021-04-10T18:49:41ZPrakhar AgarwalShow sidebar when array options is clickedNow, the sidebar will automatically show up when Array Options is opened. Fixes #820Now, the sidebar will automatically show up when Array Options is opened. Fixes #820https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/755Console shows when find is clicked2021-04-10T19:33:49ZPrakhar AgarwalConsole shows when find is clickedNow, the console will automatically show up when Find is clicked in "Edit->Find". Fixes #826Now, the console will automatically show up when Find is clicked in "Edit->Find". Fixes #826https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/763allow default iemgui colors to inherit colors from GUI presets2021-04-13T23:04:58ZJonathan Wilkesallow default iemgui colors to inherit colors from GUI presetsThis allows all iemguis except `[vu]` to inherit their color from the GUI preset *if* the color is the default.
E.g., if the foreground color for a `[bng]` is "#000000" then it will be changed to whatever the foreground color happens to...This allows all iemguis except `[vu]` to inherit their color from the GUI preset *if* the color is the default.
E.g., if the foreground color for a `[bng]` is "#000000" then it will be changed to whatever the foreground color happens to be for the given GUI preset. On the default preset this is just "#000000" so there's no change. But on inverted presets and others this color choice will get changed to the preset's default color.
This way, Pd Vanilla patches with default iemgui colors will work by default with the GUI presets.
One esoteric detail-- the default iemgui background color is "#fcfcfc" instead of pure white.
In the (unlikely) case that someone has designed an interface to use specifically with a given GUI preset, they can change from "#000000" to "#000001 or something like that.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/753pddplink: handle symbol input on the 1st inlet.2021-04-15T02:06:27ZAlbert Gräfpddplink: handle symbol input on the 1st inlet.As discussed on the mailing list, it's useful to allow symbol inputs (other than bang) on pddplink's inlet, to make it easier to invoke pddplink on a variable symbol (filename, patch, URL) value.
Note that for backward compatibility, a ...As discussed on the mailing list, it's useful to allow symbol inputs (other than bang) on pddplink's inlet, to make it easier to invoke pddplink on a variable symbol (filename, patch, URL) value.
Note that for backward compatibility, a dummy filename argument is still needed. Please check the updated help patch for details and an example.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/769css preset cleanup2021-04-16T12:33:52ZJonathan Wilkescss preset cleanup@aggraef I believe you mentioned something about going down a rabbithole with preset cleanups. Here's one such rabbit hole.
Check out the code added in function `skin`-- I have to do that because we need to parse the stylesheet in order...@aggraef I believe you mentioned something about going down a rabbithole with preset cleanups. Here's one such rabbit hole.
Check out the code added in function `skin`-- I have to do that because we need to parse the stylesheet in order to fetch the relevant styles to apply to the svg background image. HTML5 lets you switch out the value of the href, *and* doing so does the right thing by loading the new external stylesheet and re-applying the styles.
But-- it doesn't give you any event callback to know when the new stylesheet has finished loading! So a subsequent call to parse the stylesheet will race.
The workaround is to create a new link element, populate it with the new href attr, set an onload callback for it, then switch it out for the old link. Mutating the dom to add the new link element *will* trigger the load callback, which we then use to parse the stylesheet once it's ready.
I make fun of HTML5 a lot, but honestly-- this was a matter of reading an actual *spec*, looking at various stackoverflow workarounds, and choosing this path which-- while dumb-- does indeed work. I'm sure Juce and Qt and Gtk 4 look beautiful. But I'd bet there is close to 0% chance that every wonky thing we'd want to do in Purr could be done using the nice-and-easy API they ship and write tutorials about. As much as I dislike fudging around with Javascript, I simply wouldn't contribute any code at all if I was required to drop down to C++ and do business outside the common, documented set of widgets.
Also note-- this fix adds some jank to changing presets in the dropdown menu. I guess the replaceChild method somehow triggers a relayout after removing the first stylesheet, and then relayout *again* after loading the new one. I couldn't find a pattern of adding/removing link elements that got rid of the jank, so I guess we're stuck with it.
Anyway:
* fixed new_object_textentry background respect the current GUI preset
* got the little svg lock styled to match GUI presets
* fixed background for broken object text
* removed CSS that's no longer usedJonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/766debuild: Adjust the arm64 build to use Maurits Lamers' nwjs package.2021-04-19T10:45:29ZAlbert Gräfdebuild: Adjust the arm64 build to use Maurits Lamers' nwjs package.This is a followup to !732 which further adjusts our debuild machinery so that arm64 packages can now be built successfully on the OBS. An exemplary Debian 10 arm64 build is available [here](https://build.opensuse.org/package/show/home:a...This is a followup to !732 which further adjusts our debuild machinery so that arm64 packages can now be built successfully on the OBS. An exemplary Debian 10 arm64 build is available [here](https://build.opensuse.org/package/show/home:aggraef:purr-data-git/purr-data) (go to "Download package", choose "Debian" and then follow the instructions; or you can just grab the arm64.deb package right here: https://download.opensuse.org/repositories/home:/aggraef:/purr-data-git/Debian_10/arm64/purr-data_2.16.0+git4826+48ca6e4d-1_arm64.deb).
This build uses the only arm64 build of nw.js that seems to be available *anywhere* right now, which is a build of nw.js 0.23.7 done some time ago by Maurits Lamers, available here: https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/tag/v0.23.7
I haven't tested the resulting binary yet. But at least it builds on the OBS now. I invite anyone with an arm64 Debian 10 system to give it a go.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/771update styling of "unlock" editmode icon with gui presets2021-04-17T19:13:15ZRukshan Senanayakaupdate styling of "unlock" editmode icon with gui presetsFixes #836.
In that issue @jwilkes has mentioned "Just do the nasty JS necessary to make that happen.", but frankly the JS part was done in !769 (merged MR).
Since the issue was discussed after this MR, I just edited the css to match col...Fixes #836.
In that issue @jwilkes has mentioned "Just do the nasty JS necessary to make that happen.", but frankly the JS part was done in !769 (merged MR).
Since the issue was discussed after this MR, I just edited the css to match colors of each gui preset. But the JS was already done wasn't it?https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/772Release 2.17.02021-04-17T21:21:12ZAlbert GräfRelease 2.17.0I think that it's time for another release of the desktop app. This one has been cut from the latest git + !766 + !771, so in particular it includes all the latest bugfixes and improvements to the GUI presets, as well as arm64 support fo...I think that it's time for another release of the desktop app. This one has been cut from the latest git + !766 + !771, so in particular it includes all the latest bugfixes and improvements to the GUI presets, as well as arm64 support for Debian/Ubuntu.
**ChangeLog:**
- incremental search in the help browser (Gabriela Bittencourt)
- new `declare -zoom` option, useful for teaching (AG)
- `pddplink` now accepts a symbol on its 1st inlet, looses its superfluous outlet (AG)
- major cleanup of the GUI presets, especially the dark ones work much better now (JW)
- arm64 support for the OBS Debian/Ubuntu builds (AG)Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/713Fixed all matches showing when "Highlight All" is not selected2022-03-05T09:34:39ZPrakhar AgarwalFixed all matches showing when "Highlight All" is not selectedActually, this bug was occurring because of the ordering of CSS files. Now, I have fixed the bug. Fixes #789Actually, this bug was occurring because of the ordering of CSS files. Now, I have fixed the bug. Fixes #789https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/726Changed color of "Highlight All" to black2021-04-19T05:29:09ZPrakhar AgarwalChanged color of "Highlight All" to blackI have changed the text color of the "Highlight All" label to black. Now it looks exactly as mentioned in the issue. Fixes #808I have changed the text color of the "Highlight All" label to black. Now it looks exactly as mentioned in the issue. Fixes #808https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/741[Feature] Added fullscreen feature2021-05-04T07:14:16ZPrakhar Agarwal[Feature] Added fullscreen featureI have added fullscreen feature. Now we can either press `F11` or goto `View->Fullscreen`. Fixes a part of #797I have added fullscreen feature. Now we can either press `F11` or goto `View->Fullscreen`. Fixes a part of #797https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/757Console shows when select all is clicked2021-04-18T21:35:49ZPrakhar AgarwalConsole shows when select all is clickedNow, the console will automatically show up when Find is clicked in "Edit->Select All". Fixes #827Now, the console will automatically show up when Find is clicked in "Edit->Select All". Fixes #827https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/758Added default browser zoom in2021-05-04T07:14:16ZPrakhar AgarwalAdded default browser zoom inI have added default browser zoomin. This MR will remove "zoom in" option from global menu option and allow "zoom in" from default browser keybinding. Fixes #823I have added default browser zoomin. This MR will remove "zoom in" option from global menu option and allow "zoom in" from default browser keybinding. Fixes #823https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/759Added browser default zoom out2021-05-04T07:14:16ZPrakhar AgarwalAdded browser default zoom outI have added default browser zoom out. This MR will remove "zoom out" option from global menu option and allow "zoom out" from default browser keybinding. Fixes #822I have added default browser zoom out. This MR will remove "zoom out" option from global menu option and allow "zoom out" from default browser keybinding. Fixes #822https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/775tar_em_up.sh: Fix the ARM nw.js package names and versions.2021-04-24T01:40:49ZAlbert Gräftar_em_up.sh: Fix the ARM nw.js package names and versions.This brings the ARM nw.js versions in the tar_em_up.sh script up to the same versions that we use in the OBS builds, and makes sure that the right packages are downloaded and extracted properly, without any manual intervention, on both a...This brings the ARM nw.js versions in the tar_em_up.sh script up to the same versions that we use in the OBS builds, and makes sure that the right packages are downloaded and extracted properly, without any manual intervention, on both armv7l/armhf and aarch64/arm64 systems when building locally with `make`. Tested on a Raspberry Pi 4, with both the regular (32 bit) Raspbian Buster and the latest 64 bit beta version of Raspbian Buster available here: https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2021-04-09/
Note that, in particular, this updates the (ancient) 0.17.6 nw.js version that we still had in the script to the 0.27.6 version which has been used in all our OBS builds for quite some time now. It also adds Maurits Lamers' arch64 nw.js 0.23.7 build that we added recently, and fixes the upstream URL so that it correctly points to https://github.com/LeonardLaszlo/nw.js-armv7-binaries/releases/download/ for the ARM packages now.
This doesn't change any of the other nw.js package URLs or versions, so building on the other platforms (x86 Linux, Mac, Windows) works the same as before.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/751fix comment border2021-05-04T01:31:43ZRukshan Senanayakafix comment borderI have added the potential fix to issue #290. Could you please confirm whether this solves the issue @jwilkes![commentfix](/uploads/805ae1fd7c8d97f3143278778d8d150d/commentfix.png)I have added the potential fix to issue #290. Could you please confirm whether this solves the issue @jwilkes![commentfix](/uploads/805ae1fd7c8d97f3143278778d8d150d/commentfix.png)https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/760Added browser default reset zoom2021-05-04T07:14:16ZPrakhar AgarwalAdded browser default reset zoomI have added default browser reset zoom. This MR will remove "reset zoom" option from global menu option and allow "reset zoom" from default browser keybinding. Fixes #821I have added default browser reset zoom. This MR will remove "reset zoom" option from global menu option and allow "reset zoom" from default browser keybinding. Fixes #821