mirror of
https://github.com/jwetzell/qController.git
synced 2026-08-22 07:29:13 +00:00
add version check before updates subscription OSC
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
//TODO: STILL NEED TO WORK ON PASSWORD PROTECTED WORKSPACES
|
//TODO: STILL NEED TO WORK ON PASSWORD PROTECTED WORKSPACES
|
||||||
using Serilog;
|
using Serilog;
|
||||||
using qController.QItems;
|
using qController.QItems;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace qController.Communication
|
namespace qController.Communication
|
||||||
{
|
{
|
||||||
@@ -23,33 +24,31 @@ namespace qController.Communication
|
|||||||
this.ipAddress = address;
|
this.ipAddress = address;
|
||||||
qClient = new QClient(ipAddress, port);
|
qClient = new QClient(ipAddress, port);
|
||||||
qUpdater = new QUpdater(this);
|
qUpdater = new QUpdater(this);
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Connect(string workspace_id)
|
|
||||||
{
|
|
||||||
Log.Debug($"QCONTROLLER - Connect Called: {workspace_id}");
|
|
||||||
qWorkspace = new QWorkspace(workspace_id);
|
|
||||||
qClient.sendTCP("/workspace/"+workspace_id+"/connect");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Connect(string workspace_id, string passcode)
|
|
||||||
{
|
|
||||||
Log.Debug($"QCONTROLLER - Connect with Passcode Called: {workspace_id}:{passcode}");
|
|
||||||
qWorkspace = new QWorkspace(workspace_id);
|
|
||||||
qClient.sendTCP("/workspace/" + workspace_id + "/connect", passcode);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Connect(QWorkspace workspace)
|
|
||||||
{
|
|
||||||
if(workspace.passcode != null)
|
|
||||||
Connect(workspace.workspace_id, workspace.passcode);
|
|
||||||
else
|
|
||||||
Connect(workspace.workspace_id);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Connect(QWorkspaceInfo workspaceInfo)
|
||||||
|
{
|
||||||
|
Log.Debug($"QCONTROLLER - Connect Called: {workspaceInfo.uniqueID}");
|
||||||
|
Connect(new QWorkspace(workspaceInfo));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Connect(QWorkspace workspace)
|
||||||
|
{
|
||||||
|
Log.Debug($"QCONTROLLER - Connect Called: {workspace.workspace_id}");
|
||||||
|
qWorkspace = workspace;
|
||||||
|
if (qWorkspace.passcode != null)
|
||||||
|
{
|
||||||
|
Log.Debug($"QCONTROLLER - Connect with Passcode Called: {qWorkspace.workspace_id}:{qWorkspace.passcode}");
|
||||||
|
qClient.sendTCP("/workspace/" + qWorkspace.workspace_id + "/connect", qWorkspace.passcode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Log.Debug($"QCONTROLLER - Connect Called: {qWorkspace.workspace_id}");
|
||||||
|
qClient.sendTCP("/workspace/" + qWorkspace.workspace_id + "/connect");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void KickOff()
|
public void KickOff()
|
||||||
{
|
{
|
||||||
Log.Debug($"QCONTROLLER - Searching for workspaces on: {ipAddress}");
|
Log.Debug($"QCONTROLLER - Searching for workspaces on: {ipAddress}");
|
||||||
|
|||||||
@@ -65,7 +65,6 @@ namespace qController.Communication
|
|||||||
if (msg.Arguments.Count > 0)
|
if (msg.Arguments.Count > 0)
|
||||||
{
|
{
|
||||||
JToken connectStatus = OSC2JSON(msg);
|
JToken connectStatus = OSC2JSON(msg);
|
||||||
;
|
|
||||||
OnConnectionStatusChanged(connectStatus.ToString(), msg.Address.Split('/')[3]);
|
OnConnectionStatusChanged(connectStatus.ToString(), msg.Address.Split('/')[3]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace qController.Communication
|
|||||||
{
|
{
|
||||||
|
|
||||||
Log.Debug("QUPDATER - Connection Status Changed: " + args.Status);
|
Log.Debug("QUPDATER - Connection Status Changed: " + args.Status);
|
||||||
|
|
||||||
if (args.Status.Contains("ok"))
|
if (args.Status.Contains("ok"))
|
||||||
{
|
{
|
||||||
//new sort of connect format for QLab 5 ok:view|control|edit is connection good
|
//new sort of connect format for QLab 5 ok:view|control|edit is connection good
|
||||||
@@ -30,7 +30,14 @@ namespace qController.Communication
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qController.qClient.sendTCP("/updates", 1);
|
if (qController.qWorkspace.version.StartsWith("5"))
|
||||||
|
{
|
||||||
|
qController.qClient.sendTCP("/updates", 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qController.qClient.sendTCP("/workspace/" + qController.qWorkspace.workspace_id + "/updates", 1);
|
||||||
|
}
|
||||||
qController.qClient.sendTCP("/workspace/" + qController.qWorkspace.workspace_id + "/cueLists");
|
qController.qClient.sendTCP("/workspace/" + qController.qWorkspace.workspace_id + "/cueLists");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,11 +38,11 @@ namespace qController.Dialogs
|
|||||||
|
|
||||||
if (!workspace.hasPasscode)
|
if (!workspace.hasPasscode)
|
||||||
{
|
{
|
||||||
OnWorkspaceSelected(new QWorkspace(workspace.uniqueID));
|
OnWorkspaceSelected(new QWorkspace(workspace));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
promptWorkspacePasscode(workspace.uniqueID);
|
promptWorkspacePasscode(workspace);
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@@ -51,7 +51,7 @@ namespace qController.Dialogs
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void promptWorkspacePasscode(string workspace_id)
|
public void promptWorkspacePasscode(QWorkspaceInfo workspaceInfo)
|
||||||
{
|
{
|
||||||
UserDialogs.Instance.Prompt(new PromptConfig
|
UserDialogs.Instance.Prompt(new PromptConfig
|
||||||
{
|
{
|
||||||
@@ -64,7 +64,7 @@ namespace qController.Dialogs
|
|||||||
{
|
{
|
||||||
if (resp.Ok)
|
if (resp.Ok)
|
||||||
{
|
{
|
||||||
OnWorkspaceSelected(new QWorkspace(workspace_id,resp.Value));
|
OnWorkspaceSelected(new QWorkspace(workspaceInfo,resp.Value));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ namespace qController.QItems
|
|||||||
public string workspace_id { get; set; }
|
public string workspace_id { get; set; }
|
||||||
public string address { get; set; }
|
public string address { get; set; }
|
||||||
public bool IsPopulated { get; set; }
|
public bool IsPopulated { get; set; }
|
||||||
|
public string version { get; set; }
|
||||||
public string passcode { get; set; }
|
public string passcode { get; set; }
|
||||||
|
|
||||||
//ONLY FOR PASSING A WORKSPACE LOAD ERROR
|
//ONLY FOR PASSING A WORKSPACE LOAD ERROR
|
||||||
@@ -20,12 +20,17 @@ namespace qController.QItems
|
|||||||
workspace_id = id;
|
workspace_id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public QWorkspace(string id, string passcode)
|
public QWorkspace(QWorkspaceInfo workspaceInfo)
|
||||||
{
|
{
|
||||||
workspace_id = id;
|
workspace_id = workspaceInfo.uniqueID;
|
||||||
this.passcode = passcode;
|
version = workspaceInfo.version;
|
||||||
|
}
|
||||||
|
public QWorkspace(QWorkspaceInfo workspaceInfo, string passcode)
|
||||||
|
{
|
||||||
|
workspace_id = workspaceInfo.uniqueID;
|
||||||
|
version = workspaceInfo.version;
|
||||||
|
this.passcode = passcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
public QWorkspace()
|
public QWorkspace()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -63,14 +63,14 @@ namespace qController
|
|||||||
Log.Debug($"CONTROLPAGE - Connection Status Changed: {args.WorkspaceId} : {args.Status}");
|
Log.Debug($"CONTROLPAGE - Connection Status Changed: {args.WorkspaceId} : {args.Status}");
|
||||||
if (args.Status.Contains("ok")) {
|
if (args.Status.Contains("ok")) {
|
||||||
if(args.Status.Contains(":") && !args.Status.Contains("view")) {
|
if(args.Status.Contains(":") && !args.Status.Contains("view")) {
|
||||||
workspacePrompt.promptWorkspacePasscode(args.WorkspaceId);
|
workspacePrompt.promptWorkspacePasscode(new QWorkspaceInfo { uniqueID = args.WorkspaceId, version = qController.qWorkspace.version });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Device.BeginInvokeOnMainThread(() => {
|
Device.BeginInvokeOnMainThread(() => {
|
||||||
FinishUI();
|
FinishUI();
|
||||||
});
|
});
|
||||||
} else if (args.Status.Contains("badpass")) {
|
} else if (args.Status.Contains("badpass")) {
|
||||||
workspacePrompt.promptWorkspacePasscode(args.WorkspaceId);
|
workspacePrompt.promptWorkspacePasscode(new QWorkspaceInfo { uniqueID = args.WorkspaceId, version = qController.qWorkspace.version });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,10 +82,9 @@ namespace qController
|
|||||||
} else if (args.WorkspaceInfo.Count == 1) {
|
} else if (args.WorkspaceInfo.Count == 1) {
|
||||||
Log.Debug("CONTROLPAGE - ONLY ONE WORKSPACE ON SELECTED COMPUTER");
|
Log.Debug("CONTROLPAGE - ONLY ONE WORKSPACE ON SELECTED COMPUTER");
|
||||||
if (!args.WorkspaceInfo[0].hasPasscode) {
|
if (!args.WorkspaceInfo[0].hasPasscode) {
|
||||||
qController.Connect(args.WorkspaceInfo[0].uniqueID);
|
qController.Connect(args.WorkspaceInfo[0]);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
workspacePrompt.promptWorkspacePasscode(args.WorkspaceInfo[0].uniqueID);
|
workspacePrompt.promptWorkspacePasscode(args.WorkspaceInfo[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="39" android:versionName="1.7.1" package="com.jwetzell.qlabcontroller" android:installLocation="auto">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="40" android:versionName="1.7.2" package="com.jwetzell.qlabcontroller" android:installLocation="auto">
|
||||||
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:supportsRtl="true" android:label="qControl"></application>
|
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:supportsRtl="true" android:label="qControl"></application>
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
|
|||||||
Reference in New Issue
Block a user