├── LeapOSC.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── xcuserdata │ │ └── gene.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── xcshareddata │ └── xcschemes │ │ ├── LeapOSC Debug.xcscheme │ │ └── LeapOSC Release.xcscheme └── xcuserdata │ └── gene.xcuserdatad │ ├── xcdebugger │ └── Breakpoints_v2.xcbkptlist │ └── xcschemes │ └── xcschememanagement.plist ├── Makefile ├── Project.xcconfig ├── addons.make ├── bin └── data │ └── .gitkeep ├── config.make ├── documentation └── LeapOSC_Output_Map.txt ├── inputConfigSample.xml ├── openFrameworks-Info.plist └── src ├── LeapMotion.cpp ├── LeapMotion.h ├── main.cpp ├── ofApp.cpp └── ofApp.h /LeapOSC.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 0546D1A38E13BD319CC9755B /* OscReceivedElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BF3AA0D4FAA89D0F8A0E545 /* OscReceivedElements.cpp */; }; 11 | 17702BA79B8951D3E67D731E /* ofxControlPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 269154488EC9D81500954456 /* ofxControlPanel.cpp */; }; 12 | 2441ABB8D077D1710B674B6B /* ofxControlWidget.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F19D5ADDB295206E2D11D022 /* ofxControlWidget.cpp */; }; 13 | 3480F2593A7D2D1185A58BD2 /* ofxControlMultiSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 533BC9E677365CAEBABDE32D /* ofxControlMultiSlider.cpp */; }; 14 | 4ADB88E2FB52E76A471065DE /* ofxOscParameterSync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0AED834CE4DEC5260AF302A2 /* ofxOscParameterSync.cpp */; }; 15 | 510CAFE035E576A4E1502D52 /* UdpSocket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6DEF695B88BA5FAACEAA937 /* UdpSocket.cpp */; }; 16 | 54D2AFE4CAB9E9987184B8CB /* ofxControlSequence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22351BDC1BF11AD2C7514AAB /* ofxControlSequence.cpp */; }; 17 | 5864AD82E20F15536D054EA3 /* ofxOscMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF49D76C45D5DB505A234880 /* ofxOscMessage.cpp */; }; 18 | 5B19D7CDA0DA2D6E32C98BFB /* ofxControlSequencer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8208285D2C9338E091E97F1F /* ofxControlSequencer.cpp */; }; 19 | 5E4226BDBF92E688E1485262 /* ofxControlColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B87D47BF06B6B77925306C3 /* ofxControlColor.cpp */; }; 20 | 62545D179C94265CA1389D4A /* OscOutboundPacketStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 63A47AC60FFAFC3BF093EC0F /* OscOutboundPacketStream.cpp */; }; 21 | 640279EE111671BD026CB013 /* ofxOscReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2FAC65C491D4231379F3298 /* ofxOscReceiver.cpp */; }; 22 | 65409860C43A30769CCA1948 /* ofxControlTouchOSC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 662F7D0ED9FDC77CAEF95D23 /* ofxControlTouchOSC.cpp */; }; 23 | 67FE4C7B15C2F0478C8126C2 /* NetworkingUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B361208CD4107E479F04E7B /* NetworkingUtils.cpp */; }; 24 | 72A929D3561B8232A182ABFC /* ofxOscBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65EEFA3DA3526E9CDD9C21F9 /* ofxOscBundle.cpp */; }; 25 | 7AD6D29D26362072A946396B /* ofxControlTextBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB18FF4B8A5160F1AE00A25F /* ofxControlTextBox.cpp */; }; 26 | 7E0D2586B97EF28DB0017DB3 /* Base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 404909ACC5528A446F86752C /* Base64.cpp */; }; 27 | 8214BBF315F3FE8E7AA53A09 /* ofxControlMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CB5F06A2158BDC02612E1411 /* ofxControlMenu.cpp */; }; 28 | 83DE18C337910BECFBAF93EC /* ofxControlElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C2504D6D58C7E5B3E9BF9500 /* ofxControlElement.cpp */; }; 29 | 879A251454401BC0B6E4F238 /* OscTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D9BFFBBF4CC43DEE890B3C3E /* OscTypes.cpp */; }; 30 | 87EF2AD666DD3859D3EAC437 /* ofxControlOscManagerPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 845AD8C70E8C7FD4D65159B3 /* ofxControlOscManagerPanel.cpp */; }; 31 | 8F5205AEF8861EF234F0651A /* ofxOscSender.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 81967292BFC87A0144BD32C6 /* ofxOscSender.cpp */; }; 32 | 95EA8D90BEDFB3F392C5FC19 /* ofxControlMultiElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F4CB87A218D604222097F4 /* ofxControlMultiElement.cpp */; }; 33 | ADE367465D2A8EBAD4C7A8D9 /* IpEndpointName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ADD194746185E2DA11468377 /* IpEndpointName.cpp */; }; 34 | ADEF2710D82C61E7575D77D6 /* ofxControlMidiSequencer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE4E186E85EBBFE29FA0378B /* ofxControlMidiSequencer.cpp */; }; 35 | B0BD8CC11C515CD800A60E45 /* LeapMotion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B0BD8CBF1C515CD800A60E45 /* LeapMotion.cpp */; }; 36 | B105619F131F2CBAAD643A04 /* ofxControlOscManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E5823E12CEB695D775A820A /* ofxControlOscManager.cpp */; }; 37 | C3FEF526228167DB279C9FF5 /* ofxControlBpm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC20D9189D803D8084833916 /* ofxControlBpm.cpp */; }; 38 | C4782ECC372420ACE0615B74 /* OscPrintReceivedElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8881B3C8C0A1C45F042E7A /* OscPrintReceivedElements.cpp */; }; 39 | C597C10C7D9050F80877DD20 /* ofxControlButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A3B86EAF56941B8764FC7183 /* ofxControlButton.cpp */; }; 40 | C63E3138C0C0B49FE26B6DC2 /* ofxControlWidgetSelector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 564E48B1C3AACE6F032AA909 /* ofxControlWidgetSelector.cpp */; }; 41 | C9DC019415D847EB51DAA13F /* ofxLeapMotion2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9E52372269152201A84E1731 /* ofxLeapMotion2.cpp */; }; 42 | CF73E623A0339945CEE95761 /* ofxControlSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4167F127380B0C1F252B7FFC /* ofxControlSlider.cpp */; }; 43 | D05B2602C55B08AC8246D30B /* ofxControlMultiRangeSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C8EB310028D19B56B69B2813 /* ofxControlMultiRangeSlider.cpp */; }; 44 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E4328148138ABC890047C5CB /* openFrameworksDebug.a */; }; 45 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1D0A3A1BDC003C02F2 /* main.cpp */; }; 46 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */; }; 47 | F1440B2964FFEB3D7AC16B22 /* ofxControlBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1E64E04E7DD80799A960DE47 /* ofxControlBase.cpp */; }; 48 | FA337D41E6D268A025CF8F87 /* ofxControlRangeSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE9E5EDC08F844DBE73523D0 /* ofxControlRangeSlider.cpp */; }; 49 | FF7BA513209CDD286F654554 /* ofxControl2dPad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 10620EA8C755C6D304D8967B /* ofxControl2dPad.cpp */; }; 50 | /* End PBXBuildFile section */ 51 | 52 | /* Begin PBXContainerItemProxy section */ 53 | E4328147138ABC890047C5CB /* PBXContainerItemProxy */ = { 54 | isa = PBXContainerItemProxy; 55 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 56 | proxyType = 2; 57 | remoteGlobalIDString = E4B27C1510CBEB8E00536013; 58 | remoteInfo = openFrameworks; 59 | }; 60 | E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */ = { 61 | isa = PBXContainerItemProxy; 62 | containerPortal = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 63 | proxyType = 1; 64 | remoteGlobalIDString = E4B27C1410CBEB8E00536013; 65 | remoteInfo = openFrameworks; 66 | }; 67 | /* End PBXContainerItemProxy section */ 68 | 69 | /* Begin PBXCopyFilesBuildPhase section */ 70 | E4C2427710CC5ABF004149E2 /* CopyFiles */ = { 71 | isa = PBXCopyFilesBuildPhase; 72 | buildActionMask = 2147483647; 73 | dstPath = ""; 74 | dstSubfolderSpec = 10; 75 | files = ( 76 | ); 77 | runOnlyForDeploymentPostprocessing = 0; 78 | }; 79 | /* End PBXCopyFilesBuildPhase section */ 80 | 81 | /* Begin PBXFileReference section */ 82 | 00D6D32B84B099226431108C /* ofxOsc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOsc.h; path = ../../../addons/ofxOsc/src/ofxOsc.h; sourceTree = SOURCE_ROOT; }; 83 | 029684CF678F70F6D3537A29 /* OscOutboundPacketStream.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscOutboundPacketStream.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.h; sourceTree = SOURCE_ROOT; }; 84 | 0AED834CE4DEC5260AF302A2 /* ofxOscParameterSync.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxOscParameterSync.cpp; path = ../../../addons/ofxOsc/src/ofxOscParameterSync.cpp; sourceTree = SOURCE_ROOT; }; 85 | 10620EA8C755C6D304D8967B /* ofxControl2dPad.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControl2dPad.cpp; path = ../../../addons/ofxControl/src/ofxControl2dPad.cpp; sourceTree = SOURCE_ROOT; }; 86 | 1E64E04E7DD80799A960DE47 /* ofxControlBase.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlBase.cpp; path = ../../../addons/ofxControl/src/ofxControlBase.cpp; sourceTree = SOURCE_ROOT; }; 87 | 20C5D4414D9A9E6135835F45 /* ofxControlWidgetSelector.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlWidgetSelector.h; path = ../../../addons/ofxControl/src/ofxControlWidgetSelector.h; sourceTree = SOURCE_ROOT; }; 88 | 20F35AFADAF0068B067E713F /* OscReceivedElements.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscReceivedElements.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.h; sourceTree = SOURCE_ROOT; }; 89 | 22351BDC1BF11AD2C7514AAB /* ofxControlSequence.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlSequence.cpp; path = ../../../addons/ofxControl/src/ofxControlSequence.cpp; sourceTree = SOURCE_ROOT; }; 90 | 23640F57DF6C4BB6BFC5DA4C /* PacketListener.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = PacketListener.h; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/PacketListener.h; sourceTree = SOURCE_ROOT; }; 91 | 269154488EC9D81500954456 /* ofxControlPanel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlPanel.cpp; path = ../../../addons/ofxControl/src/ofxControlPanel.cpp; sourceTree = SOURCE_ROOT; }; 92 | 2FD4B0329909D3527F003494 /* UdpSocket.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = UdpSocket.h; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/UdpSocket.h; sourceTree = SOURCE_ROOT; }; 93 | 34AF60074B46DD1515C1AAEA /* ofxControlMultiElement.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlMultiElement.h; path = ../../../addons/ofxControl/src/ofxControlMultiElement.h; sourceTree = SOURCE_ROOT; }; 94 | 3656453C80EAC24F71DB205F /* ofxControlColor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlColor.h; path = ../../../addons/ofxControl/src/ofxControlColor.h; sourceTree = SOURCE_ROOT; }; 95 | 3B361208CD4107E479F04E7B /* NetworkingUtils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = NetworkingUtils.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/posix/NetworkingUtils.cpp; sourceTree = SOURCE_ROOT; }; 96 | 3FF9A5F0C37B2FE4F0C919D4 /* ofxLeapMotion2.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxLeapMotion2.h; path = ../../../addons/ofxLeapMotion2/src/ofxLeapMotion2.h; sourceTree = SOURCE_ROOT; }; 97 | 404909ACC5528A446F86752C /* Base64.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = Base64.cpp; path = ../../../addons/ofxControl/src/Base64.cpp; sourceTree = SOURCE_ROOT; }; 98 | 4167F127380B0C1F252B7FFC /* ofxControlSlider.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlSlider.cpp; path = ../../../addons/ofxControl/src/ofxControlSlider.cpp; sourceTree = SOURCE_ROOT; }; 99 | 444657A12E59D0ED86981498 /* TimerListener.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = TimerListener.h; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/TimerListener.h; sourceTree = SOURCE_ROOT; }; 100 | 4643A14DCC10DA58CAA874B3 /* ofxControlBase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlBase.h; path = ../../../addons/ofxControl/src/ofxControlBase.h; sourceTree = SOURCE_ROOT; }; 101 | 48974F980F51769171D0B2F5 /* IpEndpointName.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = IpEndpointName.h; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/IpEndpointName.h; sourceTree = SOURCE_ROOT; }; 102 | 4DD2FE7F25CD71AEABFAF6E1 /* ofxControlConstants.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlConstants.h; path = ../../../addons/ofxControl/src/ofxControlConstants.h; sourceTree = SOURCE_ROOT; }; 103 | 4E95FB446A9C9C6F0DE12D75 /* OscPrintReceivedElements.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscPrintReceivedElements.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.h; sourceTree = SOURCE_ROOT; }; 104 | 533BC9E677365CAEBABDE32D /* ofxControlMultiSlider.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlMultiSlider.cpp; path = ../../../addons/ofxControl/src/ofxControlMultiSlider.cpp; sourceTree = SOURCE_ROOT; }; 105 | 564E48B1C3AACE6F032AA909 /* ofxControlWidgetSelector.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlWidgetSelector.cpp; path = ../../../addons/ofxControl/src/ofxControlWidgetSelector.cpp; sourceTree = SOURCE_ROOT; }; 106 | 62A4733E6DD24DE0D47F2CD0 /* ofxControlOscManagerPanel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlOscManagerPanel.h; path = ../../../addons/ofxControl/src/ofxControlOscManagerPanel.h; sourceTree = SOURCE_ROOT; }; 107 | 63A47AC60FFAFC3BF093EC0F /* OscOutboundPacketStream.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = OscOutboundPacketStream.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscOutboundPacketStream.cpp; sourceTree = SOURCE_ROOT; }; 108 | 65EEFA3DA3526E9CDD9C21F9 /* ofxOscBundle.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxOscBundle.cpp; path = ../../../addons/ofxOsc/src/ofxOscBundle.cpp; sourceTree = SOURCE_ROOT; }; 109 | 662F7D0ED9FDC77CAEF95D23 /* ofxControlTouchOSC.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlTouchOSC.cpp; path = ../../../addons/ofxControl/src/ofxControlTouchOSC.cpp; sourceTree = SOURCE_ROOT; }; 110 | 6B65E6930994CC4B2D2B8B33 /* OscPacketListener.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscPacketListener.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscPacketListener.h; sourceTree = SOURCE_ROOT; }; 111 | 6B87D47BF06B6B77925306C3 /* ofxControlColor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlColor.cpp; path = ../../../addons/ofxControl/src/ofxControlColor.cpp; sourceTree = SOURCE_ROOT; }; 112 | 6EF27248E0BF8BC17B168BB2 /* ofxControlMidiSequencer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlMidiSequencer.h; path = ../../../addons/ofxControl/src/ofxControlMidiSequencer.h; sourceTree = SOURCE_ROOT; }; 113 | 7689F8A0F3D0B7635A8C3104 /* ofxOscArg.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOscArg.h; path = ../../../addons/ofxOsc/src/ofxOscArg.h; sourceTree = SOURCE_ROOT; }; 114 | 7B8F77474AA8EDABF091DAED /* ofxControlMultiSlider.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlMultiSlider.h; path = ../../../addons/ofxControl/src/ofxControlMultiSlider.h; sourceTree = SOURCE_ROOT; }; 115 | 7F9EDB321DC1CC61E29AE4ED /* ofxControl2dPad.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControl2dPad.h; path = ../../../addons/ofxControl/src/ofxControl2dPad.h; sourceTree = SOURCE_ROOT; }; 116 | 807D0BE41B2AD43FC0A794A0 /* ofxControlMultiRangeSlider.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlMultiRangeSlider.h; path = ../../../addons/ofxControl/src/ofxControlMultiRangeSlider.h; sourceTree = SOURCE_ROOT; }; 117 | 81967292BFC87A0144BD32C6 /* ofxOscSender.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxOscSender.cpp; path = ../../../addons/ofxOsc/src/ofxOscSender.cpp; sourceTree = SOURCE_ROOT; }; 118 | 8208285D2C9338E091E97F1F /* ofxControlSequencer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlSequencer.cpp; path = ../../../addons/ofxControl/src/ofxControlSequencer.cpp; sourceTree = SOURCE_ROOT; }; 119 | 845AD8C70E8C7FD4D65159B3 /* ofxControlOscManagerPanel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlOscManagerPanel.cpp; path = ../../../addons/ofxControl/src/ofxControlOscManagerPanel.cpp; sourceTree = SOURCE_ROOT; }; 120 | 8B30E93FD3D3475EED522A0E /* ofxOscBundle.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOscBundle.h; path = ../../../addons/ofxOsc/src/ofxOscBundle.h; sourceTree = SOURCE_ROOT; }; 121 | 8C75AFC8774A62495DD53464 /* ofxOscReceiver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOscReceiver.h; path = ../../../addons/ofxOsc/src/ofxOscReceiver.h; sourceTree = SOURCE_ROOT; }; 122 | 9482BA25298C3DCFDA00FBFA /* ofxControlSequence.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlSequence.h; path = ../../../addons/ofxControl/src/ofxControlSequence.h; sourceTree = SOURCE_ROOT; }; 123 | 9BF3AA0D4FAA89D0F8A0E545 /* OscReceivedElements.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = OscReceivedElements.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscReceivedElements.cpp; sourceTree = SOURCE_ROOT; }; 124 | 9E52372269152201A84E1731 /* ofxLeapMotion2.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxLeapMotion2.cpp; path = ../../../addons/ofxLeapMotion2/src/ofxLeapMotion2.cpp; sourceTree = SOURCE_ROOT; }; 125 | 9E5823E12CEB695D775A820A /* ofxControlOscManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlOscManager.cpp; path = ../../../addons/ofxControl/src/ofxControlOscManager.cpp; sourceTree = SOURCE_ROOT; }; 126 | 9F7986DC4EB05E75FCE2C777 /* ofxOscSender.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOscSender.h; path = ../../../addons/ofxOsc/src/ofxOscSender.h; sourceTree = SOURCE_ROOT; }; 127 | A0BC68C6C5BA4AD81E1343E4 /* ofxControlTouchOSC.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlTouchOSC.h; path = ../../../addons/ofxControl/src/ofxControlTouchOSC.h; sourceTree = SOURCE_ROOT; }; 128 | A2AAA8CA403479E6FCDF920E /* OscHostEndianness.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscHostEndianness.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscHostEndianness.h; sourceTree = SOURCE_ROOT; }; 129 | A3B86EAF56941B8764FC7183 /* ofxControlButton.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlButton.cpp; path = ../../../addons/ofxControl/src/ofxControlButton.cpp; sourceTree = SOURCE_ROOT; }; 130 | A4000B8368891301277E57D7 /* ofxControlRangeSlider.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlRangeSlider.h; path = ../../../addons/ofxControl/src/ofxControlRangeSlider.h; sourceTree = SOURCE_ROOT; }; 131 | A7F4CB87A218D604222097F4 /* ofxControlMultiElement.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlMultiElement.cpp; path = ../../../addons/ofxControl/src/ofxControlMultiElement.cpp; sourceTree = SOURCE_ROOT; }; 132 | A984A0B78CEFDA3DA2013FEC /* ofxControlTextBox.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlTextBox.h; path = ../../../addons/ofxControl/src/ofxControlTextBox.h; sourceTree = SOURCE_ROOT; }; 133 | AB18FF4B8A5160F1AE00A25F /* ofxControlTextBox.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlTextBox.cpp; path = ../../../addons/ofxControl/src/ofxControlTextBox.cpp; sourceTree = SOURCE_ROOT; }; 134 | AC20D9189D803D8084833916 /* ofxControlBpm.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlBpm.cpp; path = ../../../addons/ofxControl/src/ofxControlBpm.cpp; sourceTree = SOURCE_ROOT; }; 135 | AD811792CEF4ECC6E8EF87B5 /* ofxControlBpm.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlBpm.h; path = ../../../addons/ofxControl/src/ofxControlBpm.h; sourceTree = SOURCE_ROOT; }; 136 | ADD194746185E2DA11468377 /* IpEndpointName.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = IpEndpointName.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/IpEndpointName.cpp; sourceTree = SOURCE_ROOT; }; 137 | AE335EB4709BFD4671EEAC84 /* MessageMappingOscPacketListener.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = MessageMappingOscPacketListener.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/MessageMappingOscPacketListener.h; sourceTree = SOURCE_ROOT; }; 138 | AE7A9C84AD6621E3C2A64A74 /* ofxControlParameter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlParameter.h; path = ../../../addons/ofxControl/src/ofxControlParameter.h; sourceTree = SOURCE_ROOT; }; 139 | B0BD8CBF1C515CD800A60E45 /* LeapMotion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LeapMotion.cpp; sourceTree = ""; }; 140 | B0BD8CC01C515CD800A60E45 /* LeapMotion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LeapMotion.h; sourceTree = ""; }; 141 | B31C608870ECEB2490A93736 /* ofxOscParameterSync.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOscParameterSync.h; path = ../../../addons/ofxOsc/src/ofxOscParameterSync.h; sourceTree = SOURCE_ROOT; }; 142 | B4691993D1234E9CB7374CEB /* ofxControlMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlMenu.h; path = ../../../addons/ofxControl/src/ofxControlMenu.h; sourceTree = SOURCE_ROOT; }; 143 | B49C378AB8D85498C77B7BD3 /* ofxControlButton.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlButton.h; path = ../../../addons/ofxControl/src/ofxControlButton.h; sourceTree = SOURCE_ROOT; }; 144 | BC8881B3C8C0A1C45F042E7A /* OscPrintReceivedElements.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = OscPrintReceivedElements.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscPrintReceivedElements.cpp; sourceTree = SOURCE_ROOT; }; 145 | BD3009DA85F81B966EF0D008 /* ofxControlSlider.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlSlider.h; path = ../../../addons/ofxControl/src/ofxControlSlider.h; sourceTree = SOURCE_ROOT; }; 146 | BE4E186E85EBBFE29FA0378B /* ofxControlMidiSequencer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlMidiSequencer.cpp; path = ../../../addons/ofxControl/src/ofxControlMidiSequencer.cpp; sourceTree = SOURCE_ROOT; }; 147 | C2504D6D58C7E5B3E9BF9500 /* ofxControlElement.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlElement.cpp; path = ../../../addons/ofxControl/src/ofxControlElement.cpp; sourceTree = SOURCE_ROOT; }; 148 | C2D0E563DD28B9867A44D774 /* Leap.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Leap.h; path = ../../../addons/ofxLeapMotion2/libs/include/Leap.h; sourceTree = SOURCE_ROOT; }; 149 | C2FAC65C491D4231379F3298 /* ofxOscReceiver.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxOscReceiver.cpp; path = ../../../addons/ofxOsc/src/ofxOscReceiver.cpp; sourceTree = SOURCE_ROOT; }; 150 | C3DB1ABCB1F5232384668895 /* ofxControlElement.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlElement.h; path = ../../../addons/ofxControl/src/ofxControlElement.h; sourceTree = SOURCE_ROOT; }; 151 | C58862C6D212C8E8A83810F4 /* ofxOscMessage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxOscMessage.h; path = ../../../addons/ofxOsc/src/ofxOscMessage.h; sourceTree = SOURCE_ROOT; }; 152 | C6937888E126BADC8777423B /* OscTypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscTypes.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscTypes.h; sourceTree = SOURCE_ROOT; }; 153 | C8EB310028D19B56B69B2813 /* ofxControlMultiRangeSlider.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlMultiRangeSlider.cpp; path = ../../../addons/ofxControl/src/ofxControlMultiRangeSlider.cpp; sourceTree = SOURCE_ROOT; }; 154 | CB5F06A2158BDC02612E1411 /* ofxControlMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlMenu.cpp; path = ../../../addons/ofxControl/src/ofxControlMenu.cpp; sourceTree = SOURCE_ROOT; }; 155 | CE599C30D4EE3F35EA5374BF /* LeapMath.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = LeapMath.h; path = ../../../addons/ofxLeapMotion2/libs/include/LeapMath.h; sourceTree = SOURCE_ROOT; }; 156 | CE9E5EDC08F844DBE73523D0 /* ofxControlRangeSlider.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlRangeSlider.cpp; path = ../../../addons/ofxControl/src/ofxControlRangeSlider.cpp; sourceTree = SOURCE_ROOT; }; 157 | D0D36A2F928EA0616E0B627E /* ofxControlWidget.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlWidget.h; path = ../../../addons/ofxControl/src/ofxControlWidget.h; sourceTree = SOURCE_ROOT; }; 158 | D74EE72DB86D80070F7849AB /* ofxControlSequencer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlSequencer.h; path = ../../../addons/ofxControl/src/ofxControlSequencer.h; sourceTree = SOURCE_ROOT; }; 159 | D9BFFBBF4CC43DEE890B3C3E /* OscTypes.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = OscTypes.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscTypes.cpp; sourceTree = SOURCE_ROOT; }; 160 | DF49D76C45D5DB505A234880 /* ofxOscMessage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxOscMessage.cpp; path = ../../../addons/ofxOsc/src/ofxOscMessage.cpp; sourceTree = SOURCE_ROOT; }; 161 | E170B79EF66537D65E1AEC1D /* ofxControlPanel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlPanel.h; path = ../../../addons/ofxControl/src/ofxControlPanel.h; sourceTree = SOURCE_ROOT; }; 162 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = openFrameworksLib.xcodeproj; path = ../../../libs/openFrameworksCompiled/project/osx/openFrameworksLib.xcodeproj; sourceTree = SOURCE_ROOT; }; 163 | E460A9913F163CA725633B69 /* ofxControlOscManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControlOscManager.h; path = ../../../addons/ofxControl/src/ofxControlOscManager.h; sourceTree = SOURCE_ROOT; }; 164 | E4B69B5B0A3A1756003C02F2 /* LeapOSCDebug.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LeapOSCDebug.app; sourceTree = BUILT_PRODUCTS_DIR; }; 165 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = src/main.cpp; sourceTree = SOURCE_ROOT; }; 166 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofApp.cpp; path = src/ofApp.cpp; sourceTree = SOURCE_ROOT; }; 167 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ofApp.h; path = src/ofApp.h; sourceTree = SOURCE_ROOT; }; 168 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.xml; path = "openFrameworks-Info.plist"; sourceTree = ""; }; 169 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CoreOF.xcconfig; path = ../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig; sourceTree = SOURCE_ROOT; }; 170 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Project.xcconfig; sourceTree = ""; }; 171 | E6DEF695B88BA5FAACEAA937 /* UdpSocket.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = UdpSocket.cpp; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/posix/UdpSocket.cpp; sourceTree = SOURCE_ROOT; }; 172 | F19D5ADDB295206E2D11D022 /* ofxControlWidget.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 30; name = ofxControlWidget.cpp; path = ../../../addons/ofxControl/src/ofxControlWidget.cpp; sourceTree = SOURCE_ROOT; }; 173 | F4F5B6B8BA2BD52C646ED908 /* OscException.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = OscException.h; path = ../../../addons/ofxOsc/libs/oscpack/src/osc/OscException.h; sourceTree = SOURCE_ROOT; }; 174 | F7FBC56859535E597B24BB91 /* NetworkingUtils.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = NetworkingUtils.h; path = ../../../addons/ofxOsc/libs/oscpack/src/ip/NetworkingUtils.h; sourceTree = SOURCE_ROOT; }; 175 | FAF45AEC9BA542FF69767837 /* ofxControl.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = ofxControl.h; path = ../../../addons/ofxControl/src/ofxControl.h; sourceTree = SOURCE_ROOT; }; 176 | FD858D2019DC626225D01396 /* Base64.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = Base64.h; path = ../../../addons/ofxControl/src/Base64.h; sourceTree = SOURCE_ROOT; }; 177 | /* End PBXFileReference section */ 178 | 179 | /* Begin PBXFrameworksBuildPhase section */ 180 | E4B69B590A3A1756003C02F2 /* Frameworks */ = { 181 | isa = PBXFrameworksBuildPhase; 182 | buildActionMask = 2147483647; 183 | files = ( 184 | E4328149138ABC9F0047C5CB /* openFrameworksDebug.a in Frameworks */, 185 | ); 186 | runOnlyForDeploymentPostprocessing = 0; 187 | }; 188 | /* End PBXFrameworksBuildPhase section */ 189 | 190 | /* Begin PBXGroup section */ 191 | 080C6468CB389159D2CBB422 /* libs */ = { 192 | isa = PBXGroup; 193 | children = ( 194 | 5D229E8F0405ACDFC37A0012 /* include */, 195 | ); 196 | name = libs; 197 | sourceTree = ""; 198 | }; 199 | 157A2C65AD89F30A11EAE48C /* ofxControl */ = { 200 | isa = PBXGroup; 201 | children = ( 202 | 394ADE714A1F85E60B5618AB /* src */, 203 | ); 204 | name = ofxControl; 205 | sourceTree = ""; 206 | }; 207 | 1E69E56363BB709D30E47967 /* ofxLeapMotion2 */ = { 208 | isa = PBXGroup; 209 | children = ( 210 | A0368E24CBB324983870C1DB /* src */, 211 | 080C6468CB389159D2CBB422 /* libs */, 212 | ); 213 | name = ofxLeapMotion2; 214 | sourceTree = ""; 215 | }; 216 | 30CB364908817057B430D528 /* osc */ = { 217 | isa = PBXGroup; 218 | children = ( 219 | AE335EB4709BFD4671EEAC84 /* MessageMappingOscPacketListener.h */, 220 | F4F5B6B8BA2BD52C646ED908 /* OscException.h */, 221 | A2AAA8CA403479E6FCDF920E /* OscHostEndianness.h */, 222 | 63A47AC60FFAFC3BF093EC0F /* OscOutboundPacketStream.cpp */, 223 | 029684CF678F70F6D3537A29 /* OscOutboundPacketStream.h */, 224 | 6B65E6930994CC4B2D2B8B33 /* OscPacketListener.h */, 225 | BC8881B3C8C0A1C45F042E7A /* OscPrintReceivedElements.cpp */, 226 | 4E95FB446A9C9C6F0DE12D75 /* OscPrintReceivedElements.h */, 227 | 9BF3AA0D4FAA89D0F8A0E545 /* OscReceivedElements.cpp */, 228 | 20F35AFADAF0068B067E713F /* OscReceivedElements.h */, 229 | D9BFFBBF4CC43DEE890B3C3E /* OscTypes.cpp */, 230 | C6937888E126BADC8777423B /* OscTypes.h */, 231 | ); 232 | name = osc; 233 | sourceTree = ""; 234 | }; 235 | 38871A5825686AE018EC2BF0 /* libs */ = { 236 | isa = PBXGroup; 237 | children = ( 238 | 86D2677079A3AF4A5A88E29A /* oscpack */, 239 | ); 240 | name = libs; 241 | sourceTree = ""; 242 | }; 243 | 394ADE714A1F85E60B5618AB /* src */ = { 244 | isa = PBXGroup; 245 | children = ( 246 | 404909ACC5528A446F86752C /* Base64.cpp */, 247 | FD858D2019DC626225D01396 /* Base64.h */, 248 | FAF45AEC9BA542FF69767837 /* ofxControl.h */, 249 | 10620EA8C755C6D304D8967B /* ofxControl2dPad.cpp */, 250 | 7F9EDB321DC1CC61E29AE4ED /* ofxControl2dPad.h */, 251 | 1E64E04E7DD80799A960DE47 /* ofxControlBase.cpp */, 252 | 4643A14DCC10DA58CAA874B3 /* ofxControlBase.h */, 253 | AC20D9189D803D8084833916 /* ofxControlBpm.cpp */, 254 | AD811792CEF4ECC6E8EF87B5 /* ofxControlBpm.h */, 255 | A3B86EAF56941B8764FC7183 /* ofxControlButton.cpp */, 256 | B49C378AB8D85498C77B7BD3 /* ofxControlButton.h */, 257 | 6B87D47BF06B6B77925306C3 /* ofxControlColor.cpp */, 258 | 3656453C80EAC24F71DB205F /* ofxControlColor.h */, 259 | 4DD2FE7F25CD71AEABFAF6E1 /* ofxControlConstants.h */, 260 | C2504D6D58C7E5B3E9BF9500 /* ofxControlElement.cpp */, 261 | C3DB1ABCB1F5232384668895 /* ofxControlElement.h */, 262 | CB5F06A2158BDC02612E1411 /* ofxControlMenu.cpp */, 263 | B4691993D1234E9CB7374CEB /* ofxControlMenu.h */, 264 | BE4E186E85EBBFE29FA0378B /* ofxControlMidiSequencer.cpp */, 265 | 6EF27248E0BF8BC17B168BB2 /* ofxControlMidiSequencer.h */, 266 | A7F4CB87A218D604222097F4 /* ofxControlMultiElement.cpp */, 267 | 34AF60074B46DD1515C1AAEA /* ofxControlMultiElement.h */, 268 | C8EB310028D19B56B69B2813 /* ofxControlMultiRangeSlider.cpp */, 269 | 807D0BE41B2AD43FC0A794A0 /* ofxControlMultiRangeSlider.h */, 270 | 533BC9E677365CAEBABDE32D /* ofxControlMultiSlider.cpp */, 271 | 7B8F77474AA8EDABF091DAED /* ofxControlMultiSlider.h */, 272 | 9E5823E12CEB695D775A820A /* ofxControlOscManager.cpp */, 273 | E460A9913F163CA725633B69 /* ofxControlOscManager.h */, 274 | 845AD8C70E8C7FD4D65159B3 /* ofxControlOscManagerPanel.cpp */, 275 | 62A4733E6DD24DE0D47F2CD0 /* ofxControlOscManagerPanel.h */, 276 | 269154488EC9D81500954456 /* ofxControlPanel.cpp */, 277 | E170B79EF66537D65E1AEC1D /* ofxControlPanel.h */, 278 | AE7A9C84AD6621E3C2A64A74 /* ofxControlParameter.h */, 279 | CE9E5EDC08F844DBE73523D0 /* ofxControlRangeSlider.cpp */, 280 | A4000B8368891301277E57D7 /* ofxControlRangeSlider.h */, 281 | 22351BDC1BF11AD2C7514AAB /* ofxControlSequence.cpp */, 282 | 9482BA25298C3DCFDA00FBFA /* ofxControlSequence.h */, 283 | 8208285D2C9338E091E97F1F /* ofxControlSequencer.cpp */, 284 | D74EE72DB86D80070F7849AB /* ofxControlSequencer.h */, 285 | 4167F127380B0C1F252B7FFC /* ofxControlSlider.cpp */, 286 | BD3009DA85F81B966EF0D008 /* ofxControlSlider.h */, 287 | AB18FF4B8A5160F1AE00A25F /* ofxControlTextBox.cpp */, 288 | A984A0B78CEFDA3DA2013FEC /* ofxControlTextBox.h */, 289 | 662F7D0ED9FDC77CAEF95D23 /* ofxControlTouchOSC.cpp */, 290 | A0BC68C6C5BA4AD81E1343E4 /* ofxControlTouchOSC.h */, 291 | F19D5ADDB295206E2D11D022 /* ofxControlWidget.cpp */, 292 | D0D36A2F928EA0616E0B627E /* ofxControlWidget.h */, 293 | 564E48B1C3AACE6F032AA909 /* ofxControlWidgetSelector.cpp */, 294 | 20C5D4414D9A9E6135835F45 /* ofxControlWidgetSelector.h */, 295 | ); 296 | name = src; 297 | sourceTree = ""; 298 | }; 299 | 5D229E8F0405ACDFC37A0012 /* include */ = { 300 | isa = PBXGroup; 301 | children = ( 302 | C2D0E563DD28B9867A44D774 /* Leap.h */, 303 | CE599C30D4EE3F35EA5374BF /* LeapMath.h */, 304 | ); 305 | name = include; 306 | sourceTree = ""; 307 | }; 308 | 641362CA659FAFEE4E81001B /* posix */ = { 309 | isa = PBXGroup; 310 | children = ( 311 | 3B361208CD4107E479F04E7B /* NetworkingUtils.cpp */, 312 | E6DEF695B88BA5FAACEAA937 /* UdpSocket.cpp */, 313 | ); 314 | name = posix; 315 | sourceTree = ""; 316 | }; 317 | 6948EE371B920CB800B5AC1A /* local_addons */ = { 318 | isa = PBXGroup; 319 | children = ( 320 | ); 321 | name = local_addons; 322 | sourceTree = ""; 323 | }; 324 | 86D2677079A3AF4A5A88E29A /* oscpack */ = { 325 | isa = PBXGroup; 326 | children = ( 327 | D27B2221A225CA523C019676 /* src */, 328 | ); 329 | name = oscpack; 330 | sourceTree = ""; 331 | }; 332 | A0368E24CBB324983870C1DB /* src */ = { 333 | isa = PBXGroup; 334 | children = ( 335 | 9E52372269152201A84E1731 /* ofxLeapMotion2.cpp */, 336 | 3FF9A5F0C37B2FE4F0C919D4 /* ofxLeapMotion2.h */, 337 | ); 338 | name = src; 339 | sourceTree = ""; 340 | }; 341 | BB4B014C10F69532006C3DED /* addons */ = { 342 | isa = PBXGroup; 343 | children = ( 344 | 157A2C65AD89F30A11EAE48C /* ofxControl */, 345 | 1E69E56363BB709D30E47967 /* ofxLeapMotion2 */, 346 | E6053AB7FEC63D5F83825B88 /* ofxOsc */, 347 | ); 348 | name = addons; 349 | sourceTree = ""; 350 | }; 351 | BD2F1A9F8D0C05EDB29122D0 /* src */ = { 352 | isa = PBXGroup; 353 | children = ( 354 | 00D6D32B84B099226431108C /* ofxOsc.h */, 355 | 7689F8A0F3D0B7635A8C3104 /* ofxOscArg.h */, 356 | 65EEFA3DA3526E9CDD9C21F9 /* ofxOscBundle.cpp */, 357 | 8B30E93FD3D3475EED522A0E /* ofxOscBundle.h */, 358 | DF49D76C45D5DB505A234880 /* ofxOscMessage.cpp */, 359 | C58862C6D212C8E8A83810F4 /* ofxOscMessage.h */, 360 | 0AED834CE4DEC5260AF302A2 /* ofxOscParameterSync.cpp */, 361 | B31C608870ECEB2490A93736 /* ofxOscParameterSync.h */, 362 | C2FAC65C491D4231379F3298 /* ofxOscReceiver.cpp */, 363 | 8C75AFC8774A62495DD53464 /* ofxOscReceiver.h */, 364 | 81967292BFC87A0144BD32C6 /* ofxOscSender.cpp */, 365 | 9F7986DC4EB05E75FCE2C777 /* ofxOscSender.h */, 366 | ); 367 | name = src; 368 | sourceTree = ""; 369 | }; 370 | D27B2221A225CA523C019676 /* src */ = { 371 | isa = PBXGroup; 372 | children = ( 373 | FF8CDF57858E9B94E3237115 /* ip */, 374 | 30CB364908817057B430D528 /* osc */, 375 | ); 376 | name = src; 377 | sourceTree = ""; 378 | }; 379 | E4328144138ABC890047C5CB /* Products */ = { 380 | isa = PBXGroup; 381 | children = ( 382 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */, 383 | ); 384 | name = Products; 385 | sourceTree = ""; 386 | }; 387 | E4B69B4A0A3A1720003C02F2 = { 388 | isa = PBXGroup; 389 | children = ( 390 | E4B6FCAD0C3E899E008CF71C /* openFrameworks-Info.plist */, 391 | E4EB6923138AFD0F00A09F29 /* Project.xcconfig */, 392 | E4B69E1C0A3A1BDC003C02F2 /* src */, 393 | E4EEC9E9138DF44700A80321 /* openFrameworks */, 394 | BB4B014C10F69532006C3DED /* addons */, 395 | 6948EE371B920CB800B5AC1A /* local_addons */, 396 | E4B69B5B0A3A1756003C02F2 /* LeapOSCDebug.app */, 397 | ); 398 | sourceTree = ""; 399 | }; 400 | E4B69E1C0A3A1BDC003C02F2 /* src */ = { 401 | isa = PBXGroup; 402 | children = ( 403 | E4B69E1D0A3A1BDC003C02F2 /* main.cpp */, 404 | E4B69E1E0A3A1BDC003C02F2 /* ofApp.cpp */, 405 | E4B69E1F0A3A1BDC003C02F2 /* ofApp.h */, 406 | B0BD8CBF1C515CD800A60E45 /* LeapMotion.cpp */, 407 | B0BD8CC01C515CD800A60E45 /* LeapMotion.h */, 408 | ); 409 | path = src; 410 | sourceTree = SOURCE_ROOT; 411 | }; 412 | E4EEC9E9138DF44700A80321 /* openFrameworks */ = { 413 | isa = PBXGroup; 414 | children = ( 415 | E4EB691F138AFCF100A09F29 /* CoreOF.xcconfig */, 416 | E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */, 417 | ); 418 | name = openFrameworks; 419 | sourceTree = ""; 420 | }; 421 | E6053AB7FEC63D5F83825B88 /* ofxOsc */ = { 422 | isa = PBXGroup; 423 | children = ( 424 | BD2F1A9F8D0C05EDB29122D0 /* src */, 425 | 38871A5825686AE018EC2BF0 /* libs */, 426 | ); 427 | name = ofxOsc; 428 | sourceTree = ""; 429 | }; 430 | FF8CDF57858E9B94E3237115 /* ip */ = { 431 | isa = PBXGroup; 432 | children = ( 433 | ADD194746185E2DA11468377 /* IpEndpointName.cpp */, 434 | 48974F980F51769171D0B2F5 /* IpEndpointName.h */, 435 | F7FBC56859535E597B24BB91 /* NetworkingUtils.h */, 436 | 23640F57DF6C4BB6BFC5DA4C /* PacketListener.h */, 437 | 641362CA659FAFEE4E81001B /* posix */, 438 | 444657A12E59D0ED86981498 /* TimerListener.h */, 439 | 2FD4B0329909D3527F003494 /* UdpSocket.h */, 440 | ); 441 | name = ip; 442 | sourceTree = ""; 443 | }; 444 | /* End PBXGroup section */ 445 | 446 | /* Begin PBXNativeTarget section */ 447 | E4B69B5A0A3A1756003C02F2 /* LeapOSC */ = { 448 | isa = PBXNativeTarget; 449 | buildConfigurationList = E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "LeapOSC" */; 450 | buildPhases = ( 451 | E4B69B580A3A1756003C02F2 /* Sources */, 452 | E4B69B590A3A1756003C02F2 /* Frameworks */, 453 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */, 454 | E4C2427710CC5ABF004149E2 /* CopyFiles */, 455 | ); 456 | buildRules = ( 457 | ); 458 | dependencies = ( 459 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */, 460 | ); 461 | name = LeapOSC; 462 | productName = myOFApp; 463 | productReference = E4B69B5B0A3A1756003C02F2 /* LeapOSCDebug.app */; 464 | productType = "com.apple.product-type.application"; 465 | }; 466 | /* End PBXNativeTarget section */ 467 | 468 | /* Begin PBXProject section */ 469 | E4B69B4C0A3A1720003C02F2 /* Project object */ = { 470 | isa = PBXProject; 471 | attributes = { 472 | LastUpgradeCheck = 0600; 473 | }; 474 | buildConfigurationList = E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "LeapOSC" */; 475 | compatibilityVersion = "Xcode 3.2"; 476 | developmentRegion = English; 477 | hasScannedForEncodings = 0; 478 | knownRegions = ( 479 | English, 480 | Japanese, 481 | French, 482 | German, 483 | ); 484 | mainGroup = E4B69B4A0A3A1720003C02F2; 485 | productRefGroup = E4B69B4A0A3A1720003C02F2; 486 | projectDirPath = ""; 487 | projectReferences = ( 488 | { 489 | ProductGroup = E4328144138ABC890047C5CB /* Products */; 490 | ProjectRef = E4328143138ABC890047C5CB /* openFrameworksLib.xcodeproj */; 491 | }, 492 | ); 493 | projectRoot = ""; 494 | targets = ( 495 | E4B69B5A0A3A1756003C02F2 /* LeapOSC */, 496 | ); 497 | }; 498 | /* End PBXProject section */ 499 | 500 | /* Begin PBXReferenceProxy section */ 501 | E4328148138ABC890047C5CB /* openFrameworksDebug.a */ = { 502 | isa = PBXReferenceProxy; 503 | fileType = archive.ar; 504 | path = openFrameworksDebug.a; 505 | remoteRef = E4328147138ABC890047C5CB /* PBXContainerItemProxy */; 506 | sourceTree = BUILT_PRODUCTS_DIR; 507 | }; 508 | /* End PBXReferenceProxy section */ 509 | 510 | /* Begin PBXShellScriptBuildPhase section */ 511 | E4B6FFFD0C3F9AB9008CF71C /* ShellScript */ = { 512 | isa = PBXShellScriptBuildPhase; 513 | buildActionMask = 2147483647; 514 | files = ( 515 | ); 516 | inputPaths = ( 517 | ); 518 | outputPaths = ( 519 | ); 520 | runOnlyForDeploymentPostprocessing = 0; 521 | shellPath = /bin/sh; 522 | shellScript = "cp -f ../../../libs/fmodex/lib/osx/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libfmodex.dylib\"; install_name_tool -change ./libfmodex.dylib @executable_path/libfmodex.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\n\ncp -f ../../../addons/ofxLeapMotion2/libs/lib/osx/libLeap.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/libLeap.dylib\"; install_name_tool -change ./libLeap.dylib @executable_path/libLeap.dylib \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/MacOS/$PRODUCT_NAME\";\n\nmkdir -p \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\ncp -f \"$ICON_FILE\" \"$TARGET_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources/\"\n"; 523 | }; 524 | /* End PBXShellScriptBuildPhase section */ 525 | 526 | /* Begin PBXSourcesBuildPhase section */ 527 | E4B69B580A3A1756003C02F2 /* Sources */ = { 528 | isa = PBXSourcesBuildPhase; 529 | buildActionMask = 2147483647; 530 | files = ( 531 | E4B69E200A3A1BDC003C02F2 /* main.cpp in Sources */, 532 | E4B69E210A3A1BDC003C02F2 /* ofApp.cpp in Sources */, 533 | 7E0D2586B97EF28DB0017DB3 /* Base64.cpp in Sources */, 534 | FF7BA513209CDD286F654554 /* ofxControl2dPad.cpp in Sources */, 535 | F1440B2964FFEB3D7AC16B22 /* ofxControlBase.cpp in Sources */, 536 | C3FEF526228167DB279C9FF5 /* ofxControlBpm.cpp in Sources */, 537 | C597C10C7D9050F80877DD20 /* ofxControlButton.cpp in Sources */, 538 | 5E4226BDBF92E688E1485262 /* ofxControlColor.cpp in Sources */, 539 | 83DE18C337910BECFBAF93EC /* ofxControlElement.cpp in Sources */, 540 | 8214BBF315F3FE8E7AA53A09 /* ofxControlMenu.cpp in Sources */, 541 | ADEF2710D82C61E7575D77D6 /* ofxControlMidiSequencer.cpp in Sources */, 542 | 95EA8D90BEDFB3F392C5FC19 /* ofxControlMultiElement.cpp in Sources */, 543 | D05B2602C55B08AC8246D30B /* ofxControlMultiRangeSlider.cpp in Sources */, 544 | 3480F2593A7D2D1185A58BD2 /* ofxControlMultiSlider.cpp in Sources */, 545 | B105619F131F2CBAAD643A04 /* ofxControlOscManager.cpp in Sources */, 546 | 87EF2AD666DD3859D3EAC437 /* ofxControlOscManagerPanel.cpp in Sources */, 547 | 17702BA79B8951D3E67D731E /* ofxControlPanel.cpp in Sources */, 548 | FA337D41E6D268A025CF8F87 /* ofxControlRangeSlider.cpp in Sources */, 549 | 54D2AFE4CAB9E9987184B8CB /* ofxControlSequence.cpp in Sources */, 550 | 5B19D7CDA0DA2D6E32C98BFB /* ofxControlSequencer.cpp in Sources */, 551 | CF73E623A0339945CEE95761 /* ofxControlSlider.cpp in Sources */, 552 | 7AD6D29D26362072A946396B /* ofxControlTextBox.cpp in Sources */, 553 | 65409860C43A30769CCA1948 /* ofxControlTouchOSC.cpp in Sources */, 554 | 2441ABB8D077D1710B674B6B /* ofxControlWidget.cpp in Sources */, 555 | C63E3138C0C0B49FE26B6DC2 /* ofxControlWidgetSelector.cpp in Sources */, 556 | C9DC019415D847EB51DAA13F /* ofxLeapMotion2.cpp in Sources */, 557 | 72A929D3561B8232A182ABFC /* ofxOscBundle.cpp in Sources */, 558 | 5864AD82E20F15536D054EA3 /* ofxOscMessage.cpp in Sources */, 559 | 4ADB88E2FB52E76A471065DE /* ofxOscParameterSync.cpp in Sources */, 560 | 640279EE111671BD026CB013 /* ofxOscReceiver.cpp in Sources */, 561 | 8F5205AEF8861EF234F0651A /* ofxOscSender.cpp in Sources */, 562 | B0BD8CC11C515CD800A60E45 /* LeapMotion.cpp in Sources */, 563 | ADE367465D2A8EBAD4C7A8D9 /* IpEndpointName.cpp in Sources */, 564 | 67FE4C7B15C2F0478C8126C2 /* NetworkingUtils.cpp in Sources */, 565 | 510CAFE035E576A4E1502D52 /* UdpSocket.cpp in Sources */, 566 | 62545D179C94265CA1389D4A /* OscOutboundPacketStream.cpp in Sources */, 567 | C4782ECC372420ACE0615B74 /* OscPrintReceivedElements.cpp in Sources */, 568 | 0546D1A38E13BD319CC9755B /* OscReceivedElements.cpp in Sources */, 569 | 879A251454401BC0B6E4F238 /* OscTypes.cpp in Sources */, 570 | ); 571 | runOnlyForDeploymentPostprocessing = 0; 572 | }; 573 | /* End PBXSourcesBuildPhase section */ 574 | 575 | /* Begin PBXTargetDependency section */ 576 | E4EEB9AC138B136A00A80321 /* PBXTargetDependency */ = { 577 | isa = PBXTargetDependency; 578 | name = openFrameworks; 579 | targetProxy = E4EEB9AB138B136A00A80321 /* PBXContainerItemProxy */; 580 | }; 581 | /* End PBXTargetDependency section */ 582 | 583 | /* Begin XCBuildConfiguration section */ 584 | E4B69B4E0A3A1720003C02F2 /* Debug */ = { 585 | isa = XCBuildConfiguration; 586 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 587 | buildSettings = { 588 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 589 | COPY_PHASE_STRIP = NO; 590 | DEAD_CODE_STRIPPING = YES; 591 | GCC_AUTO_VECTORIZATION = YES; 592 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 593 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 594 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 595 | GCC_OPTIMIZATION_LEVEL = 0; 596 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 597 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 598 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 599 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 600 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 601 | GCC_WARN_UNUSED_VALUE = NO; 602 | GCC_WARN_UNUSED_VARIABLE = NO; 603 | HEADER_SEARCH_PATHS = ( 604 | "$(OF_CORE_HEADERS)", 605 | ../../../addons/ofxControl/src, 606 | ../../../addons/ofxLeapMotion2/libs, 607 | ../../../addons/ofxLeapMotion2/libs/include, 608 | ../../../addons/ofxLeapMotion2/libs/lib, 609 | ../../../addons/ofxLeapMotion2/libs/lib/osx, 610 | ../../../addons/ofxLeapMotion2/libs/lib/winvs, 611 | ../../../addons/ofxLeapMotion2/src, 612 | ../../../addons/ofxOsc/libs, 613 | ../../../addons/ofxOsc/libs/oscpack, 614 | ../../../addons/ofxOsc/libs/oscpack/src, 615 | ../../../addons/ofxOsc/libs/oscpack/src/ip, 616 | ../../../addons/ofxOsc/libs/oscpack/src/ip/posix, 617 | ../../../addons/ofxOsc/libs/oscpack/src/ip/win32, 618 | ../../../addons/ofxOsc/libs/oscpack/src/osc, 619 | ../../../addons/ofxOsc/src, 620 | ); 621 | MACOSX_DEPLOYMENT_TARGET = 10.8; 622 | ONLY_ACTIVE_ARCH = YES; 623 | OTHER_CPLUSPLUSFLAGS = ( 624 | "-D__MACOSX_CORE__", 625 | "-mtune=native", 626 | ); 627 | OTHER_LDFLAGS = ( 628 | "$(OF_CORE_FRAMEWORKS)", 629 | "$(OF_CORE_LIBS)", 630 | ../../../addons/ofxLeapMotion2/libs/lib/osx/libLeap.dylib, 631 | ); 632 | SDKROOT = macosx; 633 | }; 634 | name = Debug; 635 | }; 636 | E4B69B4F0A3A1720003C02F2 /* Release */ = { 637 | isa = XCBuildConfiguration; 638 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 639 | buildSettings = { 640 | CONFIGURATION_BUILD_DIR = "$(SRCROOT)/bin/"; 641 | COPY_PHASE_STRIP = YES; 642 | DEAD_CODE_STRIPPING = YES; 643 | GCC_AUTO_VECTORIZATION = YES; 644 | GCC_ENABLE_SSE3_EXTENSIONS = YES; 645 | GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; 646 | GCC_INLINES_ARE_PRIVATE_EXTERN = NO; 647 | GCC_OPTIMIZATION_LEVEL = 3; 648 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 649 | GCC_UNROLL_LOOPS = YES; 650 | GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; 651 | GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; 652 | GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; 653 | GCC_WARN_UNINITIALIZED_AUTOS = NO; 654 | GCC_WARN_UNUSED_VALUE = NO; 655 | GCC_WARN_UNUSED_VARIABLE = NO; 656 | HEADER_SEARCH_PATHS = ( 657 | "$(OF_CORE_HEADERS)", 658 | ../../../addons/ofxControl/src, 659 | ../../../addons/ofxLeapMotion2/libs, 660 | ../../../addons/ofxLeapMotion2/libs/include, 661 | ../../../addons/ofxLeapMotion2/libs/lib, 662 | ../../../addons/ofxLeapMotion2/libs/lib/osx, 663 | ../../../addons/ofxLeapMotion2/libs/lib/winvs, 664 | ../../../addons/ofxLeapMotion2/src, 665 | ../../../addons/ofxOsc/libs, 666 | ../../../addons/ofxOsc/libs/oscpack, 667 | ../../../addons/ofxOsc/libs/oscpack/src, 668 | ../../../addons/ofxOsc/libs/oscpack/src/ip, 669 | ../../../addons/ofxOsc/libs/oscpack/src/ip/posix, 670 | ../../../addons/ofxOsc/libs/oscpack/src/ip/win32, 671 | ../../../addons/ofxOsc/libs/oscpack/src/osc, 672 | ../../../addons/ofxOsc/src, 673 | ); 674 | MACOSX_DEPLOYMENT_TARGET = 10.8; 675 | OTHER_CPLUSPLUSFLAGS = ( 676 | "-D__MACOSX_CORE__", 677 | "-mtune=native", 678 | ); 679 | OTHER_LDFLAGS = ( 680 | "$(OF_CORE_FRAMEWORKS)", 681 | "$(OF_CORE_LIBS)", 682 | ../../../addons/ofxLeapMotion2/libs/lib/osx/libLeap.dylib, 683 | ); 684 | SDKROOT = macosx; 685 | }; 686 | name = Release; 687 | }; 688 | E4B69B600A3A1757003C02F2 /* Debug */ = { 689 | isa = XCBuildConfiguration; 690 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 691 | buildSettings = { 692 | COMBINE_HIDPI_IMAGES = YES; 693 | COPY_PHASE_STRIP = NO; 694 | FRAMEWORK_SEARCH_PATHS = ( 695 | "$(inherited)", 696 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 697 | ); 698 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 699 | GCC_DYNAMIC_NO_PIC = NO; 700 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 701 | GCC_MODEL_TUNING = NONE; 702 | HEADER_SEARCH_PATHS = ( 703 | "$(OF_CORE_HEADERS)", 704 | ../../../addons/ofxControl/src, 705 | ../../../addons/ofxLeapMotion2/libs, 706 | ../../../addons/ofxLeapMotion2/libs/include, 707 | ../../../addons/ofxLeapMotion2/libs/lib, 708 | ../../../addons/ofxLeapMotion2/libs/lib/osx, 709 | ../../../addons/ofxLeapMotion2/libs/lib/winvs, 710 | ../../../addons/ofxLeapMotion2/src, 711 | ../../../addons/ofxOsc/libs, 712 | ../../../addons/ofxOsc/libs/oscpack, 713 | ../../../addons/ofxOsc/libs/oscpack/src, 714 | ../../../addons/ofxOsc/libs/oscpack/src/ip, 715 | ../../../addons/ofxOsc/libs/oscpack/src/ip/posix, 716 | ../../../addons/ofxOsc/libs/oscpack/src/ip/win32, 717 | ../../../addons/ofxOsc/libs/oscpack/src/osc, 718 | ../../../addons/ofxOsc/src, 719 | ); 720 | ICON = "$(ICON_NAME_DEBUG)"; 721 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 722 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 723 | INSTALL_PATH = "$(HOME)/Applications"; 724 | LIBRARY_SEARCH_PATHS = "$(inherited)"; 725 | OTHER_LDFLAGS = ( 726 | "$(OF_CORE_FRAMEWORKS)", 727 | "$(OF_CORE_LIBS)", 728 | ../../../addons/ofxLeapMotion2/libs/lib/osx/libLeap.dylib, 729 | ); 730 | PRODUCT_NAME = "$(TARGET_NAME)Debug"; 731 | WRAPPER_EXTENSION = app; 732 | }; 733 | name = Debug; 734 | }; 735 | E4B69B610A3A1757003C02F2 /* Release */ = { 736 | isa = XCBuildConfiguration; 737 | baseConfigurationReference = E4EB6923138AFD0F00A09F29 /* Project.xcconfig */; 738 | buildSettings = { 739 | COMBINE_HIDPI_IMAGES = YES; 740 | COPY_PHASE_STRIP = YES; 741 | FRAMEWORK_SEARCH_PATHS = ( 742 | "$(inherited)", 743 | "$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)", 744 | ); 745 | FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/../../../libs/glut/lib/osx\""; 746 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 747 | GCC_MODEL_TUNING = NONE; 748 | HEADER_SEARCH_PATHS = ( 749 | "$(OF_CORE_HEADERS)", 750 | ../../../addons/ofxControl/src, 751 | ../../../addons/ofxLeapMotion2/libs, 752 | ../../../addons/ofxLeapMotion2/libs/include, 753 | ../../../addons/ofxLeapMotion2/libs/lib, 754 | ../../../addons/ofxLeapMotion2/libs/lib/osx, 755 | ../../../addons/ofxLeapMotion2/libs/lib/winvs, 756 | ../../../addons/ofxLeapMotion2/src, 757 | ../../../addons/ofxOsc/libs, 758 | ../../../addons/ofxOsc/libs/oscpack, 759 | ../../../addons/ofxOsc/libs/oscpack/src, 760 | ../../../addons/ofxOsc/libs/oscpack/src/ip, 761 | ../../../addons/ofxOsc/libs/oscpack/src/ip/posix, 762 | ../../../addons/ofxOsc/libs/oscpack/src/ip/win32, 763 | ../../../addons/ofxOsc/libs/oscpack/src/osc, 764 | ../../../addons/ofxOsc/src, 765 | ); 766 | ICON = "$(ICON_NAME_RELEASE)"; 767 | ICON_FILE = "$(ICON_FILE_PATH)$(ICON)"; 768 | INFOPLIST_FILE = "openFrameworks-Info.plist"; 769 | INSTALL_PATH = "$(HOME)/Applications"; 770 | LIBRARY_SEARCH_PATHS = "$(inherited)"; 771 | OTHER_LDFLAGS = ( 772 | "$(OF_CORE_FRAMEWORKS)", 773 | "$(OF_CORE_LIBS)", 774 | ../../../addons/ofxLeapMotion2/libs/lib/osx/libLeap.dylib, 775 | ); 776 | PRODUCT_NAME = "$(TARGET_NAME)"; 777 | WRAPPER_EXTENSION = app; 778 | baseConfigurationReference = E4EB6923138AFD0F00A09F29; 779 | }; 780 | name = Release; 781 | }; 782 | /* End XCBuildConfiguration section */ 783 | 784 | /* Begin XCConfigurationList section */ 785 | E4B69B4D0A3A1720003C02F2 /* Build configuration list for PBXProject "LeapOSC" */ = { 786 | isa = XCConfigurationList; 787 | buildConfigurations = ( 788 | E4B69B4E0A3A1720003C02F2 /* Debug */, 789 | E4B69B4F0A3A1720003C02F2 /* Release */, 790 | ); 791 | defaultConfigurationIsVisible = 0; 792 | defaultConfigurationName = Release; 793 | }; 794 | E4B69B5F0A3A1757003C02F2 /* Build configuration list for PBXNativeTarget "LeapOSC" */ = { 795 | isa = XCConfigurationList; 796 | buildConfigurations = ( 797 | E4B69B600A3A1757003C02F2 /* Debug */, 798 | E4B69B610A3A1757003C02F2 /* Release */, 799 | ); 800 | defaultConfigurationIsVisible = 0; 801 | defaultConfigurationName = Release; 802 | }; 803 | /* End XCConfigurationList section */ 804 | }; 805 | rootObject = E4B69B4C0A3A1720003C02F2 /* Project object */; 806 | } 807 | -------------------------------------------------------------------------------- /LeapOSC.xcodeproj/project.xcworkspace/xcuserdata/gene.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/genekogan/LeapMotionOSC/ba4b37648e3d14d2ffcd5a4b82edc52ba563cb5e/LeapOSC.xcodeproj/project.xcworkspace/xcuserdata/gene.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /LeapOSC.xcodeproj/xcshareddata/xcschemes/LeapOSC Debug.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /LeapOSC.xcodeproj/xcshareddata/xcschemes/LeapOSC Release.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 51 | 52 | 58 | 59 | 60 | 61 | 62 | 63 | 69 | 70 | 76 | 77 | 78 | 79 | 81 | 82 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /LeapOSC.xcodeproj/xcuserdata/gene.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /LeapOSC.xcodeproj/xcuserdata/gene.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SuppressBuildableAutocreation 6 | 7 | E4B69B5A0A3A1756003C02F2 8 | 9 | primary 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Attempt to load a config.make file. 2 | # If none is found, project defaults in config.project.make will be used. 3 | ifneq ($(wildcard config.make),) 4 | include config.make 5 | endif 6 | 7 | # make sure the the OF_ROOT location is defined 8 | ifndef OF_ROOT 9 | OF_ROOT=$(realpath ../../..) 10 | endif 11 | 12 | # call the project makefile! 13 | include $(OF_ROOT)/libs/openFrameworksCompiled/project/makefileCommon/compile.project.mk 14 | -------------------------------------------------------------------------------- /Project.xcconfig: -------------------------------------------------------------------------------- 1 | //THE PATH TO THE ROOT OF OUR OF PATH RELATIVE TO THIS PROJECT. 2 | //THIS NEEDS TO BE DEFINED BEFORE CoreOF.xcconfig IS INCLUDED 3 | OF_PATH = ../../.. 4 | 5 | //THIS HAS ALL THE HEADER AND LIBS FOR OF CORE 6 | #include "../../../libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig" 7 | 8 | //ICONS - NEW IN 0072 9 | ICON_NAME_DEBUG = icon-debug.icns 10 | ICON_NAME_RELEASE = icon.icns 11 | ICON_FILE_PATH = $(OF_PATH)/libs/openFrameworksCompiled/project/osx/ 12 | 13 | //IF YOU WANT AN APP TO HAVE A CUSTOM ICON - PUT THEM IN YOUR DATA FOLDER AND CHANGE ICON_FILE_PATH to: 14 | //ICON_FILE_PATH = bin/data/ 15 | 16 | OTHER_LDFLAGS = $(OF_CORE_LIBS) $(OF_CORE_FRAMEWORKS) 17 | HEADER_SEARCH_PATHS = $(OF_CORE_HEADERS) 18 | -------------------------------------------------------------------------------- /addons.make: -------------------------------------------------------------------------------- 1 | ofxControl 2 | ofxLeapMotion2 3 | ofxOsc 4 | -------------------------------------------------------------------------------- /bin/data/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/genekogan/LeapMotionOSC/ba4b37648e3d14d2ffcd5a4b82edc52ba563cb5e/bin/data/.gitkeep -------------------------------------------------------------------------------- /config.make: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # CONFIGURE PROJECT MAKEFILE (optional) 3 | # This file is where we make project specific configurations. 4 | ################################################################################ 5 | 6 | ################################################################################ 7 | # OF ROOT 8 | # The location of your root openFrameworks installation 9 | # (default) OF_ROOT = ../../.. 10 | ################################################################################ 11 | # OF_ROOT = ../../.. 12 | 13 | ################################################################################ 14 | # PROJECT ROOT 15 | # The location of the project - a starting place for searching for files 16 | # (default) PROJECT_ROOT = . (this directory) 17 | # 18 | ################################################################################ 19 | # PROJECT_ROOT = . 20 | 21 | ################################################################################ 22 | # PROJECT SPECIFIC CHECKS 23 | # This is a project defined section to create internal makefile flags to 24 | # conditionally enable or disable the addition of various features within 25 | # this makefile. For instance, if you want to make changes based on whether 26 | # GTK is installed, one might test that here and create a variable to check. 27 | ################################################################################ 28 | # None 29 | 30 | ################################################################################ 31 | # PROJECT EXTERNAL SOURCE PATHS 32 | # These are fully qualified paths that are not within the PROJECT_ROOT folder. 33 | # Like source folders in the PROJECT_ROOT, these paths are subject to 34 | # exlclusion via the PROJECT_EXLCUSIONS list. 35 | # 36 | # (default) PROJECT_EXTERNAL_SOURCE_PATHS = (blank) 37 | # 38 | # Note: Leave a leading space when adding list items with the += operator 39 | ################################################################################ 40 | # PROJECT_EXTERNAL_SOURCE_PATHS = 41 | 42 | ################################################################################ 43 | # PROJECT EXCLUSIONS 44 | # These makefiles assume that all folders in your current project directory 45 | # and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations 46 | # to look for source code. The any folders or files that match any of the 47 | # items in the PROJECT_EXCLUSIONS list below will be ignored. 48 | # 49 | # Each item in the PROJECT_EXCLUSIONS list will be treated as a complete 50 | # string unless teh user adds a wildcard (%) operator to match subdirectories. 51 | # GNU make only allows one wildcard for matching. The second wildcard (%) is 52 | # treated literally. 53 | # 54 | # (default) PROJECT_EXCLUSIONS = (blank) 55 | # 56 | # Will automatically exclude the following: 57 | # 58 | # $(PROJECT_ROOT)/bin% 59 | # $(PROJECT_ROOT)/obj% 60 | # $(PROJECT_ROOT)/%.xcodeproj 61 | # 62 | # Note: Leave a leading space when adding list items with the += operator 63 | ################################################################################ 64 | # PROJECT_EXCLUSIONS = 65 | 66 | ################################################################################ 67 | # PROJECT LINKER FLAGS 68 | # These flags will be sent to the linker when compiling the executable. 69 | # 70 | # (default) PROJECT_LDFLAGS = -Wl,-rpath=./libs 71 | # 72 | # Note: Leave a leading space when adding list items with the += operator 73 | ################################################################################ 74 | 75 | # Currently, shared libraries that are needed are copied to the 76 | # $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to 77 | # add a runtime path to search for those shared libraries, since they aren't 78 | # incorporated directly into the final executable application binary. 79 | # TODO: should this be a default setting? 80 | # PROJECT_LDFLAGS=-Wl,-rpath=./libs 81 | 82 | ################################################################################ 83 | # PROJECT DEFINES 84 | # Create a space-delimited list of DEFINES. The list will be converted into 85 | # CFLAGS with the "-D" flag later in the makefile. 86 | # 87 | # (default) PROJECT_DEFINES = (blank) 88 | # 89 | # Note: Leave a leading space when adding list items with the += operator 90 | ################################################################################ 91 | # PROJECT_DEFINES = 92 | 93 | ################################################################################ 94 | # PROJECT CFLAGS 95 | # This is a list of fully qualified CFLAGS required when compiling for this 96 | # project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS 97 | # defined in your platform specific core configuration files. These flags are 98 | # presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below. 99 | # 100 | # (default) PROJECT_CFLAGS = (blank) 101 | # 102 | # Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in 103 | # your platform specific configuration file will be applied by default and 104 | # further flags here may not be needed. 105 | # 106 | # Note: Leave a leading space when adding list items with the += operator 107 | ################################################################################ 108 | # PROJECT_CFLAGS = 109 | 110 | ################################################################################ 111 | # PROJECT OPTIMIZATION CFLAGS 112 | # These are lists of CFLAGS that are target-specific. While any flags could 113 | # be conditionally added, they are usually limited to optimization flags. 114 | # These flags are added BEFORE the PROJECT_CFLAGS. 115 | # 116 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets. 117 | # 118 | # (default) PROJECT_OPTIMIZATION_CFLAGS_RELEASE = (blank) 119 | # 120 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets. 121 | # 122 | # (default) PROJECT_OPTIMIZATION_CFLAGS_DEBUG = (blank) 123 | # 124 | # Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the 125 | # PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration 126 | # file will be applied by default and further optimization flags here may not 127 | # be needed. 128 | # 129 | # Note: Leave a leading space when adding list items with the += operator 130 | ################################################################################ 131 | # PROJECT_OPTIMIZATION_CFLAGS_RELEASE = 132 | # PROJECT_OPTIMIZATION_CFLAGS_DEBUG = 133 | 134 | ################################################################################ 135 | # PROJECT COMPILERS 136 | # Custom compilers can be set for CC and CXX 137 | # (default) PROJECT_CXX = (blank) 138 | # (default) PROJECT_CC = (blank) 139 | # Note: Leave a leading space when adding list items with the += operator 140 | ################################################################################ 141 | # PROJECT_CXX = 142 | # PROJECT_CC = 143 | -------------------------------------------------------------------------------- /documentation/LeapOSC_Output_Map.txt: -------------------------------------------------------------------------------- 1 | LeapOSC Output Map 2 | LEFT HAND 3 | 1. Left hand x-pos: lhp.x (lhp = leap.getLeftHandPosition()) 4 | 2. Left hand y-pos: lhp.y (lhp = leap.getLeftHandPosition()) 5 | 3. Left hand z-pos: lhp.z (lhp = leap.getLeftHandPosition()) 6 | 4. Left hand x-velocity: lhv.x (lhv = leap.getLeftHandVelocity()) 7 | 5. Left hand y-velocity: lhv.y (lhv = leap.getLeftHandVelocity()) 8 | 6. Left hand z-velocity: lhv.z (lhv = leap.getLeftHandVelocity()) 9 | 7. Left thumb x-pos: ltips[0].x (ltips = leap.getLeftHandFingerTips()) (left thumb x-pos) 10 | 8. Left thumb y-pos: ltips[0].y (ltips = leap.getLeftHandFingerTips()) (left thumb y-pos) 11 | 9. Left thumb z-pos: ltips[0].z (ltips = leap.getLeftHandFingerTips()) (left thumb z-pos) 12 | 10. Left index x-pos: ltips[1].x (ltips = leap.getLeftHandFingerTips()) (left index x-pos) 13 | 11. Left index y-pos: ltips[1].y (ltips = leap.getLeftHandFingerTips()) (left index y-pos) 14 | 12. Left index z-pos: ltips[1].z (ltips = leap.getLeftHandFingerTips()) (left index z-pos) 15 | 13. Left middle x-pos: ltips[2].x (ltips = leap.getLeftHandFingerTips()) (left middle x-pos) 16 | 14. Left middle y-pos: ltips[2].y (ltips = leap.getLeftHandFingerTips()) (left middle y-pos) 17 | 15. Left middle z-pos: ltips[2].z (ltips = leap.getLeftHandFingerTips()) (left middle z-pos) 18 | 16. Left ring x-pos: ltips[3].x (ltips = leap.getLeftHandFingerTips()) (left ring x-pos) 19 | 17. Left ring y-pos: ltips[3].y (ltips = leap.getLeftHandFingerTips()) (left ring y-pos) 20 | 18. Left ring z-pos: ltips[3].z (ltips = leap.getLeftHandFingerTips()) (left ring z-pos) 21 | 19. Left pinky x-pos: ltips[4].x (ltips = leap.getLeftHandFingerTips()) (left pinky x-pos) 22 | 20. Left pinky y-pos: ltips[4].y (ltips = leap.getLeftHandFingerTips()) (left pinky y-pos) 23 | 21. Left pinky z-pos: ltips[4].z (ltips = leap.getLeftHandFingerTips()) (left pinky z-pos) 24 | 22. Left hand size: lohs (lohs = leap.getLeftOpenHandSize()) 25 | 23. Left hand x-normal: lhn.x (lhn = leap.getLeftHandNormal()) 26 | 24. Left hand y-normal: lhn.y (lhn = leap.getLeftHandNormal()) 27 | 25. Left hand z-normal: lhn.z (lhn = leap.getLeftHandNormal()) 28 | 26. Left hand x-direction: lhd.x (lhd = leap.getLeftHandDirection()) 29 | 27. Left hand y-direction: lhd.y (lhd = leap.getLeftHandDirection()) 30 | 28. Left hand z-direction: lhd.z (lhd = leap.getLeftHandDirection()) 31 | 29. Left hand roll: lhr (lhr = leap.getLeftHandRoll()) 32 | 30. Left hand pitch: lhpt (lhpt = leap.getLeftHandPitch()) 33 | 31. Left hand yaw: lhw (lhw = leap.getLeftHandYaw()) 34 | 35 | RIGHT HAND 36 | 32. Right hand x-pos: rhp.x (rhp = leap.getRightHandPosition()) 37 | 33. Right hand y-pos: rhp.y (rhp = leap.getRightHandPosition()) 38 | 34. Right hand z-pos: rhp.z (rhp = leap.getRightHandPosition()) 39 | 35. Right hand x-velocity: rhv.x (leap.getRightHandVelocity()) 40 | 36. Right hand y-velocity: rhv.y (leap.getRightHandVelocity()) 41 | 37. Right hand z-velocity: rhv.z (leap.getRightHandVelocity()) 42 | 38. Right thumb x-pos: rtips[0].x (rtips = leap.getRightHandFingerTips()) (right thumb x-pos) 43 | 39. Right thumb y-pos: rtips[0].x (rtips = leap.getRightHandFingerTips()) (right thumb y-pos) 44 | 40. Right thumb z-pos: rtips[0].x (rtips = leap.getRightHandFingerTips()) (right thumb z-pos) 45 | 41. Right index x-pos: rtips[1].x (rtips = leap.getRightHandFingerTips()) (right index x-pos) 46 | 42. Right index y-pos: rtips[1].y (rtips = leap.getRightHandFingerTips()) (right index y-pos) 47 | 43. Right index z-pos: rtips[1].z (rtips = leap.getRightHandFingerTips()) (right index z-pos) 48 | 44. Right middle x-pos: rtips[2].x (rtips = leap.getRightHandFingerTips()) (right middle x-pos) 49 | 45. Right middle y-pos: rtips[2].y (rtips = leap.getRightHandFingerTips()) (right middle y-pos) 50 | 46. Right middle z-pos: rtips[2].z (rtips = leap.getRightHandFingerTips()) (right middle z-pos) 51 | 47. Right ring x-pos: rtips[3].x (rtips = leap.getRightHandFingerTips()) (right ring x-pos) 52 | 48. Right ring y-pos: rtips[3].y (rtips = leap.getRightHandFingerTips()) (right ring y-pos) 53 | 49. Right ring z-pos: rtips[3].z (rtips = leap.getRightHandFingerTips()) (right ring z-pos) 54 | 50. Right pinky x-pos: rtips[4].x (rtips = leap.getRightHandFingerTips()) (right pinky x-pos) 55 | 51. Right pinky y-pos: rtips[4].y (rtips = leap.getRightHandFingerTips()) (right pinky y-pos) 56 | 52. Right pinky z-pos: rtips[4].z (rtips = leap.getRightHandFingerTips()) (right pinky z-pos) 57 | 53. Right hand size: rohs (rohs = leap.getRightOpenHandSize()) 58 | 54. Right hand x-normal: rhn.x (rhn = leap.getRightHandNormal()) 59 | 55. Right hand y-normal: rhn.y (rhn = leap.getRightHandNormal()) 60 | 56. Right hand z-normal: rhn.z (rhn = leap.getRightHandNormal()) 61 | 57. Right hand x-direction: rhd.x (rhd = leap.getRightHandDirection()) 62 | 58. Right hand y-direction: rhd.y (rhd = leap.getRightHandDirection()) 63 | 59. Right hand z-direction: rhd.z (rhd = leap.getRightHandDirection()) 64 | 60. Right hand roll: rhr (rhr = leap.getRightHandRoll()) 65 | 61. Right hand pitch: rhpt (rhpt = leap.getRightHandPitch()) 66 | 62. Right hand yaw: rhw (rhw = leap.getRightHandYaw()) 67 | -------------------------------------------------------------------------------- /inputConfigSample.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | /wek/inputs 4 | 62 5 | Inputs 6 | 7 | Left hand x-pos 8 | Left hand y-pos 9 | Left hand z-pos 10 | Left hand x-velocity 11 | Left hand y-velocity 12 | Left hand z-velocity 13 | Left thumb x-pos 14 | Left thumb y-pos 15 | Left thumb z-pos 16 | Left index x-pos 17 | Left index y-pos 18 | Left index z-pos 19 | Left middle x-pos 20 | Left middle y-pos 21 | Left middle z-pos 22 | Left ring x-pos 23 | Left ring y-pos 24 | Left ring z-pos 25 | Left pinky x-pos 26 | Left pinky y-pos 27 | Left pinky z-pos 28 | Left hand size 29 | Left hand x-normal 30 | Left hand y-normal 31 | Left hand z-normal 32 | Left hand x-direction 33 | Left hand y-direction 34 | Left hand z-direction 35 | Left hand roll 36 | Left hand pitch 37 | Left hand yaw 38 | Right hand x-pos 39 | Right hand y-pos 40 | Right hand z-pos 41 | Right hand x-velocity 42 | Right hand y-velocity 43 | Right hand z-velocity 44 | Right thumb x-pos 45 | Right thumb y-pos 46 | Right thumb z-pos 47 | Right index x-pos 48 | Right index y-pos 49 | Right index z-pos 50 | Right middle x-pos 51 | Right middle y-pos 52 | Right middle z-pos 53 | Right ring x-pos 54 | Right ring y-pos 55 | Right ring z-pos 56 | Right pinky x-pos 57 | Right pinky y-pos 58 | Right pinky z-pos 59 | Right hand size 60 | Right hand x-normal 61 | Right hand y-normal 62 | Right hand z-normal 63 | Right hand x-direction 64 | Right hand y-direction 65 | Right hand z-direction 66 | Right hand roll 67 | Right hand pitch 68 | Right hand yaw 69 | 70 | 71 | -------------------------------------------------------------------------------- /openFrameworks-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | cc.openFrameworks.ofapp 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | CFBundleIconFile 20 | ${ICON} 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/LeapMotion.cpp: -------------------------------------------------------------------------------- 1 | #include "LeapMotion.h" 2 | 3 | //----------- 4 | void LeapMotion::setup(){ 5 | leap.open(); 6 | 7 | cam.setOrientation(ofPoint(-20, 0, 0)); 8 | fbo.allocate(1024, 768, GL_RGBA); 9 | 10 | control.setName("LeapMotion"); 11 | control.addToggle("trackVelocity", &trackVelocity); 12 | control.addSlider("numFrames", &numFrames, 1, 60); 13 | control.addToggle("normalizeTips", &normalizeTips); 14 | control.addSlider("vLerpRate", &vLerpRate, 0.0f, 1.0f); 15 | 16 | trackVelocity = false; 17 | numFrames = 15; 18 | vLerpRate = 0.2; 19 | 20 | for (int i=0; i<5; i++) { 21 | leftHandTips.push_back(ofPoint(0, 0, 0)); 22 | rightHandTips.push_back(ofPoint(0, 0, 0)); 23 | vLeftHandTips.push_back(ofPoint(0, 0, 0)); 24 | vRightHandTips.push_back(ofPoint(0, 0, 0)); 25 | } 26 | 27 | finger[0] = THUMB; 28 | finger[1] = INDEX; 29 | finger[2] = MIDDLE; 30 | finger[3] = RING; 31 | finger[4] = PINKY; 32 | } 33 | 34 | //----------- 35 | void LeapMotion::setGuiPosition(int x, int y) { 36 | control.setPosition(x, y); 37 | } 38 | 39 | //----------- 40 | void LeapMotion::setVelocityTracking(bool trackVelocity, int numFrames) { 41 | this->trackVelocity = trackVelocity; 42 | if (trackVelocity) { 43 | this->numFrames = numFrames; 44 | frameWeight = 1.0f / (float) numFrames; 45 | idxFrame = 0; 46 | prevHandPosition[0] = ofPoint(0,0,0); 47 | prevHandPosition[1] = ofPoint(0,0,0); 48 | handVelocityList[0].resize(numFrames); 49 | handVelocityList[1].resize(numFrames); 50 | handVelocity[0] = ofPoint(0, 0); 51 | handVelocity[1] = ofPoint(0, 0); 52 | for (int i=0; i 0; 116 | foundLeftHand = false; 117 | foundRightHand = false; 118 | 119 | for (int i = 0; i < simpleHands.size(); i++) { 120 | ofPoint minPos = ofPoint( 999, 999, 999); 121 | ofPoint maxPos = ofPoint(-999, -999, -999); 122 | 123 | for (int j=0; j<5; j++) { 124 | ofPoint f = simpleHands[i].fingers[finger[j]].tip; 125 | if (f.x < minPos.x) minPos.x = f.x; 126 | else if (f.x > maxPos.x) maxPos.x = f.x; 127 | if (f.y < minPos.y) minPos.y = f.y; 128 | else if (f.y > maxPos.y) maxPos.y = f.y; 129 | if (f.z < minPos.z) minPos.z = f.z; 130 | else if (f.z > maxPos.z) maxPos.z = f.z; 131 | } 132 | if (simpleHands[i].isLeft) { 133 | foundLeftHand = true; 134 | lHandPosition = simpleHands[i].handPos; 135 | lOpenHandSize = (maxPos.x-minPos.x) * (maxPos.y-minPos.y) * (maxPos.z-minPos.z); 136 | lHandNormal = simpleHands[i].handNormal; 137 | lHandDirection = simpleHands[i].direction; 138 | lHandRoll = simpleHands[i].roll; 139 | lHandPitch = simpleHands[i].pitch; 140 | lHandYaw = simpleHands[i].yaw; 141 | } 142 | else { 143 | foundRightHand = true; 144 | rHandPosition = simpleHands[i].handPos; 145 | rOpenHandSize = (maxPos.x-minPos.x) * (maxPos.y-minPos.y) * (maxPos.z-minPos.z); 146 | rHandNormal = simpleHands[i].handNormal; 147 | rHandDirection = simpleHands[i].direction; 148 | rHandRoll = simpleHands[i].roll; 149 | rHandPitch = simpleHands[i].pitch; 150 | rHandYaw = simpleHands[i].yaw; 151 | } 152 | } 153 | } 154 | 155 | //----------- 156 | void LeapMotion::drawVelocityGraph(Handedness hand, int x, int y, int w, int h) { 157 | ofPoint velocity = (hand == LEFT) ? handVelocity[0] : handVelocity[1]; 158 | 159 | ofPushMatrix(); 160 | ofPushStyle(); 161 | 162 | ofTranslate(x, y); 163 | 164 | ofSetColor(0); 165 | 166 | if (hand == LEFT) 167 | ofDrawBitmapString("Left velocity XY", 0, -4); 168 | else 169 | ofDrawBitmapString("Right velocity XY", 0, -4); 170 | ofDrawBitmapString("Z", w+2, -4); 171 | ofNoFill(); 172 | ofSetLineWidth(2); 173 | 174 | ofDrawRectangle(0, 0, w, h); 175 | ofDrawLine(-5+w/2, h/2, 5+w/2, h/2); 176 | ofDrawLine(w/2, -5+h/2, w/2, 5+h/2); 177 | 178 | 179 | ofFill(); 180 | float vx = ofMap(velocity.x, -10, 10, 0, w); 181 | float vy = ofMap(velocity.y, -10, 10, h, 0); 182 | float vz = ofMap(velocity.z, -10, 10, 0, h); 183 | ofDrawEllipse(vx, vy, 16, 16); 184 | ofDrawEllipse(w+8, vz, 16, 16); 185 | 186 | ofPopStyle(); 187 | ofPopMatrix(); 188 | } 189 | 190 | //----------- 191 | void LeapMotion::draw(int x, int y, int w, int h){ 192 | fbo.begin(); 193 | 194 | ofBackgroundGradient(ofColor(90, 90, 90), ofColor(30, 30, 30), OF_GRADIENT_BAR); 195 | ofSetColor(200); 196 | ofDrawBitmapString("ofxLeapMotion - Example App\nLeap Connected? " + ofToString(leap.isConnected()), 20, 20); 197 | 198 | cam.begin(); 199 | 200 | ofPushMatrix(); 201 | ofRotate(90, 0, 0, 1); 202 | ofSetColor(20); 203 | ofDrawGridPlane(800, 20, false); 204 | ofPopMatrix(); 205 | 206 | fingerType fingerTypes[] = {THUMB, INDEX, MIDDLE, RING, PINKY}; 207 | 208 | for(int i = 0; i < simpleHands.size(); i++){ 209 | bool isLeft = simpleHands[i].isLeft; 210 | ofPoint handPos = simpleHands[i].handPos; 211 | ofPoint handNormal = simpleHands[i].handNormal; 212 | 213 | ofSetColor(0, 0, 255); 214 | ofDrawSphere(handPos.x, handPos.y, handPos.z, 20); 215 | ofSetColor(255, 255, 0); 216 | ofDrawArrow(handPos, handPos + 100*handNormal); 217 | 218 | for (int f=0; f<5; f++) { 219 | ofPoint mcp = simpleHands[i].fingers[ fingerTypes[f] ].mcp; // metacarpal 220 | ofPoint pip = simpleHands[i].fingers[ fingerTypes[f] ].pip; // proximal 221 | ofPoint dip = simpleHands[i].fingers[ fingerTypes[f] ].dip; // distal 222 | ofPoint tip = simpleHands[i].fingers[ fingerTypes[f] ].tip; // fingertip 223 | 224 | ofSetColor(0, 255, 0); 225 | ofDrawSphere(mcp.x, mcp.y, mcp.z, 12); 226 | ofDrawSphere(pip.x, pip.y, pip.z, 12); 227 | ofDrawSphere(dip.x, dip.y, dip.z, 12); 228 | ofDrawSphere(tip.x, tip.y, tip.z, 12); 229 | 230 | ofSetColor(255, 0, 0); 231 | ofSetLineWidth(20); 232 | ofDrawLine(mcp.x, mcp.y, mcp.z, pip.x, pip.y, pip.z); 233 | ofDrawLine(pip.x, pip.y, pip.z, dip.x, dip.y, dip.z); 234 | ofDrawLine(dip.x, dip.y, dip.z, tip.x, tip.y, tip.z); 235 | } 236 | } 237 | ofSetColor(255); 238 | 239 | cam.end(); 240 | fbo.end(); 241 | fbo.draw(x, y, w, h); 242 | } 243 | 244 | //----------- 245 | LeapMotion::~LeapMotion(){ 246 | close(); 247 | } 248 | -------------------------------------------------------------------------------- /src/LeapMotion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ofxLeapMotion2.h" 4 | #include "ofxControl.h" 5 | 6 | 7 | enum Handedness { LEFT, RIGHT }; 8 | 9 | 10 | class LeapMotion 11 | { 12 | public: 13 | ~LeapMotion(); 14 | void setup(); 15 | void setGuiPosition(int x, int y); 16 | void close() { if (leap.isConnected()) leap.close(); } 17 | void setVelocityTracking(bool trackVelocity, int numFrames=10); 18 | void setNormalizeTips(bool normalizeTips) {this->normalizeTips = normalizeTips;} 19 | void update(); 20 | void draw(int x, int y, int w, int h); 21 | void drawVelocityGraph(Handedness hand, int x, int y, int w, int h); 22 | 23 | // left hand getters 24 | ofPoint getLeftHandPosition() {return lHandPosition;} 25 | vector & getLeftHandFingerTips() {return leftHandTips;} 26 | ofPoint getLeftHandFingerTip(int index) {return leftHandTips[index];} 27 | ofPoint getLeftHandVelocity() {return handVelocity[0];} 28 | float getLeftOpenHandSize() {return lOpenHandSize;} 29 | ofPoint getLeftHandNormal() {return lHandNormal;} 30 | ofPoint getLeftHandDirection() {return lHandDirection;} 31 | float getLeftHandRoll() {return lHandRoll;} 32 | float getLeftHandPitch() {return lHandPitch;} 33 | float getLeftHandYaw() {return lHandYaw;} 34 | 35 | // right hand getters 36 | ofPoint getRightHandPosition() {return rHandPosition;} 37 | vector & getRightHandFingerTips() {return rightHandTips;} 38 | ofPoint getRightHandFingerTip(int index) {return rightHandTips[index];} 39 | ofPoint getRightHandVelocity() {return handVelocity[1];} 40 | float getRightOpenHandSize() {return rOpenHandSize;} 41 | ofPoint getRightHandNormal() {return rHandNormal;} 42 | ofPoint getRightHandDirection() {return rHandDirection;} 43 | float getRightHandRoll() {return rHandRoll;} 44 | float getRightHandPitch() {return rHandPitch;} 45 | float getRightHandYaw() {return rHandYaw;} 46 | 47 | // left hand ref getters 48 | ofPoint * getLeftHandPositionRef() {return &lHandPosition;} 49 | vector * getLeftHandFingerTipsRef() {return &leftHandTips;} 50 | ofPoint * getLeftHandFingerTipRef(int index) {return &leftHandTips[index];} 51 | ofPoint * getLeftHandVelocityRef() {return &handVelocity[0];} 52 | float * getLeftOpenHandSizeRef() {return &lOpenHandSize;} 53 | ofPoint * getLeftHandNormalRef() {return &lHandNormal;} 54 | ofPoint * getLeftHandDirectionRef() {return &lHandDirection;} 55 | float * getLeftHandRollRef() {return &lHandRoll;} 56 | float * getLeftHandPitchRef() {return &lHandPitch;} 57 | float * getLeftHandYawRef() {return &lHandYaw;} 58 | 59 | // right hand ref getters 60 | ofPoint * getRightHandPositionRef() {return &rHandPosition;} 61 | vector * getRightHandFingerTipsRef() {return &rightHandTips;} 62 | ofPoint * getRightHandFingerTipRef(int index) {return &rightHandTips[index];} 63 | ofPoint * getRightHandVelocityRef() {return &handVelocity[1];} 64 | float * getRightOpenHandSizeRef() {return &rOpenHandSize;} 65 | ofPoint * getRightHandNormalRef() {return &rHandNormal;} 66 | ofPoint * getRightHandDirectionRef() {return &rHandDirection;} 67 | float * getRightHandRollRef() {return &rHandRoll;} 68 | float * getRightHandPitchRef() {return &rHandPitch;} 69 | float * getRightHandYawRef() {return &rHandYaw;} 70 | 71 | bool * hasFoundHands() {return &foundHands;} 72 | bool * hasFoundLeftHand() {return &foundLeftHand;} 73 | bool * hasFoundRightHand() {return &foundRightHand;} 74 | bool isConnected() {return leap.isConnected();} 75 | 76 | private: 77 | 78 | void updateFingerTips(bool isNormalized=false); 79 | void updateHandStats(); 80 | 81 | // stats 82 | vector leftHandTips, rightHandTips; 83 | ofPoint lHandPosition, rHandPosition; 84 | ofPoint lHandNormal, rHandNormal; 85 | ofPoint lHandDirection, rHandDirection; 86 | float lOpenHandSize, lHandRoll, lHandPitch, lHandYaw; 87 | float rOpenHandSize, rHandRoll, rHandPitch, rHandYaw; 88 | bool foundHands, foundLeftHand, foundRightHand; 89 | 90 | // velocity stats 91 | vector vLeftHandTips, vRightHandTips; 92 | ofPoint vLHandNormal, vLHandDirection; 93 | ofPoint vRHandNormal, vRHandDirection; 94 | float vLOpenHandSize, vLHandRoll, vLHandPitch, vLHandYaw; 95 | float vROpenHandSize, vRHandRoll, vRHandPitch, vRHandYaw; 96 | ofPoint handVelocity[2]; 97 | 98 | // internals 99 | ofxLeapMotion leap; 100 | vector simpleHands; 101 | float frameWeight; 102 | vector handVelocityList[2]; 103 | ofPoint prevHandPosition[2]; 104 | int idxFrame; 105 | ofEasyCam cam; 106 | ofFbo fbo; 107 | fingerType finger[5]; 108 | 109 | // parameters 110 | ofxControlWidget control; 111 | bool trackVelocity, pTrackVelocity; 112 | bool normalizeTips; 113 | int numFrames, pNumFrames; 114 | float vLerpRate; 115 | }; 116 | -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "ofMain.h" 2 | #include "ofApp.h" 3 | 4 | //======================================================================== 5 | int main( ){ 6 | ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context 7 | 8 | // this kicks off the running of my app 9 | // can be OF_WINDOW or OF_FULLSCREEN 10 | // pass in width and height too: 11 | ofRunApp(new ofApp()); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/ofApp.cpp: -------------------------------------------------------------------------------- 1 | #include "ofApp.h" 2 | 3 | //-------------------------------------------------------------- 4 | void ofApp::setup(){ 5 | leap.setup(); 6 | gui.setName("LeapOSC"); 7 | gui.setPosition(520, 0); 8 | gui.addToggle("Left hand", &sendLeft); 9 | gui.addToggle("Right hand", &sendRight); 10 | 11 | // default 12 | oscAddress = DEFAULT_LEAP_OSC_ADDRESS; 13 | sendLeft = false; 14 | sendRight = true; 15 | oscOut = DEFAULT_LEAP_OSC_IP; 16 | portOut = DEFAULT_LEAP_OSC_PORT; 17 | 18 | osc.setup(oscOut, portOut); 19 | } 20 | 21 | //-------------------------------------------------------------- 22 | void ofApp::exit(){ 23 | leap.close(); 24 | } 25 | 26 | //-------------------------------------------------------------- 27 | void ofApp::update(){ 28 | leap.update(); 29 | 30 | ofxOscMessage msg; 31 | msg.setAddress(oscAddress); 32 | 33 | if (sendLeft) { 34 | // get data left 35 | ofPoint lhp = leap.getLeftHandPosition(); 36 | ofPoint lhv = leap.getLeftHandVelocity(); 37 | vector & ltips = leap.getLeftHandFingerTips(); 38 | float lohs = leap.getLeftOpenHandSize(); 39 | ofPoint lhn = leap.getLeftHandNormal(); 40 | ofPoint lhd = leap.getLeftHandDirection(); 41 | float lhr = leap.getLeftHandRoll(); 42 | float lhpt = leap.getLeftHandPitch(); 43 | float lhw = leap.getLeftHandYaw(); 44 | 45 | msg.addFloatArg(lhp.x); 46 | msg.addFloatArg(lhp.y); 47 | msg.addFloatArg(lhp.z); 48 | msg.addFloatArg(lhv.x); 49 | msg.addFloatArg(lhv.y); 50 | msg.addFloatArg(lhv.z); 51 | for (int f=0; f<5; f++) { 52 | msg.addFloatArg(ltips[f].x); 53 | msg.addFloatArg(ltips[f].y); 54 | msg.addFloatArg(ltips[f].z); 55 | } 56 | msg.addFloatArg(lohs); 57 | msg.addFloatArg(lhn.x); 58 | msg.addFloatArg(lhn.y); 59 | msg.addFloatArg(lhn.z); 60 | msg.addFloatArg(lhd.x); 61 | msg.addFloatArg(lhd.y); 62 | msg.addFloatArg(lhd.z); 63 | msg.addFloatArg(lhr); 64 | msg.addFloatArg(lhpt); 65 | msg.addFloatArg(lhw); 66 | } 67 | 68 | if (sendRight) { 69 | // get data right 70 | ofPoint rhp = leap.getRightHandPosition(); 71 | ofPoint rhv = leap.getRightHandVelocity(); 72 | vector & rtips = leap.getRightHandFingerTips(); 73 | float rohs = leap.getRightOpenHandSize(); 74 | ofPoint rhn = leap.getRightHandNormal(); 75 | ofPoint rhd = leap.getRightHandDirection(); 76 | float rhr = leap.getRightHandRoll(); 77 | float rhpt = leap.getRightHandPitch(); 78 | float rhw = leap.getRightHandYaw(); 79 | 80 | msg.addFloatArg(rhp.x); 81 | msg.addFloatArg(rhp.y); 82 | msg.addFloatArg(rhp.z); 83 | msg.addFloatArg(rhv.x); 84 | msg.addFloatArg(rhv.y); 85 | msg.addFloatArg(rhv.z); 86 | for (int f=0; f<5; f++) { 87 | msg.addFloatArg(rtips[f].x); 88 | msg.addFloatArg(rtips[f].y); 89 | msg.addFloatArg(rtips[f].z); 90 | } 91 | msg.addFloatArg(rohs); 92 | msg.addFloatArg(rhn.x); 93 | msg.addFloatArg(rhn.y); 94 | msg.addFloatArg(rhn.z); 95 | msg.addFloatArg(rhd.x); 96 | msg.addFloatArg(rhd.y); 97 | msg.addFloatArg(rhd.z); 98 | msg.addFloatArg(rhr); 99 | msg.addFloatArg(rhpt); 100 | msg.addFloatArg(rhw); 101 | } 102 | cout <