1. 15 Oct, 2017 1 commit
    • Jonathan Wilkes's avatar
      Add "svg" type for [draw svg] containers · e16e7453
      Jonathan Wilkes authored
      This makes it possible to define an editable viewport outside of which the
      contents are clipped.
      One big benefit is that the getrect routine doesn't need to fetch the bboxes
      of the shapes inside the viewport. It just needs the svg width, height, x,
      y, and parent transform. It's also possible to add an optimized branch if
      there is no parent transform specified.
      One drawback is that the HTML5 method getBBox() includes the clipped content
      in its calculation. That means the user will get scrollbars even though the
      [draw svg] is clipping the contents which cause the scrollbars. Hopefully we
      can just work around this by adding a "scrollbars" method for canvases to
      just turn them off altogether.
      Code for an experimental [draw array] is also added here. Combining it with
      the viewport of [draw svg] will make it possible to interact with arrays of
      widgets without the performance penalty normally associated with mouse
      motion on Pd canvases.
      * fixes some display bugs...
  2. 29 Sep, 2017 4 commits
  3. 28 Sep, 2017 1 commit
  4. 27 Sep, 2017 3 commits
  5. 26 Sep, 2017 1 commit
    • Jonathan Wilkes's avatar
      get the "-unique" flag and [pd~] object working in Purr Data · a147dfbb
      Jonathan Wilkes authored
      This patch makes it possible to have multiple running instances of Purr Data,
      and to leverage that interface from Pd-l2ork to get [pd~] working on all
      Some difficulties required revisions to [pd~] in Pd Vanilla's code
      * use quoted path args for Windows when starting the [pd~] subprocess
      * replace sys_havegui() from Pd Vanilla's recent "threadening" with sys_nogui
      The "-unique" flag requires the OSX app bundle to be able to start by calling
      the binary in Pd-l2ork.app/Contents/Resources/app.nw/bin/pd-l2ork. This should
      also make it possible to run Purr Data on OSX both by using an app bundle
      (where the GUI starts the Pd process) and by installing and running from the
      command line (where the Pd process starts the GUI)
      The "--user-data-dir" flag sets the directory for various nw.js state used
      by a running instance. To prevent races nw.js requires that each running
      instance have its own directory that is not shared with any other instanc...
  6. 31 Aug, 2017 1 commit
  7. 28 Aug, 2017 1 commit
  8. 27 Aug, 2017 4 commits
  9. 26 Aug, 2017 1 commit
  10. 25 Aug, 2017 2 commits
  11. 24 Aug, 2017 2 commits
    • Jonathan Wilkes's avatar
      remove unnecessary newlines · 0aa8a1e1
      Jonathan Wilkes authored
    • Jonathan Wilkes's avatar
      get rid of undefined behavior in union member mismatch for $@ · 9d30a7cd
      Jonathan Wilkes authored
      The code for $@ depends on reading a_w.w_symbol values, but the other
      A_DOLLAR branch (i.e., for $1 - $n) depend on reading a_w.w_index.
      So for the conditional at the top of binbuf_eval, this means that any
      normal A_DOLLAR that has its a_w.w_index set is actually trying to read
      a_w.w_symbol. On a 64-bit arch with certain compilers, this will result
      in a read of uninitalized data in the padding of the part of w_symbol
      that exceeds the sizeof(int).
      The workaround here is to define a sentinel value DOLLARALL to a negative
      int unlikely to ever be used in real A_DOLLAR values. We then use DOLLARALL
      to mean the "@" in "$@" so we can create a special branch for it in the
      One consequence-- we probably need to add a special case error when
      this value is out of range. So rather than confusing the user with the
      mysterious negative value of DOLLARALL we print "$@" for them. (Currently,
      the only place I can see this happening is when "$@" is used...
  12. 23 Aug, 2017 1 commit
  13. 22 Aug, 2017 8 commits
  14. 21 Aug, 2017 1 commit
  15. 19 Aug, 2017 1 commit
  16. 18 Aug, 2017 3 commits
  17. 17 Aug, 2017 1 commit
  18. 15 Aug, 2017 2 commits
  19. 14 Aug, 2017 2 commits