Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Plask is a multimedia programming environment.

branch: master

Basic support for High DPI with 2x scale factor (ie Retina).

This can be enabled by setting 'highdpi': 2 in the simpleWindow settings.
A different approach is taken than the Cocoa point/pixel translation.
For Plask it makes more sense to always work in pixels, and basically the
highdpi flag just controls the window size and weather the backing store is
scaled up or not.  Since the events will still be done in Cocoa points, they
are scaled back to pixels in the Plask event handling code.
Note, this doesn't set NSHighResolutionCapable in the plist.
latest commit 93350aa125
Dean McNamee authored
Octocat-spinner-32 English.lproj Initial commit. November 18, 2010
Octocat-spinner-32 examples
Octocat-spinner-32 plask.xcodeproj Remove the third_party portion of skia path in header includes. March 10, 2013
Octocat-spinner-32 .gitignore Add ignores for xCode4 user data and deps/ April 21, 2011
Octocat-spinner-32 LICENSE Add a LICENSE file. June 17, 2011
Octocat-spinner-32 Plask.icns Mediocre Plask icon. March 25, 2011
Octocat-spinner-32 README Fix xcode build command for xcode 4. October 03, 2011
Octocat-spinner-32 fetch_deps.sh Upgrade to Node v0.10.15. August 08, 2013
Octocat-spinner-32 libev.patch Add the patch required for libev integration. March 15, 2011
Octocat-spinner-32 main.mm Upgrade to Node v0.10.15. August 08, 2013
Octocat-spinner-32 node-libuv.diff
Octocat-spinner-32 node-load.diff Entirely rewrite our Cocoa/node event loop integration. December 21, 2012
Octocat-spinner-32 plask-Info.plist Mediocre Plask icon. March 25, 2011
Octocat-spinner-32 plask.js Basic support for High DPI with 2x scale factor (ie Retina). February 12, 2014
Octocat-spinner-32 plaskAppDelegate.h Initial commit. November 18, 2010
Octocat-spinner-32 plaskAppDelegate.mm Restructure menu initialize. December 21, 2012
Octocat-spinner-32 plask_Prefix.pch Initial commit. November 18, 2010
Octocat-spinner-32 plask_bindings.h Initial commit. November 18, 2010
Octocat-spinner-32 plask_bindings.mm Basic support for High DPI with 2x scale factor (ie Retina). February 12, 2014
Octocat-spinner-32 v8_utils.cc Initial commit. November 18, 2010
Octocat-spinner-32 v8_utils.h Initial commit. November 18, 2010
README
Plask is a programming environment for multimedia and computational design.

  www.plask.org


- Getting Plask

For the common user, it is best to use the binary distribution provided at
www.plask.org.  If you're interested in building and running from source, the
following section should help you get started.


- Building and running from source

Plask integrates together quite a few pieces of technology, which unfortunately
makes the build process more complicated.  It is possible to do a boostrapped
build, where you only build the Plask source file, but use prebuilt object
files for Plask's dependencies.  Run the fetch_deps.sh script to download and
extract a copy of these prebuilt dependencies.  When fetching new source
changes to Plask, you will have to be aware if there have been any changes to
the prebuilt dependencies, and if so, to run fetch_deps.sh again.

For example, to build from a completely new checkout would look something like:

  $ sh fetch_deps.sh
  $ xcodebuild -project plask.xcodeproj -configuration Release -target Plask

This should produce Plask.app.  For some technical and design reasons, Plask.app
is effectively a commandline application inside a bundle.  For example, running
Plask.app/Contents/MacOS/Plask on the command line will start a Node-style REPL
loop, an interactive JavaScript shell of sorts.

Pass a filename on the command line to run that JavaScript file.

NOTE: To ease development, the Plask.app built has a symlink to plask.js in
the source.  This allows you to edit plask.js in the source repository without
having to rebuild the project.

A separate project, PlaskLauncher, creates the UI application for launching
Plask by dragging/dropping or File->Open.


- Creating standalone applications

When Plask.app is launched, it will look for a file named main.js inside of
the bundle (in Contents/Resources).  This allows you to easily create
standalone applications by copying Plask.app and putting your JavaScript source
inside of the bundle.

NOTE: When running "bundled", the current working directory will likely be
different from running Plask on the command line.  Generally this means if you
open files you should open a path relative to __dirname, which is Node's global
variable for the directory that your JavaScript file is in.


- Credits

Released under the BSD license.  Full details in the included LICENSE file.

(c) 2010, Dean McNamee <dean@gmail.com>

This software contains code and ideas from the fantastic:

Nicolas Garcia Belmonte
Thatcher Ulrich
Ryan Alexander
Marcin Ignac

Built with the fantastic:

V8 JavaScript Engine
Skia rasterization library
NodeJS
Cocoa and OpenGL
FreeImage
Syphon
Something went wrong with that request. Please try again.