purr-data merge requestshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests2016-10-21T23:26:42Zhttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/7Help browser2016-10-21T23:26:42ZAlbert GräfHelp browser2nd attempt... looking tidy now. :)
Here are my fixes to the latest help browser. I already tested these on my release branch, works like a charm. Since it's quite easy to browse the external documentation under extra now, I didn't bo...2nd attempt... looking tidy now. :)
Here are my fixes to the latest help browser. I already tested these on my release branch, works like a charm. Since it's quite easy to browse the external documentation under extra now, I didn't bother backporting the code that I previously used to search the entire shebang. Works well as it is, and startup of the help browser is much faster that way. ;-)
I split this into separate changesets to make it easy for you to cherry-pick if you want. Here is a quick rundown of the changes I did:
- some cosmetic text changes
- `null` descriptions are shown as `no description` now, looks less scary :)
- empty search term shows the toc again, so we don't need another "home" button for that
- in addition to doc/, extra/ paths can be used to show a directory there
- beefed up the main toc a little; it now has entries for all the standard (vanilla) doc sections that seasoned Pd users will expect to find there, and I also added Cyclone and Gem at the end (might want to add some other external directories there, but I think that these are probably the ones that average Pd users will use most)
This is new (latest commit):
- add section titles to the toc (these are done by including an entry with just the title field), I think that this improves readability
- added a few more entries to the toc, including some section titles (if you have any idea what other externals might be included by default, please let me know)
One question I'm still pondering is what to do with the entries which don't have a description (printed as `no description` now by virtue of rev. fc583ca1). This looks rather boring with big listings showing just help patches without descriptions. Maybe we should just get rid of empty descriptions altogether?
Also, it seems that when the description is empty then the filename (id) will be printed including the `.pd` suffix, whereas it is omitted otherwise. Is this intentional?
Anyway, I think that this should be ready to go in as is. But if you have any suggestions for further improvements then please let me know!https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/8Remove pd-l2ork-k12*.desktop files, as K12 mode isn't supported by purr-data ...2016-10-21T23:32:40ZAlbert GräfRemove pd-l2ork-k12*.desktop files, as K12 mode isn't supported by purr-data yet.This resolves issue #137.This resolves issue #137.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/9Disis build fixes2016-10-23T14:21:26ZAlbert GräfDisis build fixesFixes issue #138. Tested on Arch, Ubuntu 14.04 and 16.04, works fine for me.Fixes issue #138. Tested on Arch, Ubuntu 14.04 and 16.04, works fine for me.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/10toc improvements2016-10-25T00:33:45ZAlbert Gräftoc improvementsThis adds a check that a toc entry actually exists before adding it, so that if some bit is missing on a particular platform (e.g., GEM on the Mac), the corresponding toc entry will be hidden. I also added the DISIS and Gem entries back ...This adds a check that a toc entry actually exists before adding it, so that if some bit is missing on a particular platform (e.g., GEM on the Mac), the corresponding toc entry will be hidden. I also added the DISIS and Gem entries back to the toc, so that they will be shown if available on the target platform.
Yes, this uses `fs.accessSync`, but I didn't notice any perceivable delay because of this. We're not scanning a ton of entries here, so it should be ok.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/12Get rid of some really annoying legacy Tcl commands in the core.2016-10-26T06:07:00ZAlbert GräfGet rid of some really annoying legacy Tcl commands in the core.As long as we don't have any LED indicators in the console window, show an error for audio dropouts instead. Also get rid of some debugging messages in the pddp.
Please refer to !11 for explanation and discussion.As long as we don't have any LED indicators in the console window, show an error for audio dropouts instead. Also get rid of some debugging messages in the pddp.
Please refer to !11 for explanation and discussion.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/13Preliminary fix for the "dsp on" (Ctrl+/) keybinding.2016-11-19T12:11:43ZAlbert GräfPreliminary fix for the "dsp on" (Ctrl+/) keybinding.- Make the Ctrl+/ keybinding work on German keyboards. This actually adds a
binding for the 7 key which has the / symbol on it as a shifted key on
German keyboards. For some reason that key isn't properly mapped by nw.js,
so we do ...- Make the Ctrl+/ keybinding work on German keyboards. This actually adds a
binding for the 7 key which has the / symbol on it as a shifted key on
German keyboards. For some reason that key isn't properly mapped by nw.js,
so we do it manually. We do this unconditionally, as there doesn't seem to
be a portable way to check which keyboard is actually active.
- Add a secondary, more international-keyboard-friendly, Ctrl+, keybinding for
the "dsp on" function. The comma works much better for this function on some
European keyboards which have the / key on the first row of the keyboard, as
it is next to the period on most European keyboards (the Latin ones at
least). The intention here is to make it easy on a wider range of keyboards
to quickly turn off dsp and then turn it on again using keyboard commands.
The Ctrl+, keybinding should work well for that purpose with almost any
Latin keyboard. But note that the Ctrl+/ keybinding remains to be available
as well for backward compatibility.
NOTE: Right now these only work in canvas windows, we still need to add
something similar to the console windows to make it work there.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/14Cosmetic regex change.2016-11-01T17:41:47ZAlbert GräfCosmetic regex change.Added a backslash before the [ in the character class to make Emacs' syntax highlighter happy. Yes, it's Emacs' fault, and I know that it's not strictly necessary. But that missing backslash there totally throws off Emacs' syntax highlig...Added a backslash before the [ in the character class to make Emacs' syntax highlighter happy. Yes, it's Emacs' fault, and I know that it's not strictly necessary. But that missing backslash there totally throws off Emacs' syntax highlighting so that the whole rest of the file looks like one big string which doesn't help editing that file in Emacs. :) Since I do all my editing in Emacs I'd much appreciate it if this could be merged upstream, thanks a lot in advance!https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/15Linux: Try to create the ~/.pd-l2ork config dir if necessary when saving the ...2016-11-01T17:45:09ZAlbert GräfLinux: Try to create the ~/.pd-l2ork config dir if necessary when saving the preferences file.I think I've mentioned this before, here's the fix. On Linux, the ~/.pd-l2ork directory is now created automatically when saving preferences for the first time, so that the user doesn't have to do that manually in order to make changes ...I think I've mentioned this before, here's the fix. On Linux, the ~/.pd-l2ork directory is now created automatically when saving preferences for the first time, so that the user doesn't have to do that manually in order to make changes in the preferences dialog stick across invocations.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/16Fix dysfunctional Save As dialog on Linux.2016-11-03T00:11:34ZAlbert GräfFix dysfunctional Save As dialog on Linux.The code under scrutiny here sets `nwworkingdir` to `path.join(initdir, initfile)` which doesn't seem right because it points to a file, not a directory. Even though this may work for the distributed Mac and Windows packages, on Linux wi...The code under scrutiny here sets `nwworkingdir` to `path.join(initdir, initfile)` which doesn't seem right because it points to a file, not a directory. Even though this may work for the distributed Mac and Windows packages, on Linux with nw.js 0.17.6 it definitely doesn't work. Instead the "Save As" dialog comes up without a path under which to save (rather than showing the directory of the patch or the cwd), and the "Save" button doesn't work until you explicitly select one. I've verified this on both Arch and Ubuntu (14.04 and 16.04), it's 100% reproducible there.
The proposed patch fixes this. It sets `nwworkingdir` to `initdir` (as you'd expect) and `nwsaveas` to `path.join(initdir, initfile)` (which is what https://github.com/nwjs/nw.js/issues/3372 suggests to make it work on Windows; on Linux setting `nwsaveas` to just `initfile` also works). I've tested this on Arch as well as Ubuntu 14.04 and 16.04 and it works fine there. I've also tested the same change on OSX (using an older installation of the 2nd alpha release on my MacBook) and it appears to work there, too. I can't test on Windows right now, though. Jonathan, maybe you could test it there with the latest nw.js available on Windows and see whether it works for you?https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/17Get rid of the optimizeSpeed shape-rendering attributes in pdgui.js.2016-11-07T22:21:03ZAlbert GräfGet rid of the optimizeSpeed shape-rendering attributes in pdgui.js.With the latest nw.js versions (0.17.x and later), this attribute prevents the anti-aliasing of patch cords, selection rectangle etc., which looks really
bad. Commenting out the corresponding lines in pdgui.js reenables the anti-aliasing.With the latest nw.js versions (0.17.x and later), this attribute prevents the anti-aliasing of patch cords, selection rectangle etc., which looks really
bad. Commenting out the corresponding lines in pdgui.js reenables the anti-aliasing.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/18Disable the autotips menu option for now as it doesn't work yet.2016-11-08T13:01:01ZAlbert GräfDisable the autotips menu option for now as it doesn't work yet.See #148.See #148.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/19debuild update2016-11-08T13:04:01ZAlbert Gräfdebuild updateAnother debuild update. This bumps nw.js to 0.18.5 (the latest as of now). It also prevents the nw.js stuff in the package from being stripped. (This increases the resulting deb package size a little, but the stripping takes forever and ...Another debuild update. This bumps nw.js to 0.18.5 (the latest as of now). It also prevents the nw.js stuff in the package from being stripped. (This increases the resulting deb package size a little, but the stripping takes forever and might possibly cause issues with debugging, so I think that it's better to not do it.)https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/21Upstream bugfixes2016-11-13T20:23:54ZAlbert GräfUpstream bugfixesIco's two latest commits from upstream with bugfixes for intelligent patching and preset saving logic.Ico's two latest commits from upstream with bugfixes for intelligent patching and preset saving logic.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/22Translations2016-11-13T20:31:38ZAlbert GräfTranslationsFixed some typos in the English translations and added some missing translations in the help browser. Added German translations. Added the necessary logic to pdlang.js in order to pick the proper translations according to `navigator.lang...Fixed some typos in the English translations and added some missing translations in the help browser. Added German translations. Added the necessary logic to pdlang.js in order to pick the proper translations according to `navigator.language` (fall back to `en` translations by default).https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/23Clipboard paste fixes2016-11-15T03:13:56ZAlbert GräfClipboard paste fixesThis fixes #156. "Paste from clipboard" is a separate menu option now (shortcut is cmd/ctrl+alt+v). I also fixed some bugs and improved the error handling, so that pasting complete subpatches via the clipboard works now, and pasting inco...This fixes #156. "Paste from clipboard" is a separate menu option now (shortcut is cmd/ctrl+alt+v). I also fixed some bugs and improved the error handling, so that pasting complete subpatches via the clipboard works now, and pasting incomplete ones doesn't make Pd crash any more, but yields an error message in the console. Details can be found in the individual commits. All in all this seems much more robust now, and I couldn't make it crash any more by feeding random blocks of lines from an existing .pd file.
@jwilkes I've tested this quite thoroughly on Linux, but it would be nice if you could also give it a whirl on OSX and Windows. In particular, please have a look at whether I did the additions to the Mac menu correctly, that was mostly guesswork. :) Thx!https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/24Add an "Optimal Zoom" option to the canvas view menu.2016-11-15T22:28:07ZAlbert GräfAdd an "Optimal Zoom" option to the canvas view menu.This automatically picks the right zoom level to make the patch fill the window as much as possible. Also fixes a missing call to pdgui.gui_canvas_get_scroll in the m.view.zoomreset menu command which caused the viewport not to be update...This automatically picks the right zoom level to make the patch fill the window as much as possible. Also fixes a missing call to pdgui.gui_canvas_get_scroll in the m.view.zoomreset menu command which caused the viewport not to be updated properly after resetting the zoom level in canvas windows.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/25Add fit to width/height zoom operations.2016-11-17T00:56:41ZAlbert GräfAdd fit to width/height zoom operations.I thought about the optimal zoom business some more, and I realized that there are some kinds of patches (especially the wall-of-text variety, which is quite common in the docs) for which the fit-to-width/height options are in fact more ...I thought about the optimal zoom business some more, and I realized that there are some kinds of patches (especially the wall-of-text variety, which is quite common in the docs) for which the fit-to-width/height options are in fact more useful than the general optimal zoom command. So I've added these now. Keyboard shortcuts are Cmd/Ctrl+Alt+w/h, but as usual feel free to change them if you have a better idea.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/26change [draw group] to [draw g] to match svg spec name for groups2016-11-17T01:27:25ZJonathan Wilkeschange [draw group] to [draw g] to match svg spec name for groupsThis changes `[draw group]` to `[draw g]` for the new data structure drawings. It's a pretty disruptive change in the interface, but a very easy one to implement. So I wanted to make it before hitting a release candidate, and before to...This changes `[draw group]` to `[draw g]` for the new data structure drawings. It's a pretty disruptive change in the interface, but a very easy one to implement. So I wanted to make it before hitting a release candidate, and before too many people begin using data structures.
This way the main `[draw]` arguments are *exactly* the same name as their svg counterparts. It's a fairly small usability improvement-- the user can go to the spec or tutorial for SVGs and immediately know that `<g>` corresponds to `[draw g]`. Still, I think that consistency is important and helpful, so I wanted to fix it before releasing.Jonathan WilkesJonathan Wilkeshttps://git.purrdata.net/jwilkes/purr-data/-/merge_requests/27Make keypresses work in the main Pd window, fixes issue #144.2016-11-17T01:53:19ZAlbert GräfMake keypresses work in the main Pd window, fixes issue #144.As discussed on l2ork-dev. Tested with [key] on Linux, key events in the main window are properly reported now.As discussed on l2ork-dev. Tested with [key] on Linux, key events in the main window are properly reported now.https://git.purrdata.net/jwilkes/purr-data/-/merge_requests/28Fixes to strip_problem_chars function2016-11-18T05:26:56ZAlbert GräfFixes to strip_problem_chars function@jwilkes As discussed in private mail:
- ret.split(";") should be ret.split(problem_chars[i])
- remove the function from dialog_canvas.html where it isn't needed@jwilkes As discussed in private mail:
- ret.split(";") should be ret.split(problem_chars[i])
- remove the function from dialog_canvas.html where it isn't needed