Vous êtes sur la page 1sur 46

Making

A Slick Max Standalone


Dan Nigrin
Defec5ve Records So9ware
Expo 74
New York
October 15, 2011

About Me
Late 1980 s: club DJ in Bal5more, MD - industrial /
alterna5ve / techno
Early 1990 s: Glitch releases on mul5ple labels: R&S,
Fax, Industrial Strength, Radikal, Antler-Subway
Collabora5ons with Richie Haw5n, Lenny Dee, and others.
h]p://discogs.com/ar5st/Glitch
Mid 1990s: Created our own label, Defec5ve Records
Moved to Boston

h]p://defec5verecords.com

About Me
Defec5ve Records now home to my so9ware
crea5ons, almost all of which are Max crea5ons

VSTi Host - lightweight VST instrument (and eect) host


MC-202 Hack - program the Roland MC-202s sequencer
Major Malfunc8on - Pluggo-based glitch plugin
Klee Step Sequencer
M-185 Step Sequencer
MC-4 Hack program the Roland MC-4s sequencer

About Me
Contributor to Jack OS X (Mac port of Jack Audio
Connec5on Kit, h]p://jackosx.com )
DIY synth builder (x0xb0x/x0xi0, Shruthi, WTPA,
etc)
Day job: Pediatric Endocrinologist & Chief
Informa5on Ocer, Children s Hospital Boston

Presenta5on available at:


h]p://defec5verecords.com/expo74/standalones.pdf

What I Will Cover


Work our way through slickify-ing an app from very
basic to slightly less basic
NOT going to talk about how to make fancy graphics
if I knew how to make them, I would! J
Will try to cover both Mac and Windows

The original patcher

The resul5ng app

The resul5ng apps menus

Fix the app name

Standalone object,
presenta5on mode

Standalone object Inspector,


Preferences, Max window, Loadbang
defea5ng, etc

Current status

Window sekngs

Current status

Custom app icon

Mac: use.icns le (audio-mixing-desk.icns)


Win: use.ico le (audio-mixing-desk.ico)

icon from iconshock.com

Build app to include custom icon


Include File in Build window, navigate to your
icon le and select it
Change include to appicon
Now Build your app

custom app icon result

Tip: Include high resolu5on (256 x 256) versions within icon les

Menu tweaking
menubar object
Make an About My Cool App entry, and one
for Documenta5on

Dening loca5on of
documenta5on le

Tip: Open any le by sending max message


[; max launchbrowser le://Path_To_File]

Dening loca5on of
documenta5on le

Current status of menus

More menu tweaking


maxinterface.json le
Mac: within applica5on bundle
Contents/support/interfaces/

Windows: next to applica5on executable


support/interfaces

Save a copy of the original le, in case you


make mistakes!

maxinterface.json
h]p://jsonviewer.stack.hu/
Paste contents of maxinterface.json into Text

maxinterface.json

maxinterface.json

maxinterface.json edi5ng

maxinterface.json edi5ng

Remove unnecessary les


Use standalone object to exclude if not needed
Audio Support
MIDI Support
Extensions

Remove unnecessary les


Mac Top Level

Leave alone
PkgInfo
My Cool App.mxf
MacOS folder
Info.plist we will work on later

Remove unnecessary les


Mac Frameworks folder

Delete what you dont use!


No Ji]er delete Ji]erAPI.framework
No Javascript delete MaxJSRef.framework
No audio delete MaxAudioAPI.framework

Remove unnecessary les


Mac Resources folder

Delete everything except


My Cool App.icns
My Cool App.rsrc

Remove unnecessary les


Mac support folder

ad folder
No need for Rewire? Delete
ad_rewire.mxo
MSPReWireDevice.bundle
No need for Non Real5me? Delete
ad_nonreal.mxo

mididrivers folder
Not using General MIDI? Delete
augraph.mxo
Not using ReWire? Delete
Midi_adrewire.mxo

Remove unnecessary les


Mac support folder

Interfaces folder
Be sure to keep maxinterface.json
(your custom one!)
I also keep those les necessary for
Max window leave only what you
need (experiment!)

Remove unnecessary les


Windows

Top level - leave alone


maxcrt.dll
maxcrt_p.dll
msvcr70.dll
msvcr71.dll
My Cool App.mxf

support folder - leave alone


MaxAPI.dll
MaxAudio.dll
ad, interfaces and mididrivers folders
Same as Mac

Applica5on meta informa5on

Applica5on meta informa5on


Mac
Modify Info.plist le
Can use Property List Editor (installed with Apple Developer Tools)

Applica5on meta informa5on


Windows
Must use resource editor
E.g. XN Resource Editor (free)
Can also delete unneeded icons here

Installer/Uninstaller
Mac
Distribute as .dmg le, double click to mount, drag to Applica5ons folder
I use DropDMG ($24 USD) plenty of other (free) ways to do it
Uninstalla5on just delete applica5on

Installer/Uninstaller
Windows
Can just distribute as .zip, but slicker to build installer that places les in
right places, Start menu entries, Registry entries, uninstaller, etc
I use Nullso9 Scriptable Install System (NSIS) (free and open source)
Can get fancy e.g. test to see if Java installed, if not, divert user to install
it rst.

Applica5on Protec5on
Commercial op5on now available but $$
h]p://www.excelso9ware.com

My approach
Lots of small, rela5vely easily defeat-able, but in aggregate, good
enough protec5ons
Username/password combo
Username is based on users *real* name or other creden5als
Tie authoriza5on to specic machine a]ribute
If providing demo version, dont have full version func5onality within it
Dont make the full version publicly downloadable
Obfuscate within your Max patches themselves (in case people open up
your collec5ves)
Make so9ware rela5vely cheap, and make it up on volume!

Miscellaneous
Why does double-clicking a Max patcher launch my
standalone instead of Max (on a Mac)?

Thank You
All at Cycling 74, the Cycling 74 forums,
and the (defunct) Max mailing list!

Presenta5on available at:


h]p://defec5verecords.com/expo74/standalones.pdf

Vous aimerez peut-être aussi