4 Commits

Author SHA1 Message Date
jwetzell 406bcc9e7f Update publish.yml 2021-09-05 11:32:25 -05:00
jwetzell 015913b2a1 Update version number 2021-09-05 11:28:43 -05:00
jwetzell 6f20d7ba19 * QControlKit.csproj: Update Packages
* QBrowser.cs: Fix zeroconf server loss detection
2021-09-04 10:41:49 -05:00
jwetzell 6dd0f766e8 Add Workspace Event Handlers 2021-07-28 09:07:55 -05:00
4 changed files with 16 additions and 17 deletions
+3 -3
View File
@@ -1,8 +1,8 @@
name: Publish to NuGet name: Publish to NuGet
on: on:
release: push:
types: branches:
- created # When a release is made - master # Default release branch
jobs: jobs:
publish: publish:
name: build, pack & publish name: build, pack & publish
+3 -9
View File
@@ -62,15 +62,9 @@ namespace QControlKit
foreach(var server in qServers) foreach(var server in qServers)
{ {
bool serverToBeRemoved = true; IZeroconfHost found = results.ToList().Find(x => x.IPAddress.Equals(server.host));
foreach(var zeroconfHost in results){
QServer existingServer = serverForAddress(zeroconfHost.IPAddress); if (found == null)
if(server != null)
{
serverToBeRemoved = false;
}
}
if (serverToBeRemoved)
{ {
server.disconnect(); server.disconnect();
servers.Remove(server); servers.Remove(server);
+2 -2
View File
@@ -6,7 +6,7 @@
<Authors>Joel Wetzell</Authors> <Authors>Joel Wetzell</Authors>
<Version>1.0.0-devel</Version> <Version>1.0.0-devel</Version>
<PackOnBuild>true</PackOnBuild> <PackOnBuild>true</PackOnBuild>
<PackageVersion>0.0.19</PackageVersion> <PackageVersion>0.0.20</PackageVersion>
<PackageId>QControlKit</PackageId> <PackageId>QControlKit</PackageId>
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<Summary>Unofficial C# port of Figure53's QLabKit.objc</Summary> <Summary>Unofficial C# port of Figure53's QLabKit.objc</Summary>
@@ -16,7 +16,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Serilog" Version="2.10.0" /> <PackageReference Include="Serilog" Version="2.10.0" />
<PackageReference Include="Zeroconf" Version="3.4.2" /> <PackageReference Include="Zeroconf" Version="3.5.11" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
+8 -3
View File
@@ -35,6 +35,9 @@ namespace QControlKit
public event QWorkspaceUpdatedHandler WorkspaceUpdated; public event QWorkspaceUpdatedHandler WorkspaceUpdated;
public event QCueListChangedPlaybackPositionHandler CueListChangedPlaybackPosition; public event QCueListChangedPlaybackPositionHandler CueListChangedPlaybackPosition;
public event QWorkspaceConnectionErrorHandler WorkspaceConnectionError; public event QWorkspaceConnectionErrorHandler WorkspaceConnectionError;
public event QWorkspaceDisconnectedHandler WorkspaceDisconnected;
public event QWorkspaceConnectedHandler WorkspaceConnected;
private void Init() private void Init()
{ {
@@ -172,14 +175,14 @@ namespace QControlKit
if(hasPasscode && passcode == null) if(hasPasscode && passcode == null)
{ {
Log.Error($"[workspace] *** workspace <{name}> requires a passcode but none was supplied."); Log.Error($"[workspace] *** workspace <{name}> requires a passcode but none was supplied.");
OnWorkspaceConnectionError(this, new QWorkspaceConnectionErrorArgs { status = "badpass" }); OnWorkspaceConnectionError(this, new QWorkspaceConnectionErrorArgs { status = QConnectionStatus.BadPass });
return; return;
} }
if (!client.connect()) if (!client.connect())
{ {
Log.Error($"[workspace] *** couldn't connect to server client is not connected."); Log.Error($"[workspace] *** couldn't connect to server client is not connected.");
OnWorkspaceConnectionError(this, new QWorkspaceConnectionErrorArgs { status = "unreachable" }); OnWorkspaceConnectionError(this, new QWorkspaceConnectionErrorArgs { status = QConnectionStatus.Error });
return; return;
} }
@@ -424,7 +427,7 @@ namespace QControlKit
{ {
//clear passcode if there was one set in the connect() method //clear passcode if there was one set in the connect() method
this.passcode = null; this.passcode = null;
Log.Error($"[workspace] *** Password for workspace {name} was incorrect!"); Log.Error($"[workspace] *** Password for workspace <{name}> was incorrect!");
} }
else else
{ {
@@ -437,6 +440,7 @@ namespace QControlKit
private void OnWorkspaceConnected(object source, QWorkspaceConnectedArgs args) private void OnWorkspaceConnected(object source, QWorkspaceConnectedArgs args)
{ {
Log.Information($"[workspace] Connection to <{name}> successful, finishing things up."); Log.Information($"[workspace] Connection to <{name}> successful, finishing things up.");
WorkspaceConnected?.Invoke(this, new QWorkspaceConnectedArgs());
finishConnection(); finishConnection();
} }
@@ -444,6 +448,7 @@ namespace QControlKit
{ {
//this might not be called with TCP? //this might not be called with TCP?
Log.Warning($"[workspace] *** Workspace has indicated it is disconnecting"); Log.Warning($"[workspace] *** Workspace has indicated it is disconnecting");
WorkspaceDisconnected?.Invoke(this, new QWorkspaceDisconnectedArgs());
} }
private void OnCueListsUpdated(object source, QCueListsUpdatedArgs args) private void OnCueListsUpdated(object source, QCueListsUpdatedArgs args)