mirror of
https://github.com/jwetzell/qController.git
synced 2026-07-26 10:38:50 +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
|
||||
using Serilog;
|
||||
using qController.QItems;
|
||||
using System;
|
||||
|
||||
namespace qController.Communication
|
||||
{
|
||||
@@ -23,33 +24,31 @@ namespace qController.Communication
|
||||
this.ipAddress = address;
|
||||
qClient = new QClient(ipAddress, port);
|
||||
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()
|
||||
{
|
||||
Log.Debug($"QCONTROLLER - Searching for workspaces on: {ipAddress}");
|
||||
|
||||
@@ -65,7 +65,6 @@ namespace qController.Communication
|
||||
if (msg.Arguments.Count > 0)
|
||||
{
|
||||
JToken connectStatus = OSC2JSON(msg);
|
||||
;
|
||||
OnConnectionStatusChanged(connectStatus.ToString(), msg.Address.Split('/')[3]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace qController.Communication
|
||||
{
|
||||
|
||||
Log.Debug("QUPDATER - Connection Status Changed: " + args.Status);
|
||||
|
||||
|
||||
if (args.Status.Contains("ok"))
|
||||
{
|
||||
//new sort of connect format for QLab 5 ok:view|control|edit is connection good
|
||||
@@ -30,7 +30,14 @@ namespace qController.Communication
|
||||
{
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,11 +38,11 @@ namespace qController.Dialogs
|
||||
|
||||
if (!workspace.hasPasscode)
|
||||
{
|
||||
OnWorkspaceSelected(new QWorkspace(workspace.uniqueID));
|
||||
OnWorkspaceSelected(new QWorkspace(workspace));
|
||||
}
|
||||
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
|
||||
{
|
||||
@@ -64,7 +64,7 @@ namespace qController.Dialogs
|
||||
{
|
||||
if (resp.Ok)
|
||||
{
|
||||
OnWorkspaceSelected(new QWorkspace(workspace_id,resp.Value));
|
||||
OnWorkspaceSelected(new QWorkspace(workspaceInfo,resp.Value));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace qController.QItems
|
||||
public string workspace_id { get; set; }
|
||||
public string address { get; set; }
|
||||
public bool IsPopulated { get; set; }
|
||||
|
||||
public string version { get; set; }
|
||||
public string passcode { get; set; }
|
||||
|
||||
//ONLY FOR PASSING A WORKSPACE LOAD ERROR
|
||||
@@ -20,12 +20,17 @@ namespace qController.QItems
|
||||
workspace_id = id;
|
||||
}
|
||||
|
||||
public QWorkspace(string id, string passcode)
|
||||
{
|
||||
workspace_id = id;
|
||||
this.passcode = passcode;
|
||||
public QWorkspace(QWorkspaceInfo workspaceInfo)
|
||||
{
|
||||
workspace_id = workspaceInfo.uniqueID;
|
||||
version = workspaceInfo.version;
|
||||
}
|
||||
public QWorkspace(QWorkspaceInfo workspaceInfo, string passcode)
|
||||
{
|
||||
workspace_id = workspaceInfo.uniqueID;
|
||||
version = workspaceInfo.version;
|
||||
this.passcode = passcode;
|
||||
}
|
||||
|
||||
public QWorkspace()
|
||||
{
|
||||
|
||||
|
||||
@@ -63,14 +63,14 @@ namespace qController
|
||||
Log.Debug($"CONTROLPAGE - Connection Status Changed: {args.WorkspaceId} : {args.Status}");
|
||||
if (args.Status.Contains("ok")) {
|
||||
if(args.Status.Contains(":") && !args.Status.Contains("view")) {
|
||||
workspacePrompt.promptWorkspacePasscode(args.WorkspaceId);
|
||||
workspacePrompt.promptWorkspacePasscode(new QWorkspaceInfo { uniqueID = args.WorkspaceId, version = qController.qWorkspace.version });
|
||||
return;
|
||||
}
|
||||
Device.BeginInvokeOnMainThread(() => {
|
||||
FinishUI();
|
||||
});
|
||||
} 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) {
|
||||
Log.Debug("CONTROLPAGE - ONLY ONE WORKSPACE ON SELECTED COMPUTER");
|
||||
if (!args.WorkspaceInfo[0].hasPasscode) {
|
||||
qController.Connect(args.WorkspaceInfo[0].uniqueID);
|
||||
|
||||
qController.Connect(args.WorkspaceInfo[0]);
|
||||
} else {
|
||||
workspacePrompt.promptWorkspacePasscode(args.WorkspaceInfo[0].uniqueID);
|
||||
workspacePrompt.promptWorkspacePasscode(args.WorkspaceInfo[0]);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?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>
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
|
||||
Reference in New Issue
Block a user