diff --git a/ml_lme/vendor/LeapCSharp/Config.cs b/ml_lme/vendor/LeapCSharp/Config.cs index b291c67..1042050 100644 --- a/ml_lme/vendor/LeapCSharp/Config.cs +++ b/ml_lme/vendor/LeapCSharp/Config.cs @@ -18,6 +18,7 @@ namespace Leap /// /// @since 1.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public class Config { private Connection _connection; @@ -29,12 +30,15 @@ namespace Leap /// Note that the Controller.Config provides a properly initialized Config object already. /// @since 3.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public Config(Connection.Key connectionKey) { _connection = Connection.GetConnection(connectionKey); _connection.LeapConfigChange += handleConfigChange; _connection.LeapConfigResponse += handleConfigResponse; } + + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public Config(int connectionId) : this(new Connection.Key(connectionId)) { } private void handleConfigChange(object sender, ConfigChangeEventArgs eventArgs) @@ -87,6 +91,7 @@ namespace Leap /// /// @since 3.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public bool Get(string key, Action onResult) { uint requestId = _connection.GetConfigValue(key); @@ -107,6 +112,7 @@ namespace Leap /// /// @since 3.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public bool Set(string key, T value, Action onResult) where T : IConvertible { uint requestId = _connection.SetConfigValue(key, value); @@ -123,6 +129,7 @@ namespace Leap /// Enumerates the possible data types for configuration values. /// @since 1.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public enum ValueType { TYPE_UNKNOWN = 0, diff --git a/ml_lme/vendor/LeapCSharp/Connection.cs b/ml_lme/vendor/LeapCSharp/Connection.cs index e1990ae..8395348 100644 --- a/ml_lme/vendor/LeapCSharp/Connection.cs +++ b/ml_lme/vendor/LeapCSharp/Connection.cs @@ -359,9 +359,6 @@ namespace LeapInternal StructMarshal.PtrToStruct(_msg.eventStructPtr, out config_change_evt); handleConfigChange(ref config_change_evt); break; - case eLeapEventType.eLeapEventType_ConfigResponse: - handleConfigResponse(ref _msg); - break; case eLeapEventType.eLeapEventType_DroppedFrame: LEAP_DROPPED_FRAME_EVENT dropped_frame_evt; StructMarshal.PtrToStruct(_msg.eventStructPtr, out dropped_frame_evt); @@ -749,55 +746,6 @@ namespace LeapInternal } } - private void handleConfigResponse(ref LEAP_CONNECTION_MESSAGE configMsg) - { - LEAP_CONFIG_RESPONSE_EVENT config_response_evt; - StructMarshal.PtrToStruct(configMsg.eventStructPtr, out config_response_evt); - string config_key = ""; - _configRequests.TryGetValue(config_response_evt.requestId, out config_key); - if (config_key != null) - _configRequests.Remove(config_response_evt.requestId); - - Config.ValueType dataType; - object value; - uint requestId = config_response_evt.requestId; - if (config_response_evt.value.type != eLeapValueType.eLeapValueType_String) - { - switch (config_response_evt.value.type) - { - case eLeapValueType.eLeapValueType_Boolean: - dataType = Config.ValueType.TYPE_BOOLEAN; - value = config_response_evt.value.boolValue; - break; - case eLeapValueType.eLeapValueType_Int32: - dataType = Config.ValueType.TYPE_INT32; - value = config_response_evt.value.intValue; - break; - case eLeapValueType.eLeapValueType_Float: - dataType = Config.ValueType.TYPE_FLOAT; - value = config_response_evt.value.floatValue; - break; - default: - dataType = Config.ValueType.TYPE_UNKNOWN; - value = new object(); - break; - } - } - else - { - LEAP_CONFIG_RESPONSE_EVENT_WITH_REF_TYPE config_ref_value; - StructMarshal.PtrToStruct(configMsg.eventStructPtr, out config_ref_value); - dataType = Config.ValueType.TYPE_STRING; - value = config_ref_value.value.stringValue; - } - SetConfigResponseEventArgs args = new SetConfigResponseEventArgs(config_key, dataType, value, requestId); - - if (LeapConfigResponse != null) - { - LeapConfigResponse.DispatchOnContext(this, EventContext, args); - } - } - private void reportLogMessage(ref LEAP_LOG_EVENT logMsg) { if (LeapLogEvent != null) diff --git a/ml_lme/vendor/LeapCSharp/Controller.cs b/ml_lme/vendor/LeapCSharp/Controller.cs index 1955f7f..33a8578 100644 --- a/ml_lme/vendor/LeapCSharp/Controller.cs +++ b/ml_lme/vendor/LeapCSharp/Controller.cs @@ -43,7 +43,6 @@ namespace Leap bool _disposed = false; bool _supportsMultipleDevices = true; string _serverNamespace = "Leap Service"; - Config _config; /// /// The SynchronizationContext used for dispatching events. @@ -871,13 +870,12 @@ namespace Leap /// /// @since 1.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public Config Config { get { - if (_config == null) - _config = new Config(this._connection.ConnectionKey); - return _config; + return null; } } diff --git a/ml_lme/vendor/LeapCSharp/Device.cs b/ml_lme/vendor/LeapCSharp/Device.cs index 3911e26..753fab6 100644 --- a/ml_lme/vendor/LeapCSharp/Device.cs +++ b/ml_lme/vendor/LeapCSharp/Device.cs @@ -121,14 +121,6 @@ namespace Leap IsStreaming = true; else IsStreaming = false; - if ((status & eLeapDeviceStatus.eLeapDeviceStatus_Smudged) == eLeapDeviceStatus.eLeapDeviceStatus_Smudged) - IsSmudged = true; - else - IsSmudged = false; - if ((status & eLeapDeviceStatus.eLeapDeviceStatus_Robust) == eLeapDeviceStatus.eLeapDeviceStatus_Robust) - IsLightingBad = true; - else - IsLightingBad = false; if ((status & eLeapDeviceStatus.eLeapDeviceStatus_LowResource) == eLeapDeviceStatus.eLeapDeviceStatus_LowResource) IsLowResource = true; else @@ -349,6 +341,7 @@ namespace Leap /// over the Leap Motion cameras. /// @since 3.0 /// + [Obsolete("IsSmudged is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public bool IsSmudged { get; internal set; } /// @@ -363,6 +356,7 @@ namespace Leap /// isLightingBad() is true. /// @since 3.0 /// + [Obsolete("IsLightingBad is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public bool IsLightingBad { get; internal set; } /// diff --git a/ml_lme/vendor/LeapCSharp/Events.cs b/ml_lme/vendor/LeapCSharp/Events.cs index a4ee783..c4df171 100644 --- a/ml_lme/vendor/LeapCSharp/Events.cs +++ b/ml_lme/vendor/LeapCSharp/Events.cs @@ -179,6 +179,7 @@ namespace Leap /// Provides the configuration key, whether the change was successful, and the id of the original change request. /// @since 3.0 /// + [Obsolete("Config.cs is not used in Ultraleap's Tracking Service 5.X+. This will be removed in the next Major release")] public class SetConfigResponseEventArgs : LeapEventArgs { public SetConfigResponseEventArgs(string config_key, Config.ValueType dataType, object value, uint requestId) : base(LeapEvent.EVENT_CONFIG_RESPONSE) diff --git a/ml_lme/vendor/LeapCSharp/IController.cs b/ml_lme/vendor/LeapCSharp/IController.cs index 84d6ca3..95c8990 100644 --- a/ml_lme/vendor/LeapCSharp/IController.cs +++ b/ml_lme/vendor/LeapCSharp/IController.cs @@ -24,7 +24,7 @@ namespace Leap long Now(); bool IsConnected { get; } - Config Config { get; } + DeviceList Devices { get; } event EventHandler Connect; diff --git a/ml_lme/vendor/LeapSDK/README.md b/ml_lme/vendor/LeapSDK/README.md index db9b875..18afb97 100644 --- a/ml_lme/vendor/LeapSDK/README.md +++ b/ml_lme/vendor/LeapSDK/README.md @@ -84,21 +84,43 @@ cmake --build $env:REPOS_BUILD_ROOT/$env:BUILD_TYPE/LeapSDK/leapc_example -j --c 4. Open and build the CMake generated project files. For more help, see the CMake documentation. * An example script would be : ```bash -SRC_DIR=/usr/share/doc/ultraleap-hand-tracking-service/samples -BUILD_TYPE='Release' -REPOS_BUILD_ROOT=~/ultraleap-tracking-samples/build -REPOS_INSTALL_ROOT=/usr/bin/ultraleap-tracking-samples - +SRC_DIR=/usr/share/doc/ultraleap-hand-tracking-service/samples +BUILD_TYPE='Release' +REPOS_BUILD_ROOT=~/ultraleap-tracking-samples/build +REPOS_INSTALL_ROOT=/usr/bin/ultraleap-tracking-samples cmake -S ${SRC_DIR} -B ${REPOS_BUILD_ROOT}/${BUILD_TYPE}/LeapSDK/leapc_example ` -DCMAKE_INSTALL_PREFIX="${REPOS_INSTALL_ROOT}/leapc_example" ` -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -cmake --build ${REPOS_BUILD_ROOT}/${BUILD_TYPE}/LeapSDK/leapc_example -j --config ${BUILD_TYPE} +cmake --build ${REPOS_BUILD_ROOT}/${BUILD_TYPE}/LeapSDK/leapc_example -j --config ${BUILD_TYPE} +``` + +### ARM64 Linux + +1. Open the top level directory of the untarred release and select a build directory (eg. ~/ultraleap-tracking-samples/build) to use + +2. Set the CMAKE_PREFIX_PATH directory to the absolute location of LeapSDK + +3. Configure & Generate CMake with the generator of your choice + +4. Open and build the CMake generated project files. For more help, see the CMake documentation. + * An example script would be : +```bash +SRC_DIR='LeapSDK/samples' +BUILD_TYPE='Release' +REPOS_BUILD_ROOT=~/ultraleap-tracking-samples/build +REPOS_INSTALL_ROOT=~/ultraleap-tracking-samples/bin +PREFIX_PATH=$(pwd)/LeapSDK + +cmake -S ${SRC_DIR} -B ${REPOS_BUILD_ROOT}/${BUILD_TYPE}/LeapSDK/leapc_example ` +-DCMAKE_INSTALL_PREFIX="${REPOS_INSTALL_ROOT}/leapc_example"` +-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" -DCMAKE_PREFIX_PATH="${PREFIX_PATH}" +cmake --build ${REPOS_BUILD_ROOT}/${BUILD_TYPE}/LeapSDK/leapc_example -j --config ${BUILD_TYPE} ``` ### MacOS -1. Open CMake using /Applications/Ultraleap\ Hand\ Tracking\ Service.app/Contents/LeapSDK/samples as the source directory +1. Open CMake using /Applications/Ultraleap\ Hand\ Tracking.app/Contents/LeapSDK/samples as the source directory 2. Select a build directory (eg. ~/ultraleap-tracking-samples/build) to use @@ -107,7 +129,7 @@ cmake --build ${REPOS_BUILD_ROOT}/${BUILD_TYPE}/LeapSDK/leapc_example -j --confi 4. Open and build the CMake generated project files. For more help, see the CMake documentation. * An example script would be : ```bash -SRC_DIR='/Applications/Ultraleap\ Hand\ Tracking\ Service.app/Contents/LeapSDK/samples' +SRC_DIR='/Applications/Ultraleap\ Hand\ Tracking.app/Contents/LeapSDK/samples' BUILD_TYPE='Release' REPOS_BUILD_ROOT=~/ultraleap-tracking-samples/build REPOS_INSTALL_ROOT=~/ultraleap-tracking-samples/bin diff --git a/ml_lme/vendor/LeapSDK/lib/x64/LeapC.dll b/ml_lme/vendor/LeapSDK/lib/x64/LeapC.dll index ddd440c..3b6bdf9 100644 Binary files a/ml_lme/vendor/LeapSDK/lib/x64/LeapC.dll and b/ml_lme/vendor/LeapSDK/lib/x64/LeapC.dll differ