This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Get-CiscoIGMPGroups { | |
return plink -ssh [email protected] -pw cisco -batch "sh ip igmp snooping groups | include 224.0.1.129" 2>$null | ? {$_.Length -gt 0}; | |
} | |
Write-Output "Starting IGMP group monitoring." | |
Write-Output "Press any key to exit..." | |
Write-Output ""; | |
$prevEntry = ""; | |
do { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Parse design file header | |
$header = [System.Text.Encoding]::ASCII.GetString((Get-Content $args[0] -Encoding byte -TotalCount 64)); | |
$version = ($header | Select-String -Pattern "Q-Sys Designer, Version=(\d+\.\d+)").Matches.Groups[1].Value; | |
# Enumerate installed Q-Sys Designer versions | |
$InstalledSoftware = Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall"; | |
$DesignerVersions = @(); | |
foreach($obj in $InstalledSoftware){ | |
$name = $obj.GetValue('DisplayName'); | |
if($name -like "Q-Sys Designer *") { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
S = TcpSocket.New(); | |
S.EventHandler = print; | |
S:Connect(<HOST>, 80); | |
S.ReconnectTimeout = 0; | |
function randomWebSocketKey() | |
return Crypto.Base64Encode(('x'):rep(16):gsub('.', function() return string.char(math.random(0,255)) end)); | |
end; | |
S.Connected = function() |
Locimation provides a range of open-source software, available at github.com/locimation.
Some projects may make use of undocumented features, or require further testing or development.
As such, we provide two types of graphical label to indicate the current status of the software.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ | |
Q-Sys Redis Client | |
Author: Michael Goodyear | |
Email: [email protected] | |
Version: 1.1 | |
Copyright 2020 Locimation Pty Ltd | |
Permission is hereby granted, free of charge, | |
to any person obtaining a copy of this software | |
and associated documentation files (the "Software"), |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--[[ | |
Notes: | |
- Remove any data:image/type; prefix | |
- Legend = '' prevents the Style JSON from appearing as the button label | |
- DrawChrome hides the button itself and just displays the image. | |
]] | |
Controls['Artwork'].Style = json.encode({ | |
DrawChrome = false, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- First we find all the files in the "playlist" directory | |
PlaylistFiles = dir.get('media/Playlists/') | |
-- Next we make a table that's going to contain all our playlist names | |
PlaylistNames = {} | |
-- Next we go through the list of playlist files we've found | |
for _,f in ipairs(PlaylistFiles) do | |
-- Open the file |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Promise = (function(asyncFunction) | |
local state = 'pending'; | |
local result; | |
local rListen, eListen = {}, {}; | |
asyncFunction(function(...) | |
for _,f in pairs(rListen) do | |
f(...); | |
end; |
NewerOlder