Update Encoding for special characters

This commit is contained in:
2019-12-15 19:19:37 -06:00
parent 67c0fe176d
commit 7575fe1135
24 changed files with 4960 additions and 4855 deletions
+3 -5
View File
@@ -3,15 +3,13 @@
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Net;
namespace qController.Droid
{
[Activity(Label = "qController", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[Activity(Label = "qController", Icon = "@drawable/icon", Theme = "@style/MyTheme", ScreenOrientation = ScreenOrientation.Portrait, MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
@@ -36,7 +34,7 @@ namespace qController.Droid
NetworkInfo networkInfo = connMgr.GetNetworkInfo(network);
if (networkInfo.Type == ConnectivityType.Wifi && networkInfo.IsAvailable && networkInfo.IsConnected)
{
Console.WriteLine("FIRST WIFI NETWORK FOUND......BINDING");
Console.WriteLine("ANDROID MAIN ACTIVITY - First Wi-Fi found......binding");
connMgr.BindProcessToNetwork(network);
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="27" android:versionName="1.1.0" package="com.jwetzell.qlabcontroller">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="28" android:versionName="1.1.1" package="com.jwetzell.qlabcontroller" android:installLocation="auto">
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+4800 -4764
View File
File diff suppressed because it is too large Load Diff
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Reactive" publicKeyToken="94bc3704cddfc263" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+8
View File
@@ -19,7 +19,10 @@
<package id="System.Console" version="4.3.1" targetFramework="monoandroid81" />
<package id="System.Diagnostics.Contracts" version="4.3.0" targetFramework="monoandroid80" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Diagnostics.Process" version="4.1.0" targetFramework="monoandroid81" />
<package id="System.Diagnostics.StackTrace" version="4.0.1" targetFramework="monoandroid81" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Diagnostics.TraceSource" version="4.0.0" targetFramework="monoandroid81" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="monoandroid80" />
<package id="System.Globalization" version="4.3.0" targetFramework="monoandroid71" />
@@ -29,11 +32,14 @@
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.IO.FileSystem.Watcher" version="4.0.0" targetFramework="monoandroid81" />
<package id="System.Linq" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Net.Http" version="4.3.4" targetFramework="monoandroid81" />
<package id="System.Net.NameResolution" version="4.0.0" targetFramework="monoandroid81" />
<package id="System.Net.NetworkInformation" version="4.3.0" targetFramework="monoandroid80" />
<package id="System.Net.Primitives" version="4.3.1" targetFramework="monoandroid81" />
<package id="System.Net.Requests" version="4.0.11" targetFramework="monoandroid81" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="monoandroid81" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="monoandroid71" />
@@ -45,6 +51,7 @@
<package id="System.Reflection" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Reflection.TypeExtensions" version="4.1.0" targetFramework="monoandroid81" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Runtime" version="4.3.1" targetFramework="monoandroid81" />
<package id="System.Runtime.Extensions" version="4.3.1" targetFramework="monoandroid81" />
@@ -65,6 +72,7 @@
<package id="System.Threading" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Threading.Tasks.Extensions" version="4.5.3" targetFramework="monoandroid81" />
<package id="System.Threading.Thread" version="4.0.0" targetFramework="monoandroid81" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="monoandroid71" />
<package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="monoandroid80" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="monoandroid71" />
+22 -6
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Xamarin.Forms.4.1.0.618606\build\Xamarin.Forms.props" Condition="Exists('..\packages\Xamarin.Forms.4.1.0.618606\build\Xamarin.Forms.props')" />
<PropertyGroup>
@@ -27,6 +27,12 @@
<WarningLevel>4</WarningLevel>
<AndroidSigningKeyStore>/Users/jwetzell/Dropbox/App Stuff/Android/keystores/android.keystore</AndroidSigningKeyStore>
<AndroidSupportedAbis>x86;armeabi-v7a;arm64-v8a;x86_64</AndroidSupportedAbis>
<AotAssemblies>false</AotAssemblies>
<EnableLLVM>false</EnableLLVM>
<AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
<BundleAssemblies>false</BundleAssemblies>
<MandroidI18n>
</MandroidI18n>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -37,12 +43,21 @@
<WarningLevel>4</WarningLevel>
<AndroidManagedSymbols>true</AndroidManagedSymbols>
<AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
<AndroidKeyStore></AndroidKeyStore>
<AndroidSigningKeyStore></AndroidSigningKeyStore>
<AndroidSigningStorePass></AndroidSigningStorePass>
<AndroidSigningKeyAlias></AndroidSigningKeyAlias>
<AndroidSigningKeyPass></AndroidSigningKeyPass>
<AndroidKeyStore>
</AndroidKeyStore>
<AndroidSigningKeyStore>
</AndroidSigningKeyStore>
<AndroidSigningStorePass>
</AndroidSigningStorePass>
<AndroidSigningKeyAlias>
</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>
</AndroidSigningKeyPass>
<AndroidSupportedAbis>armeabi-v7a;x86;arm64-v8a;x86_64</AndroidSupportedAbis>
<AotAssemblies>false</AotAssemblies>
<EnableLLVM>false</EnableLLVM>
<AndroidEnableProfiledAot>false</AndroidEnableProfiledAot>
<BundleAssemblies>false</BundleAssemblies>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@@ -181,6 +196,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Resources\AboutResources.txt" />
<None Include="Properties\AndroidManifest.xml" />
<None Include="Assets\AboutAssets.txt" />
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Reactive" publicKeyToken="94bc3704cddfc263" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+10
View File
@@ -11,12 +11,16 @@
<package id="System.AppContext" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Collections" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Collections.Concurrent" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Collections.NonGeneric" version="4.0.1" targetFramework="xamarinios10" />
<package id="System.ComponentModel" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.ComponentModel.TypeConverter" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Console" version="4.3.1" targetFramework="xamarinios10" />
<package id="System.Diagnostics.Contracts" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Diagnostics.Process" version="4.1.0" targetFramework="xamarinios10" />
<package id="System.Diagnostics.StackTrace" version="4.0.1" targetFramework="xamarinios10" />
<package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Diagnostics.TraceSource" version="4.0.0" targetFramework="xamarinios10" />
<package id="System.Diagnostics.Tracing" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Globalization" version="4.3.0" targetFramework="xamarinios10" />
@@ -26,10 +30,13 @@
<package id="System.IO.Compression.ZipFile" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.IO.FileSystem" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.IO.FileSystem.Watcher" version="4.0.0" targetFramework="xamarinios10" />
<package id="System.Linq" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Linq.Expressions" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Net.NameResolution" version="4.0.0" targetFramework="xamarinios10" />
<package id="System.Net.NetworkInformation" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Net.Primitives" version="4.3.1" targetFramework="xamarinios10" />
<package id="System.Net.Requests" version="4.0.11" targetFramework="xamarinios10" />
<package id="System.Net.Sockets" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="xamarinios10" />
<package id="System.ObjectModel" version="4.3.0" targetFramework="xamarinios10" />
@@ -41,7 +48,9 @@
<package id="System.Reflection" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Reflection.Extensions" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Reflection.TypeExtensions" version="4.1.0" targetFramework="xamarinios10" />
<package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Runtime.Extensions" version="4.1.0" targetFramework="xamarinios10" />
<package id="System.Runtime.Handles" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="xamarinios10" />
@@ -59,6 +68,7 @@
<package id="System.Threading" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Threading.Tasks.Extensions" version="4.5.3" targetFramework="xamarinios10" />
<package id="System.Threading.Thread" version="4.0.0" targetFramework="xamarinios10" />
<package id="System.Threading.Timer" version="4.3.0" targetFramework="xamarinios10" />
<package id="System.Xml.ReaderWriter" version="4.3.1" targetFramework="xamarinios10" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="xamarinios10" />
+5 -5
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Xamarin.Forms.4.1.0.618606\build\Xamarin.Forms.props" Condition="Exists('..\packages\Xamarin.Forms.4.1.0.618606\build\Xamarin.Forms.props')" />
<PropertyGroup>
@@ -185,18 +185,18 @@
</ImageAsset>
</ItemGroup>
<ItemGroup>
<Folder Include="Resources\" />
<Folder Include="Assets.xcassets\add.imageset\" />
<Folder Include="Assets.xcassets\back.imageset\" />
<Folder Include="Assets.xcassets\connect.imageset\" />
<Folder Include="Assets.xcassets\delete.imageset\" />
<Folder Include="Assets.xcassets\add.imageset\" />
<Folder Include="Assets.xcassets\scan.imageset\" />
<Folder Include="Assets.xcassets\back.imageset\" />
<Folder Include="Assets.xcassets\hamburger.imageset\" />
<Folder Include="Assets.xcassets\scan.imageset\" />
</ItemGroup>
<ItemGroup>
<InterfaceDefinition Include="LaunchScreen.storyboard" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Info.plist" />
<None Include="Entitlements.plist" />
<None Include="packages.config" />
@@ -98,7 +98,7 @@ namespace qController
void Delete(object sender, EventArgs e)
{
Console.WriteLine("Delete " + nameLabel.Text + "," + addressLabel.Text + " Pressed");
Console.WriteLine("QINSTANCECELL - Delete " + nameLabel.Text + "," + addressLabel.Text + " Pressed");
QStorage.RemoveInstance(nameLabel.Text,addressLabel.Text);
}
@@ -106,7 +106,7 @@ namespace qController
void Connect(object sender, EventArgs e)
{
App.NavigationPage.Navigation.PushAsync(new ControlPage(nameLabel.Text,addressLabel.Text));
Console.WriteLine("Connect To " + nameLabel.Text + " Pressed");
Console.WriteLine("QINSTANCECELL - Connect To " + nameLabel.Text + " Pressed");
}
}
}
@@ -12,7 +12,6 @@ namespace qController
UDPSender udpSender;
public QParser qParser;
public QReceiver qReceiver;
string Address;
int Port;
@@ -23,7 +22,7 @@ namespace qController
qParser = new QParser();
qReceiver = new QReceiver(Port + 1);
tcpSender = new TCPSender(Address, Port);
udpSender = new UDPSender(Address, Port);
//udpSender = new UDPSender(Address, Port);
tcpSender.MessageReceived += OnMessageReceived;
qReceiver.UpdateMessageReceived += OnMessageReceived;
@@ -33,7 +32,7 @@ namespace qController
//one method for messages received whether from TCP or UDP (SAME MSG FORMAT)
private void OnMessageReceived(object source, MessageEventArgs args)
{
Console.WriteLine("QCLIENT MESSAGE RECEIVED: "+args.Message.Address);
Console.WriteLine("QCLIENT - Message Received: " + args.Message.Address);
//try to find a better filtering process
if (!args.Message.Address.Contains("update"))
qParser.ParseMessage(args.Message);
@@ -56,7 +55,7 @@ namespace qController
}
catch (Exception ex)
{
Console.WriteLine("SEND EXCEPTION: " + ex.Message);
Console.WriteLine("QCLIENT - Send Exception: " + ex.Message);
}
}
@@ -68,7 +67,7 @@ namespace qController
}
catch (Exception ex)
{
Console.WriteLine("SEND ARGS EXCEPTION: " + ex.Message);
Console.WriteLine("QCLIENT - Send w/Args Exception: " + ex.Message);
}
}
public void sendStringUDP(string address)
@@ -91,7 +90,7 @@ namespace qController
}
catch (Exception ex)
{
Console.WriteLine("SEND AND RECIEVE EXCEPTION: " + ex.Message);
Console.WriteLine("QCLIENT - Send and Receive Exception: " + ex.Message);
}
}
@@ -103,14 +102,14 @@ namespace qController
}
catch (Exception ex)
{
Console.WriteLine("SEND AND RECEIVE ARGS EXCEPTION: " + ex.Message);
Console.WriteLine("QCLIENT - Send and Receive w/Args Exception: " + ex.Message);
}
}
public void ProcessUpdate(OscMessage msg)
{
Console.WriteLine("PROCESS UPDATE : " + msg.Address);
Console.WriteLine("QCLIENT - Process Update: " + msg.Address);
if (msg.Address.Contains("workspace"))
{
UpdateWorkspace("not yet implemented");
@@ -133,7 +132,7 @@ namespace qController
public void UpdateWorkspace(string ws_id)
{
Console.WriteLine("Workspace needs to be updated: " + ws_id);
Console.WriteLine("QCLIENT - Workspace needs to be updated: " + ws_id);
}
public void Close()
@@ -29,7 +29,7 @@ namespace qController
public void Connect(string workspace_id)
{
Console.WriteLine("QCONTROLLER CONNECT CALLED: " + workspace_id);
Console.WriteLine("QCONTROLLER - Connect Called: " + workspace_id);
qWorkspace = new QWorkspace(workspace_id);
qUpdater.Start();
qClient.sendArgsUDP("/workspace/"+workspace_id+"/connect");
@@ -58,7 +58,7 @@ namespace qController
//qUpdater = new QUpdater(this);
if(qWorkspace != null)
{
Console.WriteLine("RESUMING " + qWorkspace.workspace_id);
Console.WriteLine("QCONTROLLER - Resuming: " + qWorkspace.workspace_id);
}
}
@@ -14,12 +14,9 @@ namespace qController
public async void SearchForWorkspaces()
{
Console.WriteLine("QFINDER - Scanning Started");
IReadOnlyList<IZeroconfHost> results = await ZeroconfResolver.ResolveAsync("_qlab._udp.local.");
foreach (var result in results){
Console.WriteLine(result.IPAddress);
}
Console.WriteLine("Done");
Console.WriteLine("QFINDER - Scanning Done");
}
}
}
@@ -3,7 +3,6 @@ using SharpOSC;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Collections.Generic;
namespace qController
{
public class CueEventArgs : EventArgs
@@ -69,7 +68,7 @@ namespace qController
{
public QParser()
{
}
public delegate void SelectedCueUpdatedHandler(object source, CueEventArgs args);
@@ -103,7 +102,7 @@ namespace qController
else if (msg.Address.Contains("playbackPosition"))
ParsePositionUpdateInfo(msg);
else if (msg.Address.Contains("thump"))
Console.WriteLine("Heartbeat Received");
Console.WriteLine("QPARSER - Heartbeat Received");
else if (msg.Address.Contains("disconnect"))
OnWorkspaceDisconnect();
else if (msg.Address.Contains("connect"))
@@ -114,7 +113,7 @@ namespace qController
ParseQInfo(msg);
else
{
Console.WriteLine("QParser/Unknown message type: " + msg.Address);
Console.WriteLine("QPARSER - Unkown message type: " + msg.Address);
foreach (var item in msg.Arguments)
{
Console.WriteLine(item);
@@ -171,9 +170,6 @@ namespace qController
{
try
{
Console.WriteLine(msg.Arguments.Count);
Console.WriteLine(msg.Arguments[0].ToString().Length);
QWorkspace workspace = JsonConvert.DeserializeObject<QWorkspace>(msg.Arguments[0].ToString());
OnWorkspaceUpdated(workspace);
}
@@ -181,7 +177,6 @@ namespace qController
{
OnWorkspaceLoadError(id);
}
}
else
{
@@ -1,4 +1,4 @@
//Class used for receiving workspace update messages
//Class used for receiving workspace update messages (UDP)
using SharpOSC;
using System.Threading;
@@ -24,7 +24,7 @@ namespace qController
private void OnWorkspaceLoadError(object source, WorkspaceEventArgs args)
{
Console.WriteLine("QUpdater: Loading cuelists has failed for some reason retrying");
Console.WriteLine("QUPDATER - Loading cuelists has failed for some reason retrying");
qController.qClient.sendArgsUDP("/workspace/" + args.UpdatedWorkspace.workspace_id + "/connect");
qController.qClient.sendArgsUDP("/workspace/" + args.UpdatedWorkspace.workspace_id + "/updates", 1);
qController.qClient.sendAndReceiveString("/workspace/" + args.UpdatedWorkspace.workspace_id + "/cueLists");
@@ -63,7 +63,7 @@ namespace qController
qController.qWorkspace.CheckPopulated();
if (qController.qWorkspace.IsPopulated)
{
Console.WriteLine("Workspace group cues are already populated");
Console.WriteLine("QUPDATER - Workspace group cues are already populated");
App.showToast("Workspace cues have been loaded....");
//get selected cue
qController.qClient.UpdateSelectedCue(qController.qWorkspace.workspace_id);
@@ -74,12 +74,13 @@ namespace qController
public void OnPlaybackPositionUpdated(object source, PlaybackPositionArgs args)
{
qController.playbackPosition = args.PlaybackPosition;
Console.WriteLine("ControlPage: Update Specific Cue Called because of Playback Position Updated");
Console.WriteLine("QUPDATER - Update Specific Cue Called because of Playback Position Updated");
qController.qClient.UpdateSpecificCue(qController.qWorkspace.workspace_id,args.PlaybackPosition);
}
public void SendThump()
{
qController.qClient.sendStringUDP("/workspace/" + qController.qWorkspace.workspace_id + "/thump");
}
@@ -46,7 +46,7 @@ namespace SharpOSC
int i = 0;
byte[] output = new byte[len];
Encoding.ASCII.GetBytes(bundle).CopyTo(output, i);
Encoding.UTF8.GetBytes(bundle).CopyTo(output, i);
i += bundleTagLen;
tag.CopyTo(output, i);
i += tag.Length;
@@ -142,10 +142,10 @@ namespace SharpOSC
byte[] output = new byte[total];
i = 0;
Encoding.ASCII.GetBytes(Address).CopyTo(output, i);
Encoding.UTF8.GetBytes(Address).CopyTo(output, i);
i += addressLen;
Encoding.ASCII.GetBytes(typeString).CopyTo(output, i);
Encoding.UTF8.GetBytes(typeString).CopyTo(output, i);
i += typeLen;
foreach (byte[] part in parts)
@@ -27,8 +27,9 @@ namespace SharpOSC
private static OscMessage parseMessage(byte[] msg)
{
int index = 0;
//Console.WriteLine("Raw OSC DATA: " + System.Text.Encoding.ASCII.GetString(msg));
string address = null;
//Console.WriteLine("Raw ASCII DATA: " + System.Text.Encoding.ASCII.GetString(msg));
//Console.WriteLine("Raw UTF-8 DATA: " + System.Text.Encoding.UTF8.GetString(msg));
string address = null;
char[] types = new char[0];
List<object> arguments = new List<object>();
List<object> mainArray = arguments; // used as a reference when we are parsing arrays to get the main array back
@@ -178,7 +179,7 @@ namespace SharpOSC
int index = 0;
var bundleTag = Encoding.ASCII.GetString(bundle.SubArray(0, 8));
var bundleTag = Encoding.UTF8.GetString(bundle.SubArray(0, 8));
index += 8;
timetag = getULong(bundle, index);
@@ -221,7 +222,7 @@ namespace SharpOSC
if (i == 0)
return "";
address = Encoding.ASCII.GetString(msg.SubArray(index, i - 1));
address = Encoding.UTF8.GetString(msg.SubArray(index, i - 1));
break;
}
}
@@ -241,7 +242,7 @@ namespace SharpOSC
{
if (msg[i - 1] == 0)
{
types = Encoding.ASCII.GetChars(msg.SubArray(index, i - index));
types = Encoding.UTF8.GetChars(msg.SubArray(index, i - index));
break;
}
}
@@ -249,7 +250,7 @@ namespace SharpOSC
if (types == null)
{
byte[] term = { 0 };
types = Encoding.ASCII.GetChars(term);
types = Encoding.UTF8.GetChars(term);
}
if (i >= msg.Length && types == null)
@@ -283,14 +284,14 @@ namespace SharpOSC
{
if (msg[i - 1] == 0)
{
output = Encoding.ASCII.GetString(msg.SubArray(index, i - index));
output = Encoding.UTF8.GetString(msg.SubArray(index, i - index));
break;
}
}
if (output == null)
{
byte[] term = { 0 };
output = Encoding.ASCII.GetString(term);
output = Encoding.UTF8.GetString(term);
}
if (i >= msg.Length && output == null)
throw new Exception("No null terminator after type string");
@@ -395,7 +396,7 @@ namespace SharpOSC
byte[] msg = new byte[len];
var bytes = Encoding.ASCII.GetBytes(value);
var bytes = Encoding.UTF8.GetBytes(value);
bytes.CopyTo(msg, 0);
return msg;
@@ -75,15 +75,15 @@ namespace SharpOSC
bytesRead = await netStream.ReadAsync(buffer, 0, buffer.Length);
responseData.AddRange(buffer);
Thread.Sleep(1);
//Console.WriteLine( "Thread " + num + ": Bytes read: " + bytesRead + " - " + Encoding.ASCII.GetString(buffer));
//Console.WriteLine( "Thread " + num + ": Bytes read: " + bytesRead + " - " + Encoding.UTF8.GetString(buffer));
} while (netStream.DataAvailable);
//Console.WriteLine("Raw TCP In: " + System.Text.Encoding.ASCII.GetString(responseData.ToArray()));
//Console.WriteLine("Raw TCP In: " + System.Text.Encoding.UTF8.GetString(responseData.ToArray()));
response = (OscMessage)OscPacket.GetPacket(responseData.Skip(1).ToArray());
}
} catch(Exception e)
{
Console.WriteLine("RECEIVE EXCEPTION: " + e.ToString());
Console.WriteLine("TCPSENDER - Receive Exception: " + e.ToString());
}
OnMessageReceived(response);
}
@@ -101,7 +101,7 @@ namespace SharpOSC
public void SendAndReceive(OscPacket packet)
{
OscMessage msg = (OscMessage)packet;
//Console.WriteLine("TCP Message Sent: " + msg.Address);
//Console.WriteLine("TCPSENDER - TCP Message Sent: " + msg.Address);
byte[] data = packet.GetBytes();
SendAndReceive(data);
}
@@ -13,7 +13,7 @@ namespace qController
if (qInstances == null)
{
Console.WriteLine("No qInstance exists creating one");
Console.WriteLine("QSTORAGE - No qInstance exists creating one");
qInstances = new ObservableCollection<QInstance>();
updateStorage();
}
+13 -8
View File
@@ -20,6 +20,7 @@ namespace qController
qController = new QController(address, 53000);
qController.qClient.qParser.WorkspaceInfoReceived += WorkspaceInfoReceived;
qController.qClient.qParser.WorkspaceUpdated += WorkspaceUpdated;
qController.qClient.qParser.WorkspaceDisconnect += WorkspaceDisconnected;
qController.qClient.qParser.PlaybackPositionUpdated += PlaybackPositionUpdated;
qController.qClient.qParser.CueInfoUpdated += OnCueUpdateReceived;
qController.qClient.qParser.ChildrenUpdated += OnChildrenUpdated;
@@ -37,13 +38,12 @@ namespace qController
{
if(args.WorkspaceInfo.Count > 1)
{
Console.WriteLine("ControlPage: MULTIPLE WORKSPACES ON SELECTED COMPUTER");
Console.WriteLine("CONTROLPAGE - MULTIPLE WORKSPACES ON SELECTED COMPUTER");
PromptForWorkspace(args.WorkspaceInfo);
}
else if (args.WorkspaceInfo.Count == 1)
{
Console.WriteLine("ControlPage: ONLY ONE WORKSPACE ON SELECTED COMPUTER");
Console.WriteLine("HasPasscode : " + args.WorkspaceInfo[0].hasPasscode);
Console.WriteLine("CONTROLPAGE - ONLY ONE WORKSPACE ON SELECTED COMPUTER");
if (!args.WorkspaceInfo[0].hasPasscode)
{
qController.Connect(args.WorkspaceInfo[0].uniqueID);
@@ -89,7 +89,7 @@ namespace qController
{
QWorkspaceInfo workspace = workspaces[i];
config.Add(workspace.displayName, new Action(() => {
Console.WriteLine("ControlPage: Workspace Selected " + workspace.displayName);
Console.WriteLine("CONTROLPAGE - Workspace Selected " + workspace.displayName);
if (!workspace.hasPasscode)
{
qController.Connect(workspace.uniqueID);
@@ -241,6 +241,11 @@ namespace qController
});
}
public void WorkspaceDisconnected(object sender, EventArgs e)
{
Back();
}
public void WorkspaceUpdated(object sender, WorkspaceEventArgs e)
{
if(e.UpdatedWorkspace.data.Count > 0)
@@ -264,10 +269,10 @@ namespace qController
noSelect.number = "!";
qCell.UpdateSelectedCue(noSelect);
});
Console.WriteLine("ControlPage: Update Selected Cue Called because of Inital Workspace Load");
Console.WriteLine("CONTROLPAGE - Update Selected Cue Called because of Inital Workspace Load");
qController.qClient.UpdateSelectedCue(qController.qWorkspace.workspace_id);
}
Console.WriteLine("ControlPage: Workspace Updated " + qController.qWorkspace.workspace_id);
Console.WriteLine("CONTROLPAGE - Workspace Updated " + qController.qWorkspace.workspace_id);
}
}
}
@@ -275,7 +280,7 @@ namespace qController
public void PlaybackPositionUpdated(object sender, PlaybackPositionArgs e)
{
qController.playbackPosition = e.PlaybackPosition;
Console.WriteLine("ControlPage: Playback Position Updated " + qController.playbackPosition);
Console.WriteLine("CONTROLPAGE - Playback Position Updated " + qController.playbackPosition);
QCue cue = qController.qWorkspace.GetCue(qController.playbackPosition);
if(cue != null)
{
@@ -308,7 +313,7 @@ namespace qController
{
Device.BeginInvokeOnMainThread(() =>
{
Console.WriteLine("ControlPage: Refreshing Currently Displayed Cue");
Console.WriteLine("CONTROLPAGE - Refreshing Currently Displayed Cue");
if (args.Cue.levels != null)
showLevelsButton.IsVisible = true;
else
@@ -122,7 +122,7 @@ namespace qController
async void Scan(){
bool workspacesFound = false;
App.showToast("Scanning for Instances...");
Console.WriteLine("Begin Scanning");
Console.WriteLine("QCONNECTIONPAGE - Begin Scanning");
IReadOnlyList<IZeroconfHost> results = await ZeroconfResolver.ResolveAsync("_qlab._udp.local.",TimeSpan.FromSeconds(3));
if(results != null){
@@ -132,7 +132,7 @@ namespace qController
{
QInstance instance = new QInstance(result.DisplayName, result.IPAddress);
if(QStorage.AddInstance(instance)){
Console.WriteLine(result.DisplayName + " @ " + result.IPAddress + " added");
Console.WriteLine($"QCONNECTIONPAGE - {result.DisplayName} @ {result.IPAddress} added");
workspacesFound = true;
}
}
+26 -17
View File
@@ -1,57 +1,66 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
# Visual Studio Version 16
VisualStudioVersion = 16.0.29424.173
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "qController.iOS", "iOS\qController.iOS.csproj", "{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "qController.Droid", "Droid\qController.Droid.csproj", "{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "qController", "qController.Standard\qController.csproj", "{86160AAC-2150-41B0-BB06-4442CA054A78}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "qController", "qController.Standard\qController.csproj", "{86160AAC-2150-41B0-BB06-4442CA054A78}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Debug|iPhone = Debug|iPhone
Debug|iPhoneSimulator = Debug|iPhoneSimulator
Release|Any CPU = Release|Any CPU
Release|iPhone = Release|iPhone
Release|iPhoneSimulator = Release|iPhoneSimulator
Debug|iPhone = Debug|iPhone
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|Any CPU.ActiveCfg = Release|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|Any CPU.Build.0 = Release|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|iPhone.ActiveCfg = Debug|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|iPhone.Build.0 = Debug|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|Any CPU.ActiveCfg = Release|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|Any CPU.Build.0 = Release|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|iPhone.ActiveCfg = Release|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|iPhone.Build.0 = Release|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|iPhone.ActiveCfg = Debug|iPhone
{A30F10F2-4CBC-47E6-841D-8DCAD05BAA0D}.Debug|iPhone.Build.0 = Debug|iPhone
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|Any CPU.Build.0 = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|iPhone.Build.0 = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|Any CPU.Build.0 = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|Any CPU.Deploy.0 = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|iPhone.ActiveCfg = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|iPhone.Build.0 = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{D960ED89-25D2-46E8-B24C-1FFFCD19C0D9}.Debug|iPhone.Build.0 = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|Any CPU.Build.0 = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|iPhone.Build.0 = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|Any CPU.Build.0 = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|iPhone.ActiveCfg = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|iPhone.Build.0 = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{86160AAC-2150-41B0-BB06-4442CA054A78}.Debug|iPhone.Build.0 = Debug|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3DBBFC12-E39D-4331-B179-FF5D0493949C}
EndGlobalSection
EndGlobal