1. 22 Jul, 2019 1 commit
  2. 04 Mar, 2018 1 commit
  3. 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
      platforms
      
      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 instances.
      
      Setting the value for this flag has two important potential side-effects:
      
      1. If you have a running instance and try to start an additional instance
         that has the same data directory, nw.js will just send an "open" event
         the first running instance and exit the 2nd instance gracefully. This is
         the default nw.js behavior and the default Pd-l2ork behavior as well.
      2. If you have a running instance and try to start an additional instance
         with a different data directory than the first, you'll get a fully
         functional 2nd instance of nw.js running. This is the behavior we desire
         when the user runs pd-l2ork with the "-unique" flag.
      
      In each case we set the data dir explicitly in order to get consistent
      positional command line arguments in the GUI.
      
      In normal mode Purr Data will use the default data dir as specified in the
      nw.js docs for the particular platorm. Since the same default dir is used
      each time Purr Data is run, there will be only one data dir that gets created.
      
      When run with the "-unique" flag, Purr Data will append "-$portno" to the
      default data directory, where $portno is the port Pd chose to communicate
      with the GUI. That ensures that each separate instance of Purr Data can
      get a unique data dir.
      
      A side effect is that users may end up generating multiple data dirs that
      don't get deleted on exit. But Pd starts searching for available ports in the
      same range each time, and unless the user tries to run hundreds of instances
      at once this directory spam shouldn't be too big of a problem.
      a147dfbb
  4. 19 Mar, 2017 1 commit
  5. 24 Jan, 2017 1 commit
  6. 15 Jan, 2017 1 commit
  7. 25 Aug, 2016 1 commit
    • Jonathan Wilkes's avatar
      port from Pd Vanilla (some of these were already ported): 5a1b58 · d7ccb9db
      Jonathan Wilkes authored
      These bugs were discovered via static code-analysis
      https://scan.coverity.com/projects/pure-data-pure-data
      (The CID numbers are the "Coverity IDs" used to identify the various bugs)
      
      - Don't free binbuf within glist_readfrombinbuf (CID:74871)
      - it must be deleted by the caller
      - Initialize sockaddr_in (CID:74861,74862,74863,74866)
      - Initialize indelay/outdelay (CID:74864,74865)
      - Initialize device-arrays (CID:74853,74854,74855,74856)
      - Closing unneeded sockets (CID:74827)
      - Initialize sockaddr_in (CID:74860}
      - Close file-descriptor if the soundfile is unparsable (CID:74822,74823)
      - Close file-handle in cleanup (CID:74816)
      - Call va_end() when handling variadic args (CID:74872)
      - Added missing break (CID:74800)
      - Prevent NULL-dereferences (CID:74792,74793)
      - Size checks when copying into string buffers (CID:74844,74845,74846,74847,74849)
      - Freeing no-more used storage (CID:74832)
      - Fixed code block (CID:74806)
      - Initialize sockaddr_in (CID:74860)
      - Initialize array-values to 0 (CID:74867)
      - Free allocated memory (CID:74813,74830)
      - Removed allocation of unused memory
      - Use pd_free() to free templates (CID:74814)
      - template_free() does not free the entire structure (it misses the pd_new() part)
      - initialize variable (CID:77865)
      - Prevent NULL-pointer dererencing (CID:77864)
      - Free heap-allocate binbuf after use (CID:74833)
      d7ccb9db
  8. 10 Jun, 2016 2 commits
  9. 03 Jun, 2016 1 commit
  10. 21 Jan, 2016 1 commit
    • Jonathan Wilkes's avatar
      port from pd-l2ork git: 1e9d44635b9e6e8030f7b3efdeb0f1ddfbd95860 · 72dbd16a
      Jonathan Wilkes authored
      (manually ported)
      *added @pd_help in addition to the existing @pd_extra that can be used for paths
      *made pddplink capable of parsing @pd_extra and @pd_help
      *updated cyclone help files to make advantage of the @pd_extra/@pd_help paths in order to reference global help file documentation
      72dbd16a
  11. 17 Sep, 2014 1 commit
  12. 10 Aug, 2014 1 commit
  13. 17 Jun, 2014 1 commit
  14. 29 Dec, 2013 1 commit
  15. 31 Aug, 2013 1 commit
  16. 17 Aug, 2013 2 commits
  17. 01 Aug, 2013 1 commit
  18. 18 Nov, 2012 1 commit
  19. 11 Nov, 2012 1 commit
  20. 26 Apr, 2012 1 commit
    • Ivica Bukvic's avatar
      fixed noselect bug when line is selected and one clicks on a blank canvas... · cafd5a38
      Ivica Bukvic authored
      fixed noselect bug when line is selected and one clicks on a blank canvas which should also deselect selected line. also made pd_extrapath struct global as part of s_stuff.h so that ggee/image can use dynamic descriptors for retrieving of files (.e.g @pd_extra is translated to the pd's system-wide location of the extra/ folder)
      cafd5a38
  21. 30 Oct, 2011 1 commit
  22. 19 Sep, 2008 1 commit
  23. 13 Aug, 2008 1 commit
  24. 12 Jun, 2008 1 commit
  25. 22 May, 2008 1 commit
  26. 17 Mar, 2008 1 commit
  27. 15 Feb, 2008 1 commit
  28. 15 Jan, 2008 2 commits
  29. 07 Jan, 2008 1 commit
  30. 17 Dec, 2007 1 commit
  31. 01 Aug, 2007 1 commit