This slide presents cocoa_send / receive external objects for Cycling'74 Max/MSP, which enables simple and stable communication between Max/MSP and Native OS X Cocoa programming environment.
Why Integrate?
• Max/MSP
○ Useful for Audio / MIDI / Images .... !!
Scalability
× Hard to manage big data set.
2
Why Integrate?
• Cocoa - Native OS X Environment
○ Lots of useful frameworks and easy-to-use
tools for them.
• Frameworks - CoreData, Bonjour, QuartzComposer...
• Tool - Xcode, InterfaceBuilder...
× Audio / MIDI API is very very complicated.
• Core Audio / Core MIDI / Quick Time
3
Features
○ Simple to implement and Just works!
○ No need to “connect” explicitly (Always
Connected!!)
× Limited to local use
OK NG!
Cocoa
Max Cocoa
Max
http://commons.wikimedia.org/w/index.php?title=Image:MacBook_Pro_transparency.png
7
Technical Details
• cocoa_send/receive use OS X’s Inter-
Application Communication called
“Distributed Notifications”
• eg.) Preference Pane
• http://developer.apple.com/documentation/UserExperience/Conceptual/
PreferencePanes/Tasks/Communication.html
8
How to Use #1
1. Download cocoa_send/receive objects and
sample application from www.naotokui.com
2. Set “Channel Names”
• These names will be used to identify
communication channels. They must be shared
between Max objects and Cocoa project.
Max ← Cocoa
Max → Cocoa
9
How to Use #2
3. Open Cocoa_SR_Test folder
and include Cocoa_SR_Test.h/
m in your own Cocoa Project.
4. Set the same Channel Names
#define CH_NAME_FROM_COCOA
@quot;FROM_Cocoaquot;
#define CH_NAME_TO_COCOA
@quot;TO_Cocoaquot;
5. Use -sendString: -sendFloat:/-
sendInteger methods to send.
10