├── .gitattributes
├── .github
└── workflows
│ └── stale.yml
├── .gitignore
├── FXCommands.sln
├── FXCommands
├── App.config
├── ConnectionManager.cs
├── FXCommands.csproj
├── FXCommands.csproj.user
├── Images
│ ├── categoryIcon.png
│ ├── categoryIcon@2x.png
│ ├── icon.png
│ ├── icon@2x.png
│ ├── pluginAction.png
│ ├── pluginAction0.png
│ ├── pluginAction0@2x.png
│ ├── pluginAction1.png
│ ├── pluginAction1@2x.png
│ ├── pluginAction2.png
│ ├── pluginAction2@2x.png
│ ├── pluginAction3.png
│ ├── pluginAction3@2x.png
│ ├── pluginAction4.png
│ ├── pluginAction4@2x.png
│ ├── pluginAction@2x.png
│ ├── pluginIcon.png
│ └── pluginIcon@2x.png
├── PluginAction.cs
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── PropertyInspector
│ ├── PluginActionPI.html
│ ├── PluginActionPI.js
│ ├── caret.svg
│ ├── check.png
│ ├── check.svg
│ ├── elg_calendar.svg
│ ├── elg_calendar_inv.svg
│ ├── rcheck.svg
│ ├── sdpi.css
│ └── sdtools.common.js
├── manifest.json
├── packages.config
└── previews
│ ├── 1-preview.png
│ ├── 2-preview.png
│ └── 3-preview.png
├── LICENSE.md
├── README.md
├── media
├── fxcommands-banner.png
└── previews.psd
└── packages
├── CommandLineParser.2.7.82
├── .signature.p7s
├── CommandLine20.png
├── CommandLineParser.2.7.82.nupkg
├── License.md
├── README.md
└── lib
│ ├── net40
│ ├── CommandLine.dll
│ └── CommandLine.xml
│ ├── net45
│ ├── CommandLine.dll
│ └── CommandLine.xml
│ ├── net461
│ ├── CommandLine.dll
│ └── CommandLine.xml
│ └── netstandard2.0
│ ├── CommandLine.dll
│ └── CommandLine.xml
├── DynamicLanguageRuntime.1.3.1
├── .signature.p7s
├── DynamicLanguageRuntime.1.3.1.nupkg
├── LICENSE
├── README.md
└── lib
│ ├── net45
│ ├── Microsoft.Dynamic.dll
│ ├── Microsoft.Dynamic.xml
│ ├── Microsoft.Scripting.Metadata.dll
│ ├── Microsoft.Scripting.Metadata.xml
│ ├── Microsoft.Scripting.dll
│ └── Microsoft.Scripting.xml
│ ├── netcoreapp3.1
│ ├── Microsoft.Dynamic.dll
│ ├── Microsoft.Dynamic.xml
│ ├── Microsoft.Scripting.Metadata.dll
│ ├── Microsoft.Scripting.Metadata.xml
│ ├── Microsoft.Scripting.dll
│ └── Microsoft.Scripting.xml
│ └── netstandard2.0
│ ├── Microsoft.Dynamic.dll
│ ├── Microsoft.Dynamic.xml
│ ├── Microsoft.Scripting.Metadata.dll
│ ├── Microsoft.Scripting.Metadata.xml
│ ├── Microsoft.Scripting.dll
│ └── Microsoft.Scripting.xml
├── NLog.4.6.8
├── .signature.p7s
├── NLog.4.6.8.nupkg
└── lib
│ ├── monoandroid44
│ ├── NLog.dll
│ └── NLog.xml
│ ├── net35
│ ├── NLog.dll
│ └── NLog.xml
│ ├── net40-client
│ ├── NLog.dll
│ └── NLog.xml
│ ├── net45
│ ├── NLog.dll
│ └── NLog.xml
│ ├── netstandard1.3
│ ├── NLog.dll
│ └── NLog.xml
│ ├── netstandard1.5
│ ├── NLog.dll
│ └── NLog.xml
│ ├── netstandard2.0
│ ├── NLog.dll
│ └── NLog.xml
│ ├── sl4
│ ├── NLog.dll
│ └── NLog.xml
│ ├── sl5
│ ├── NLog.dll
│ └── NLog.xml
│ ├── wp8
│ ├── NLog.dll
│ └── NLog.xml
│ └── xamarinios10
│ ├── NLog.dll
│ └── NLog.xml
├── Newtonsoft.Json.13.0.1
├── .signature.p7s
├── LICENSE.md
├── Newtonsoft.Json.13.0.1.nupkg
├── lib
│ ├── net20
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
│ ├── net35
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
│ ├── net40
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
│ ├── net45
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
│ ├── netstandard1.0
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
│ ├── netstandard1.3
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
│ └── netstandard2.0
│ │ ├── Newtonsoft.Json.dll
│ │ └── Newtonsoft.Json.xml
└── packageIcon.png
├── StreamDeck-Tools.2.7.0
├── .signature.p7s
├── StreamDeck-Tools.2.7.0.nupkg
└── lib
│ ├── net472
│ └── StreamDeckTools.dll
│ └── netstandard2.0
│ └── StreamDeckTools.dll
├── System.Drawing.Common.4.7.0
├── .signature.p7s
├── LICENSE.TXT
├── System.Drawing.Common.4.7.0.nupkg
├── THIRD-PARTY-NOTICES.TXT
├── lib
│ ├── MonoAndroid10
│ │ └── _._
│ ├── MonoTouch10
│ │ └── _._
│ ├── net461
│ │ └── System.Drawing.Common.dll
│ ├── netstandard2.0
│ │ └── System.Drawing.Common.dll
│ ├── xamarinios10
│ │ └── _._
│ ├── xamarinmac20
│ │ └── _._
│ ├── xamarintvos10
│ │ └── _._
│ └── xamarinwatchos10
│ │ └── _._
├── ref
│ ├── MonoAndroid10
│ │ └── _._
│ ├── MonoTouch10
│ │ └── _._
│ ├── net461
│ │ └── System.Drawing.Common.dll
│ ├── netcoreapp3.0
│ │ ├── System.Drawing.Common.dll
│ │ └── System.Drawing.Common.xml
│ ├── netstandard2.0
│ │ └── System.Drawing.Common.dll
│ ├── xamarinios10
│ │ └── _._
│ ├── xamarinmac20
│ │ └── _._
│ ├── xamarintvos10
│ │ └── _._
│ └── xamarinwatchos10
│ │ └── _._
├── runtimes
│ ├── unix
│ │ └── lib
│ │ │ ├── netcoreapp2.0
│ │ │ └── System.Drawing.Common.dll
│ │ │ └── netcoreapp3.0
│ │ │ ├── System.Drawing.Common.dll
│ │ │ └── System.Drawing.Common.xml
│ └── win
│ │ └── lib
│ │ ├── netcoreapp2.0
│ │ └── System.Drawing.Common.dll
│ │ └── netcoreapp3.0
│ │ ├── System.Drawing.Common.dll
│ │ └── System.Drawing.Common.xml
├── useSharedDesignerContext.txt
└── version.txt
└── streamdeck-client-csharp.4.1.1
├── .signature.p7s
├── lib
└── netstandard2.0
│ └── streamdeck-client-csharp.dll
└── streamdeck-client-csharp.4.1.1.nupkg
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: Mark stale issues and pull requests
2 |
3 | on:
4 | schedule:
5 | - cron: '32 12 * * *'
6 |
7 | jobs:
8 | stale:
9 | runs-on: ubuntu-latest
10 | permissions:
11 | issues: write
12 | pull-requests: write
13 |
14 | steps:
15 | - uses: actions/stale@v9
16 | with:
17 | repo-token: ${{ secrets.GITHUB_TOKEN }}
18 | stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.'
19 | stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions'
20 | stale-issue-label: 'no-issue-activity'
21 | stale-pr-label: 'no-pr-activity'
22 | days-before-stale: 7
23 | days-before-close: 14
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _ReSharper.*/
2 | *.sdf
3 | bin/
4 | obj/
5 | Debug/...
6 | *.pdb
7 | .vs/
8 | /Release/*
9 | /FXCommands/bin/Debug
10 | /FXCommands/bin/Release
--------------------------------------------------------------------------------
/FXCommands.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.32602.291
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FXCommands", "FXCommands\FXCommands.csproj", "{4635D874-69C0-4010-BE46-77EF92EB1553}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {49a7cfcf-ad32-48fc-b868-86236f27d819}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/FXCommands/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/FXCommands/ConnectionManager.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Net;
5 | using System.Net.NetworkInformation;
6 | using System.Net.Sockets;
7 | using System.Text;
8 |
9 | namespace FXCommands
10 | {
11 | internal class ConnectionManager
12 | {
13 | private static Dictionary tcpClients = new Dictionary(10);
14 |
15 | public void SendMessage(string message, bool canRetry = true)
16 | {
17 | string ipAddress = "127.0.0.1";
18 | int port = 29200; // fx console
19 |
20 | byte[] b_header = "43:4d:4e:44:00:d2:00:00".Split(':').Select(s => byte.Parse(s, System.Globalization.NumberStyles.HexNumber)).ToArray();
21 | byte[] b_command = Encoding.UTF8.GetBytes(message + "\n");
22 | byte[] b_padding = { 0, 0 };
23 | byte[] b_length = BitConverter.GetBytes((message.Length + 13));
24 | byte[] b_terminator = { 00 };
25 |
26 | Array.Reverse(b_length);
27 |
28 | byte[] data = b_header.Concat(b_length).Concat(b_padding).Concat(b_command).Concat(b_terminator).ToArray();
29 |
30 | string tcpClientIdentifier = $"{ipAddress}::{port}";
31 |
32 | try
33 | {
34 | IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ipAddress), port);
35 |
36 | if (!tcpClients.ContainsKey(tcpClientIdentifier))
37 | {
38 | tcpClients.Add(tcpClientIdentifier, new TcpClient() { NoDelay = true });
39 | }
40 | else
41 | {
42 | IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
43 | TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections()
44 | .Where(x => x.LocalEndPoint.Equals(tcpClients[tcpClientIdentifier].Client.LocalEndPoint) &&
45 | x.RemoteEndPoint.Equals(tcpClients[tcpClientIdentifier].Client.RemoteEndPoint))
46 | .ToArray();
47 |
48 | if (tcpConnections == null || tcpConnections.Length == 0 || tcpConnections.First().State != TcpState.Established)
49 | {
50 | tcpClients[tcpClientIdentifier].Close();
51 | tcpClients[tcpClientIdentifier] = new TcpClient() { NoDelay = true };
52 | }
53 | }
54 |
55 | if (!tcpClients[tcpClientIdentifier].Connected)
56 | {
57 | tcpClients[tcpClientIdentifier].Connect(ep);
58 | }
59 |
60 | if (tcpClients[tcpClientIdentifier].Connected)
61 | {
62 | var tcpStream = tcpClients[tcpClientIdentifier].GetStream();
63 | tcpStream.Write(data, 0, data.Length);
64 | }
65 | }
66 | catch (Exception ex)
67 | {
68 | tcpClients[tcpClientIdentifier].Close();
69 | tcpClients[tcpClientIdentifier] = new TcpClient() { NoDelay = true };
70 | Console.WriteLine(ex.ToString());
71 | }
72 | }
73 |
74 | public void InitializeClients()
75 | {
76 | tcpClients = new Dictionary();
77 | }
78 |
79 | public void Dispose()
80 | {
81 | foreach (var client in tcpClients.Values)
82 | {
83 | client.Close();
84 | client.Dispose();
85 | }
86 | }
87 | }
88 | }
--------------------------------------------------------------------------------
/FXCommands/FXCommands.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {4635D874-69C0-4010-BE46-77EF92EB1553}
8 | Exe
9 | FXCommands
10 | tf.josh.fxcommands
11 | v4.7.2
12 | 512
13 | true
14 | true
15 | false
16 | publish\
17 | true
18 | Disk
19 | false
20 | Foreground
21 | 7
22 | Days
23 | false
24 | false
25 | true
26 | 0
27 | 1.0.0.%2a
28 | false
29 | true
30 |
31 |
32 | AnyCPU
33 | true
34 | full
35 | false
36 | bin\Debug\tf.josh.fxcommands.sdPlugin\
37 | DEBUG;TRACE
38 | prompt
39 | 4
40 |
41 |
42 | AnyCPU
43 | pdbonly
44 | true
45 | bin\Release\tf.josh.FXCommands.sdPlugin\
46 | TRACE
47 | prompt
48 | 4
49 |
50 |
51 |
52 | ..\packages\CommandLineParser.2.7.82\lib\net461\CommandLine.dll
53 |
54 |
55 | ..\packages\DynamicLanguageRuntime.1.3.1\lib\net45\Microsoft.Dynamic.dll
56 |
57 |
58 | ..\packages\DynamicLanguageRuntime.1.3.1\lib\net45\Microsoft.Scripting.dll
59 |
60 |
61 | ..\packages\DynamicLanguageRuntime.1.3.1\lib\net45\Microsoft.Scripting.Metadata.dll
62 |
63 |
64 | ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll
65 |
66 |
67 | ..\packages\NLog.4.6.8\lib\net45\NLog.dll
68 |
69 |
70 | ..\packages\streamdeck-client-csharp.4.1.1\lib\netstandard2.0\streamdeck-client-csharp.dll
71 |
72 |
73 | ..\packages\StreamDeck-Tools.2.7.0\lib\net472\StreamDeckTools.dll
74 |
75 |
76 |
77 |
78 |
79 |
80 | ..\packages\System.Drawing.Common.4.7.0\lib\net461\System.Drawing.Common.dll
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 | PreserveNewest
103 |
104 |
105 |
106 |
107 |
108 | PreserveNewest
109 |
110 |
111 | PreserveNewest
112 |
113 |
114 | PreserveNewest
115 |
116 |
117 | PreserveNewest
118 |
119 |
120 | PreserveNewest
121 |
122 |
123 | PreserveNewest
124 |
125 |
126 | PreserveNewest
127 |
128 |
129 | PreserveNewest
130 |
131 |
132 | PreserveNewest
133 |
134 |
135 | PreserveNewest
136 |
137 |
138 | PreserveNewest
139 |
140 |
141 | PreserveNewest
142 |
143 |
144 | PreserveNewest
145 |
146 |
147 | PreserveNewest
148 |
149 |
150 | PreserveNewest
151 |
152 |
153 | PreserveNewest
154 |
155 |
156 | PreserveNewest
157 |
158 |
159 | PreserveNewest
160 |
161 |
162 | PreserveNewest
163 |
164 |
165 | PreserveNewest
166 |
167 |
168 | PreserveNewest
169 |
170 |
171 | PreserveNewest
172 |
173 |
174 | PreserveNewest
175 |
176 |
177 | PreserveNewest
178 |
179 |
180 | PreserveNewest
181 |
182 |
183 | PreserveNewest
184 |
185 |
186 | PreserveNewest
187 |
188 |
189 | PreserveNewest
190 |
191 |
192 | PreserveNewest
193 |
194 |
195 | PreserveNewest
196 |
197 |
198 | PreserveNewest
199 |
200 |
201 |
202 |
203 | False
204 | Microsoft .NET Framework 4.7.2 %28x86 and x64%29
205 | true
206 |
207 |
208 | False
209 | .NET Framework 3.5 SP1
210 | false
211 |
212 |
213 |
214 |
--------------------------------------------------------------------------------
/FXCommands/FXCommands.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | publish\
5 |
6 |
7 |
8 |
9 |
10 | en-US
11 | false
12 |
13 |
--------------------------------------------------------------------------------
/FXCommands/Images/categoryIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/categoryIcon.png
--------------------------------------------------------------------------------
/FXCommands/Images/categoryIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/categoryIcon@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/icon.png
--------------------------------------------------------------------------------
/FXCommands/Images/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/icon@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction0.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction0@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction0@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction1.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction1@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction1@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction2.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction2@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction3.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction3@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction4.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction4@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginAction@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction@2x.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginIcon.png
--------------------------------------------------------------------------------
/FXCommands/Images/pluginIcon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginIcon@2x.png
--------------------------------------------------------------------------------
/FXCommands/PluginAction.cs:
--------------------------------------------------------------------------------
1 | using BarRaider.SdTools;
2 | using Newtonsoft.Json;
3 | using Newtonsoft.Json.Linq;
4 | using System.Collections.Generic;
5 | using System.Net.Sockets;
6 | using System.Threading.Tasks;
7 |
8 | namespace FXCommands
9 | {
10 | [PluginActionId("tf.josh.fxcommands")]
11 | public class PluginAction : PluginBase
12 | {
13 |
14 | readonly static int MAXSTATES = 5;
15 | private static bool firstPluginLoad = true;
16 | private int currentState = 0;
17 |
18 | private CommandAction CurrentCommandAction => settings.commands[currentState];
19 |
20 | private class PluginSettings
21 | {
22 | [JsonProperty(PropertyName = "currentState")]
23 | public int? StoredState { get; set; } = null;
24 |
25 | PluginSettings()
26 | {
27 | commands = new List(MAXSTATES);
28 | for (int i = 0; i < MAXSTATES; i++)
29 | {
30 | commands.Add(new CommandAction());
31 | }
32 | }
33 |
34 | public static PluginSettings CreateDefaultSettings()
35 | {
36 | PluginSettings instance = new PluginSettings();
37 |
38 | instance.commands = new List(MAXSTATES);
39 | for (int i = 0; i < MAXSTATES; i++)
40 | {
41 | instance.commands.Add(new CommandAction());
42 | }
43 |
44 | return instance;
45 | }
46 |
47 | public List commands = new List(5);
48 |
49 | Dictionary tcpClients = new Dictionary();
52 |
53 | [JsonProperty(PropertyName = "desiredStates")]
54 | public int DesiredStates
55 | {
56 | get;
57 | set;
58 | }
59 |
60 | #region State0
61 |
62 | [JsonProperty(PropertyName = "commandPressed0")]
63 | public string CommandPressed0
64 | {
65 | get
66 | {
67 | return commands[0].CommandPressed;
68 | }
69 | set
70 | {
71 | commands[0].CommandPressed = value;
72 | }
73 | }
74 |
75 | [JsonProperty(PropertyName = "commandReleased0")]
76 | public string CommandReleased0
77 | {
78 | get
79 | {
80 | return commands[0].CommandReleased;
81 | }
82 | set
83 | {
84 | commands[0].CommandReleased = value;
85 | }
86 | }
87 | #endregion
88 |
89 | #region State1
90 |
91 | [JsonProperty(PropertyName = "commandPressed1")]
92 | public string CommandPressed1
93 | {
94 | get
95 | {
96 | return commands[1].CommandPressed;
97 | }
98 | set
99 | {
100 | commands[1].CommandPressed = value;
101 | }
102 | }
103 |
104 | [JsonProperty(PropertyName = "commandReleased1")]
105 | public string CommandReleased1
106 | {
107 | get
108 | {
109 | return commands[1].CommandReleased;
110 | }
111 | set
112 | {
113 | commands[1].CommandReleased = value;
114 | }
115 | }
116 | #endregion
117 |
118 | #region State2
119 |
120 | [JsonProperty(PropertyName = "commandPressed2")]
121 | public string CommandPressed2
122 | {
123 | get
124 | {
125 | return commands[2].CommandPressed;
126 | }
127 | set
128 | {
129 | commands[2].CommandPressed = value;
130 | }
131 | }
132 |
133 | [JsonProperty(PropertyName = "commandReleased2")]
134 | public string CommandReleased2
135 | {
136 | get
137 | {
138 | return commands[2].CommandReleased;
139 | }
140 | set
141 | {
142 | commands[2].CommandReleased = value;
143 | }
144 | }
145 | #endregion
146 |
147 | #region State3
148 |
149 | [JsonProperty(PropertyName = "commandPressed3")]
150 | public string CommandPressed3
151 | {
152 | get
153 | {
154 | return commands[3].CommandPressed;
155 | }
156 | set
157 | {
158 | commands[3].CommandPressed = value;
159 | }
160 | }
161 |
162 | [JsonProperty(PropertyName = "commandReleased3")]
163 | public string CommandReleased3
164 | {
165 | get
166 | {
167 | return commands[3].CommandReleased;
168 | }
169 | set
170 | {
171 | commands[3].CommandReleased = value;
172 | }
173 | }
174 | #endregion
175 |
176 | #region State4
177 |
178 | [JsonProperty(PropertyName = "commandPressed4")]
179 | public string CommandPressed4
180 | {
181 | get
182 | {
183 | return commands[4].CommandPressed;
184 | }
185 | set
186 | {
187 | commands[4].CommandPressed = value;
188 | }
189 | }
190 |
191 | [JsonProperty(PropertyName = "commandReleased4")]
192 | public string CommandReleased4
193 | {
194 | get
195 | {
196 | return commands[4].CommandReleased;
197 | }
198 | set
199 | {
200 | commands[4].CommandReleased = value;
201 | }
202 | }
203 | #endregion
204 |
205 | }
206 |
207 | public class CommandAction
208 | {
209 |
210 | public string CommandPressed
211 | {
212 | get;
213 | set;
214 | }
215 |
216 | public string CommandReleased
217 | {
218 | get;
219 | set;
220 | }
221 |
222 | }
223 |
224 | #region Private Members
225 |
226 | private PluginSettings settings;
227 |
228 | private ConnectionManager connectionManager;
229 |
230 | #endregion
231 | public PluginAction(SDConnection connection, InitialPayload payload) : base(connection, payload)
232 | {
233 | settings = payload.Settings?.ToObject() ?? PluginSettings.CreateDefaultSettings();
234 |
235 | if (firstPluginLoad)
236 | {
237 | settings.StoredState = null;
238 | _ = SaveSettings();
239 | firstPluginLoad = false;
240 |
241 | currentState = 0;
242 | _ = SetStateAsync(0);
243 | }
244 | else
245 | {
246 | currentState = settings.StoredState ?? 0;
247 | _ = SetStateAsync((uint)currentState);
248 | }
249 |
250 | connectionManager = new ConnectionManager();
251 | connectionManager.InitializeClients();
252 | }
253 |
254 | public override void Dispose()
255 | {
256 | settings.StoredState = null;
257 | _ = SaveSettings();
258 |
259 | Logger.Instance.LogMessage(TracingLevel.INFO, "Destructor called");
260 | connectionManager.Dispose();
261 | System.GC.Collect(); // Force garbage collection
262 | }
263 |
264 | public override async void KeyPressed(KeyPayload payload)
265 | {
266 | Logger.Instance.LogMessage(TracingLevel.INFO, "Key Pressed");
267 | if (!string.IsNullOrEmpty(CurrentCommandAction.CommandPressed))
268 | {
269 | await SendMessageAsync(CurrentCommandAction.CommandPressed);
270 | }
271 | }
272 |
273 | public override async void KeyReleased(KeyPayload payload)
274 | {
275 | Logger.Instance.LogMessage(TracingLevel.INFO, "Key Released");
276 |
277 | if (!string.IsNullOrEmpty(CurrentCommandAction.CommandReleased))
278 | {
279 | await SendMessageAsync(CurrentCommandAction.CommandReleased);
280 | }
281 |
282 | currentState++;
283 | if (currentState >= settings.DesiredStates)
284 | currentState = 0;
285 |
286 | settings.StoredState = currentState;
287 | await SaveSettings();
288 | await SetStateAsync((uint)currentState);
289 | }
290 |
291 | private async Task SendMessageAsync(string message)
292 | {
293 | await Task.Run(() => connectionManager.SendMessage(message));
294 | }
295 |
296 | public override void OnTick() { }
297 |
298 | public override void ReceivedSettings(ReceivedSettingsPayload payload)
299 | {
300 | Tools.AutoPopulateSettings(settings, payload.Settings);
301 | SaveSettings();
302 | }
303 |
304 | public override void ReceivedGlobalSettings(ReceivedGlobalSettingsPayload payload) { }
305 |
306 | #region Private Methods
307 |
308 | private Task SaveSettings()
309 | {
310 | return Connection.SetSettingsAsync(JObject.FromObject(settings));
311 | }
312 |
313 | private Task SetStateAsync(uint state)
314 | {
315 | return Connection.SetStateAsync(state);
316 | }
317 |
318 | #endregion
319 | }
320 | }
--------------------------------------------------------------------------------
/FXCommands/Program.cs:
--------------------------------------------------------------------------------
1 | using BarRaider.SdTools;
2 |
3 | namespace FXCommands
4 | {
5 | class Program
6 | {
7 | static void Main(string[] args)
8 | {
9 | // Uncomment this line of code to allow for debugging
10 | //while (!System.Diagnostics.Debugger.IsAttached) { System.Threading.Thread.Sleep(100); }
11 | SDWrapper.Run(args);
12 | }
13 | }
14 | }
--------------------------------------------------------------------------------
/FXCommands/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("streamdeck-fxcommands")]
8 | [assembly: AssemblyDescription("Send commands to a local FiveM or RedM client")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("josh-tf")]
11 | [assembly: AssemblyProduct("streamdeck-fxcommands")]
12 | [assembly: AssemblyCopyright("Copyright © 2025")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("251b9ed7-779f-469f-84a2-ae53671694ed")]
23 |
24 | // Version information for an assembly consists of the following four values:
25 | //
26 | // Major Version
27 | // Minor Version
28 | // Build Number
29 | // Revision
30 | //
31 | // You can specify all the values or you can default the Build and Revision Numbers
32 | // by using the '*' as shown below:
33 | // [assembly: AssemblyVersion("1.0.*")]
34 | [assembly: AssemblyVersion("1.0.0.0")]
35 | [assembly: AssemblyFileVersion("1.0.0.0")]
36 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/PluginActionPI.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | FXCommands Settings
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Advanced Settings
17 |
18 |
No. of states (Max 5)
19 |
20 |
21 |
22 |
23 |
Command
24 |
28 |
29 |
On Release
30 |
31 |
32 |
33 |
34 |
Command (State 1)
35 |
39 |
40 |
On Release
41 |
42 |
43 |
44 |
45 |
Command (State 2)
46 |
50 |
51 |
On Release
52 |
53 |
54 |
55 |
56 |
Command (State 3)
57 |
61 |
62 |
On Release
63 |
64 |
65 |
66 |
67 |
Command (State 4)
68 |
72 |
73 |
On Release
74 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/PluginActionPI.js:
--------------------------------------------------------------------------------
1 | function setdesiredState() {
2 | var ele = document.getElementById("desiredStates");
3 | if (ele.value > 5)
4 | ele.value = 5;
5 | else if (ele.value <= 0)
6 | ele.value = 1;
7 |
8 | //This is no longer needed since our configurations will be reloaded, thus causing the update to be called
9 | //when the loadConfigurationEvent is executed from loadConfiguration.
10 | //updateStateVisibilityOnChange()
11 |
12 | setSettings()
13 | }
14 |
15 | function updateStateVisibilityOnChange() {
16 | var ele = document.getElementById("desiredStates");
17 | updateStateVisibility(ele.value)
18 | }
19 |
20 | function updateStateVisibility(desiredStates) {
21 | for (var i = 0; i < desiredStates; i++) {
22 | var stateId = "State" + i;
23 | document.getElementById(stateId).style.display = 'inline'
24 | }
25 | for (var i = desiredStates; i < 5; i++) {
26 | var stateId = "State" + i;
27 | document.getElementById(stateId).style.display = 'none'
28 | }
29 | }
30 |
31 | function validatePort(eleId) {
32 | if(eleId.value == null || eleId.value == "")
33 | eleId.value = eleId.placeholder;
34 | setSettings();
35 | }
36 |
37 | // This is required in order to tell the presentation to update visible states based on configurations when first loading.
38 | loadConfigurationEvent = updateStateVisibilityOnChange
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/caret.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/PropertyInspector/check.png
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/check.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/elg_calendar.svg:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/elg_calendar_inv.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/rcheck.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/FXCommands/PropertyInspector/sdtools.common.js:
--------------------------------------------------------------------------------
1 | // sdtools.common.js v1.0
2 | var websocket = null,
3 | uuid = null,
4 | registerEventName = null,
5 | actionInfo = {},
6 | inInfo = {},
7 | runningApps = [],
8 | isQT = navigator.appVersion.includes('QtWebEngine');
9 |
10 | function connectElgatoStreamDeckSocket(inPort, inUUID, inRegisterEvent, inInfo, inActionInfo) {
11 | uuid = inUUID;
12 | registerEventName = inRegisterEvent;
13 | console.log(inUUID, inActionInfo);
14 | actionInfo = JSON.parse(inActionInfo); // cache the info
15 | inInfo = JSON.parse(inInfo);
16 | websocket = new WebSocket('ws://127.0.0.1:' + inPort);
17 |
18 | addDynamicStyles(inInfo.colors);
19 |
20 | websocket.onopen = websocketOnOpen;
21 | websocket.onmessage = websocketOnMessage;
22 |
23 | // Allow others to get notified that the websocket is created
24 | var event = new Event('websocketCreate');
25 | document.dispatchEvent(event);
26 |
27 | loadConfiguration(actionInfo.payload.settings);
28 | }
29 |
30 | function websocketOnOpen() {
31 | var json = {
32 | event: registerEventName,
33 | uuid: uuid
34 | };
35 | websocket.send(JSON.stringify(json));
36 |
37 | // Notify the plugin that we are connected
38 | sendValueToPlugin('propertyInspectorConnected', 'property_inspector');
39 | }
40 |
41 | function websocketOnMessage(evt) {
42 | // Received message from Stream Deck
43 | var jsonObj = JSON.parse(evt.data);
44 |
45 | if (jsonObj.event === 'sendToPropertyInspector') {
46 | var payload = jsonObj.payload;
47 | loadConfiguration(payload);
48 | }
49 | else if (jsonObj.event === 'didReceiveSettings') {
50 | var payload = jsonObj.payload;
51 | loadConfiguration(payload.settings);
52 | }
53 | else {
54 | console.log("Unhandled websocketOnMessage: " + jsonObj.event);
55 | }
56 | }
57 |
58 | var loadConfigurationEvent = null
59 | function loadConfiguration(payload) {
60 | console.log('loadConfiguration');
61 | console.log(payload);
62 | for (var key in payload) {
63 | try {
64 | var elem = document.getElementById(key);
65 | if (elem.classList.contains("sdCheckbox")) { // Checkbox
66 | elem.checked = payload[key];
67 | }
68 | else if (elem.classList.contains("sdFile")) { // File
69 | var elemFile = document.getElementById(elem.id + "Filename");
70 | elemFile.innerText = payload[key];
71 | if (!elemFile.innerText) {
72 | elemFile.innerText = "No file...";
73 | }
74 | }
75 | else if (elem.classList.contains("sdList")) { // Dynamic dropdown
76 | var textProperty = elem.getAttribute("sdListTextProperty");
77 | var valueProperty = elem.getAttribute("sdListValueProperty");
78 | var valueField = elem.getAttribute("sdValueField");
79 |
80 | var items = payload[key];
81 | elem.options.length = 0;
82 |
83 | for (var idx = 0; idx < items.length; idx++) {
84 | var opt = document.createElement('option');
85 | opt.value = items[idx][valueProperty];
86 | opt.text = items[idx][textProperty];
87 | elem.appendChild(opt);
88 | }
89 | elem.value = payload[valueField];
90 | }
91 | else { // Normal value
92 | elem.value = payload[key];
93 | }
94 | console.log("Load: " + key + "=" + payload[key]);
95 | }
96 | catch (err) {
97 | console.log("loadConfiguration failed for key: " + key + " - " + err);
98 | }
99 | }
100 | if(loadConfigurationEvent !== null) {
101 | loadConfigurationEvent();
102 | }
103 |
104 | }
105 |
106 | function setSettings() {
107 | var payload = {};
108 | var elements = document.getElementsByClassName("sdProperty");
109 |
110 | Array.prototype.forEach.call(elements, function (elem) {
111 | var key = elem.id;
112 | if (elem.classList.contains("sdCheckbox")) { // Checkbox
113 | payload[key] = elem.checked;
114 | }
115 | else if (elem.classList.contains("sdFile")) { // File
116 | var elemFile = document.getElementById(elem.id + "Filename");
117 | payload[key] = elem.value;
118 | if (!elem.value) {
119 | // Fetch innerText if file is empty (happens when we lose and regain focus to this key)
120 | payload[key] = elemFile.innerText;
121 | }
122 | else {
123 | // Set value on initial file selection
124 | elemFile.innerText = elem.value;
125 | }
126 | }
127 | else if (elem.classList.contains("sdList")) { // Dynamic dropdown
128 | var valueField = elem.getAttribute("sdValueField");
129 | payload[valueField] = elem.value;
130 | }
131 | else { // Normal value
132 | payload[key] = elem.value;
133 | }
134 | console.log("Save: " + key + "<=" + payload[key]);
135 | });
136 | setSettingsToPlugin(payload);
137 | }
138 |
139 | function setSettingsToPlugin(payload) {
140 | if (websocket && (websocket.readyState === 1)) {
141 | const json = {
142 | 'event': 'setSettings',
143 | 'context': uuid,
144 | 'payload': payload
145 | };
146 | websocket.send(JSON.stringify(json));
147 | var event = new Event('settingsUpdated');
148 | document.dispatchEvent(event);
149 | }
150 | }
151 |
152 | // Sends an entire payload to the sendToPlugin method
153 | function sendPayloadToPlugin(payload) {
154 | if (websocket && (websocket.readyState === 1)) {
155 | const json = {
156 | 'action': actionInfo['action'],
157 | 'event': 'sendToPlugin',
158 | 'context': uuid,
159 | 'payload': payload
160 | };
161 | websocket.send(JSON.stringify(json));
162 | }
163 | }
164 |
165 | // Sends one value to the sendToPlugin method
166 | function sendValueToPlugin(value, param) {
167 | if (websocket && (websocket.readyState === 1)) {
168 | const json = {
169 | 'action': actionInfo['action'],
170 | 'event': 'sendToPlugin',
171 | 'context': uuid,
172 | 'payload': {
173 | [param]: value
174 | }
175 | };
176 | websocket.send(JSON.stringify(json));
177 | }
178 | }
179 |
180 | function openWebsite() {
181 | if (websocket && (websocket.readyState === 1)) {
182 | const json = {
183 | 'event': 'openUrl',
184 | 'payload': {
185 | 'url': 'https://BarRaider.github.io'
186 | }
187 | };
188 | websocket.send(JSON.stringify(json));
189 | }
190 | }
191 |
192 | if (!isQT) {
193 | document.addEventListener('DOMContentLoaded', function () {
194 | initPropertyInspector();
195 | });
196 | }
197 |
198 | window.addEventListener('beforeunload', function (e) {
199 | e.preventDefault();
200 |
201 | // Notify the plugin we are about to leave
202 | sendValueToPlugin('propertyInspectorWillDisappear', 'property_inspector');
203 |
204 | // Don't set a returnValue to the event, otherwise Chromium with throw an error.
205 | });
206 |
207 | function initPropertyInspector() {
208 | // Place to add functions
209 | }
210 |
211 |
212 | function addDynamicStyles(clrs) {
213 | const node = document.getElementById('#sdpi-dynamic-styles') || document.createElement('style');
214 | if (!clrs.mouseDownColor) clrs.mouseDownColor = fadeColor(clrs.highlightColor, -100);
215 | const clr = clrs.highlightColor.slice(0, 7);
216 | const clr1 = fadeColor(clr, 100);
217 | const clr2 = fadeColor(clr, 60);
218 | const metersActiveColor = fadeColor(clr, -60);
219 |
220 | node.setAttribute('id', 'sdpi-dynamic-styles');
221 | node.innerHTML = `
222 |
223 | input[type="radio"]:checked + label span,
224 | input[type="checkbox"]:checked + label span {
225 | background-color: ${clrs.highlightColor};
226 | }
227 |
228 | input[type="radio"]:active:checked + label span,
229 | input[type="radio"]:active + label span,
230 | input[type="checkbox"]:active:checked + label span,
231 | input[type="checkbox"]:active + label span {
232 | background-color: ${clrs.mouseDownColor};
233 | }
234 |
235 | input[type="radio"]:active + label span,
236 | input[type="checkbox"]:active + label span {
237 | background-color: ${clrs.buttonPressedBorderColor};
238 | }
239 |
240 | td.selected,
241 | td.selected:hover,
242 | li.selected:hover,
243 | li.selected {
244 | color: white;
245 | background-color: ${clrs.highlightColor};
246 | }
247 |
248 | .sdpi-file-label > label:active,
249 | .sdpi-file-label.file:active,
250 | label.sdpi-file-label:active,
251 | label.sdpi-file-info:active,
252 | input[type="file"]::-webkit-file-upload-button:active,
253 | button:active {
254 | background-color: ${clrs.buttonPressedBackgroundColor};
255 | color: ${clrs.buttonPressedTextColor};
256 | border-color: ${clrs.buttonPressedBorderColor};
257 | }
258 |
259 | ::-webkit-progress-value,
260 | meter::-webkit-meter-optimum-value {
261 | background: linear-gradient(${clr2}, ${clr1} 20%, ${clr} 45%, ${clr} 55%, ${clr2})
262 | }
263 |
264 | ::-webkit-progress-value:active,
265 | meter::-webkit-meter-optimum-value:active {
266 | background: linear-gradient(${clr}, ${clr2} 20%, ${metersActiveColor} 45%, ${metersActiveColor} 55%, ${clr})
267 | }
268 | `;
269 | document.body.appendChild(node);
270 | };
271 |
272 | /** UTILITIES */
273 |
274 | /*
275 | Quick utility to lighten or darken a color (doesn't take color-drifting, etc. into account)
276 | Usage:
277 | fadeColor('#061261', 100); // will lighten the color
278 | fadeColor('#200867'), -100); // will darken the color
279 | */
280 | function fadeColor(col, amt) {
281 | const min = Math.min, max = Math.max;
282 | const num = parseInt(col.replace(/#/g, ''), 16);
283 | const r = min(255, max((num >> 16) + amt, 0));
284 | const g = min(255, max((num & 0x0000FF) + amt, 0));
285 | const b = min(255, max(((num >> 8) & 0x00FF) + amt, 0));
286 | return '#' + (g | (b << 8) | (r << 16)).toString(16).padStart(6, 0);
287 | }
288 |
--------------------------------------------------------------------------------
/FXCommands/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "Actions": [
3 | {
4 | "Icon": "Images/icon",
5 | "Name": "Run Command",
6 | "States": [
7 | {
8 | "Image": "Images/pluginAction0",
9 | "TitleAlignment": "middle",
10 | "FontSize": 12
11 | },
12 | {
13 | "Image": "Images/pluginAction1",
14 | "TitleAlignment": "middle",
15 | "FontSize": 12
16 | },
17 | {
18 | "Image": "Images/pluginAction2",
19 | "TitleAlignment": "middle",
20 | "FontSize": 12
21 | },
22 | {
23 | "Image": "Images/pluginAction3",
24 | "TitleAlignment": "middle",
25 | "FontSize": 12
26 | },
27 | {
28 | "Image": "Images/pluginAction4",
29 | "TitleAlignment": "middle",
30 | "FontSize": 12
31 | }
32 | ],
33 | "SupportedInMultiActions": true,
34 | "UUID": "tf.josh.fxcommands",
35 | "Tooltip": "Send commands to a local FiveM or RedM client",
36 | "PropertyInspectorPath": "PropertyInspector/PluginActionPI.html"
37 | }
38 | ],
39 | "Author": "josh-tf",
40 | "Name": "FXCommands",
41 | "Description": "Send commands to a local FiveM or RedM client",
42 | "Icon": "Images/pluginIcon",
43 | "URL": "https://github.com/josh-tf/fxcommands",
44 | "Version": "1.2.0.0",
45 | "CodePath": "tf.josh.fxcommands.exe",
46 | "UUID": "tf.josh.fxcommands",
47 | "Category": "FXCommands",
48 | "CategoryIcon": "Images/categoryIcon",
49 | "OS": [
50 | {
51 | "Platform": "windows",
52 | "MinimumVersion": "10"
53 | }
54 | ],
55 | "SDKVersion": 2,
56 | "Software": {
57 | "MinimumVersion": "6.4"
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/FXCommands/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/FXCommands/previews/1-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/previews/1-preview.png
--------------------------------------------------------------------------------
/FXCommands/previews/2-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/previews/2-preview.png
--------------------------------------------------------------------------------
/FXCommands/previews/3-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/previews/3-preview.png
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 josh-tf
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > [!IMPORTANT]
2 | > The `FXCommands` extension is now published on the [Elgato Marketplace](https://marketplace.elgato.com/product/fxcommands-3c018041-5776-412f-ad1b-1c0da734040b) 🕹️
3 | >
4 | > Due to changes in the code path and extension ID, **you'll need to uninstall the old `FiveM Commands` extension before installing `FXCommands`**.
5 | >
6 | > If you'd prefer a manual install or the Marketplace is temporarily unavailable, you can download the latest version directly from the [Releases](https://github.com/josh-tf/fxcommands/releases/) section.
7 |
8 | 
9 |
10 | # FXCommands
11 |
12 | Stream Deck plugin for sending commands to the **FiveM** or **RedM** client console.
13 |
14 | This plugin works with a **physical Stream Deck** as well as the **Stream Deck iOS and Android** applications. If you don't own the hardware, you can use your phone or tablet as a Stream Deck.
15 |
16 | ---
17 |
18 | ## 🚀 Getting Started
19 |
20 | Now available on the **Stream Deck Store**:
21 | 🔗 [FXCommands on Stream Deck Marketplace](https://marketplace.elgato.com/product/fxcommands-3c018041-5776-412f-ad1b-1c0da734040b)
22 |
23 | ### **Alternative Installation**
24 |
25 | 1. Download the latest release from the [Releases](https://github.com/josh-tf/fxcommands/releases/) section.
26 | 2. Run the `.streamDeckPlugin` file and accept the **Stream Deck installation prompt**.
27 |
28 | ---
29 |
30 | ## 🎮 Usage
31 |
32 | Simply drag the **FXCommands Action** onto your Stream Deck and enter the **command** to be executed.
33 | You can choose to execute a command **on press, on release, or both**.
34 |
35 | ---
36 |
37 | ## 🔧 Advanced Usage
38 |
39 | ### **Staged Commands**
40 |
41 | Under `Advanced Options`, you can set up to **5 stages** for a button.
42 | Each stage runs a different command, cycling through them before returning to stage 0.
43 |
44 | #### **Example: Multi-Stage "Me" Commands**
45 |
46 | - **Stage 0**: `me opens car boot`
47 | - **Stage 1**: `me inspects boot contents`
48 | - **Stage 2**: `me finds nothing, closes boot`
49 |
50 | Each press advances to the next stage. After Stage 2, the next press resets back to Stage 0.
51 |
52 | #### **Example: Toggle Emote**
53 |
54 | - **Stage 0**: `e sit` — Sit down
55 | - **Stage 1**: `e c` — Cancel emote (stand up)
56 |
57 | This creates a **toggle button**: press once to sit, press again to stand.
58 |
59 | ---
60 |
61 | ### **Chained Commands**
62 |
63 | Commands can be **chained** using the `;` separator.
64 | For example, a button with:
65 |
66 | ```sh
67 | me sit;me relaxes on the ground
68 | ```
69 |
70 | Will execute both commands **sequentially** in a single button press.
71 |
72 | ---
73 |
74 | ### **Multi-Action with Stream Deck**
75 |
76 | FXCommands can be used inside **Multi-Action** buttons for complex interactions.
77 | Example **Timed Emote** using Stream Deck’s Multi-Action:
78 |
79 | 1. **Action 1:** FXCommands Command → `e think;me thinking`
80 | 2. **Action 2:** Delay **2000ms** (2 seconds)
81 | 3. **Action 3:** FXCommands Command → `e c`
82 |
83 | This button triggers the `think` emote, waits **2 seconds**, then cancels the emote.
84 |
85 | ---
86 |
87 | ## 🐞 Bugs and Issues
88 |
89 | 📖 **Troubleshooting Guide**:
90 | 🔗 [Common Issues & Fixes](https://github.com/josh-tf/fxcommands/wiki/Troubleshooting-Guide)
91 |
92 | 🛠 If you encounter an issue not covered above, please open a **GitHub Issue**.
93 |
--------------------------------------------------------------------------------
/media/fxcommands-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/media/fxcommands-banner.png
--------------------------------------------------------------------------------
/media/previews.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/media/previews.psd
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/.signature.p7s
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/CommandLine20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/CommandLine20.png
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/CommandLineParser.2.7.82.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/CommandLineParser.2.7.82.nupkg
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/License.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2005 - 2015 Giacomo Stelluti Scala & Contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/README.md:
--------------------------------------------------------------------------------
1 | [](https://ci.appveyor.com/project/commandlineparser/commandline/branch/master)
2 | [](http://nuget.org/packages/commandlineparser)
3 | [](https://www.nuget.org/packages/CommandLineParser/)
4 | [](https://www.nuget.org/packages/CommandLineParser/)
5 | [](https://gitter.im/gsscoder/commandline?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
6 |
7 | # Command Line Parser Library for CLR and NetStandard
8 |
9 | **Note:** the API surface has changed since v1.9.x and earlier. If you are looking for documentation on v1.9.x, please see [stable-1.9.71.2](https://github.com/gsscoder/commandline/tree/stable-1.9.71.2)
10 |
11 | The Command Line Parser Library offers CLR applications a clean and concise API for manipulating command line arguments and related tasks, such as defining switches, options and verb commands. It allows you to display a help screen with a high degree of customization and a simple way to report syntax errors to the end user.
12 |
13 | ```
14 | C:\Project> NuGet Install CommandLineParser
15 | ```
16 |
17 | _NOTE: Mentioned F# Support is provided via ```CommandLineParser.FSharp``` package with FSharp dependencies._
18 |
19 | __This library provides _hassle free_ command line parsing with a constantly updated API since 2005.__
20 |
21 | # At a glance:
22 |
23 | - Compatible with __.NET Framework 4.0+__, __Mono 2.1+ Profile__, __.NET Standard__ and __.NET Core__
24 | - Doesn't depend on other packages (No dependencies beyond standard base libraries)
25 | - One line parsing using default singleton: `CommandLine.Parser.Default.ParseArguments(...)`.
26 | - Automatic or one line help screen generator: `HelpText.AutoBuild(...)`.
27 | - Supports `--help`, `--version`, `version` and `help [verb]` by default with customization.
28 | - Map to sequences (via `IEnumerable` and similar) and scalar types, including Enums and `Nullable`.
29 | - You can also map to every type with a constructor that accepts a string (like `System.Uri`).
30 | - Define [verb commands](https://github.com/commandlineparser/commandline/wiki/Verbs) similar to `git commit -a`.
31 | - Support HelpText localization.
32 | - Support ordering of options in HelpText.
33 | - Support [Mutually Exclusive Options](https://github.com/commandlineparser/commandline/wiki/Mutually-Exclusive-Options) and Options groups.
34 | - Support named and value options.
35 | - Support Asynchronous programming with async and await.
36 | - Unparsing support: `CommandLine.Parser.Default.FormatCommandLine(T options)`.
37 | - CommandLineParser.FSharp package is F#-friendly with support for `option<'a>`, see [demo](https://github.com/commandlineparser/commandline/blob/master/demo/fsharp-demo.fsx). _NOTE: This is a separate NuGet package._
38 | - Most of features applies with a [CoC](http://en.wikipedia.org/wiki/Convention_over_configuration) philosophy.
39 | - C# demo: source [here](https://github.com/commandlineparser/commandline/tree/master/demo/ReadText.Demo).
40 |
41 | # Getting Started with the Command Line Parser Library
42 |
43 | You can utilize the parser library in several ways:
44 |
45 | - Install via NuGet/Paket: [https://www.nuget.org/packages/CommandLineParser/](https://www.nuget.org/packages/CommandLineParser/)
46 | - Integrate directly into your project by copying the .cs files into your project.
47 | - ILMerge during your build process.
48 |
49 | ## Quick Start Examples
50 |
51 | 1. Create a class to define valid options, and to receive the parsed options.
52 | 2. Call ParseArguments with the args string array.
53 |
54 | C# Quick Start:
55 |
56 | ```cs
57 | using System;
58 | using CommandLine;
59 |
60 | namespace QuickStart
61 | {
62 | class Program
63 | {
64 | public class Options
65 | {
66 | [Option('v', "verbose", Required = false, HelpText = "Set output to verbose messages.")]
67 | public bool Verbose { get; set; }
68 | }
69 |
70 | static void Main(string[] args)
71 | {
72 | Parser.Default.ParseArguments(args)
73 | .WithParsed(o =>
74 | {
75 | if (o.Verbose)
76 | {
77 | Console.WriteLine($"Verbose output enabled. Current Arguments: -v {o.Verbose}");
78 | Console.WriteLine("Quick Start Example! App is in Verbose mode!");
79 | }
80 | else
81 | {
82 | Console.WriteLine($"Current Arguments: -v {o.Verbose}");
83 | Console.WriteLine("Quick Start Example!");
84 | }
85 | });
86 | }
87 | }
88 | }
89 | ```
90 |
91 | ## C# Examples:
92 |
93 |
94 | Click to expand!
95 |
96 | ```cs
97 |
98 | class Options
99 | {
100 | [Option('r', "read", Required = true, HelpText = "Input files to be processed.")]
101 | public IEnumerable InputFiles { get; set; }
102 |
103 | // Omitting long name, defaults to name of property, ie "--verbose"
104 | [Option(
105 | Default = false,
106 | HelpText = "Prints all messages to standard output.")]
107 | public bool Verbose { get; set; }
108 |
109 | [Option("stdin",
110 | Default = false,
111 | HelpText = "Read from stdin")]
112 | public bool stdin { get; set; }
113 |
114 | [Value(0, MetaName = "offset", HelpText = "File offset.")]
115 | public long? Offset { get; set; }
116 | }
117 |
118 | static void Main(string[] args)
119 | {
120 | CommandLine.Parser.Default.ParseArguments(args)
121 | .WithParsed(RunOptions)
122 | .WithNotParsed(HandleParseError);
123 | }
124 | static void RunOptions(Options opts)
125 | {
126 | //handle options
127 | }
128 | static void HandleParseError(IEnumerable errs)
129 | {
130 | //handle errors
131 | }
132 |
133 | ```
134 |
135 |
136 |
137 | Demo to show IEnumerable options and other usage: [Online Demo](https://dotnetfiddle.net/wrcAxr)
138 |
139 | ## F# Examples:
140 |
141 |
142 | Click to expand!
143 |
144 | ```fsharp
145 |
146 | type options = {
147 | [
160 |
161 | ## VB.NET Example:
162 |
163 |
164 | Click to expand!
165 |
166 | ```vb
167 |
168 | Class Options
169 |
171 | Public Property InputFiles As IEnumerable(Of String)
172 |
173 | ' Omitting long name, defaults to name of property, ie "--verbose"
174 |
176 | Public Property Verbose As Boolean
177 |
178 |
180 | Public Property Language As String
181 |
182 |
184 | Public Property Offset As Long?
185 | End Class
186 |
187 | Sub Main(ByVal args As String())
188 | CommandLine.Parser.Default.ParseArguments(Of Options)(args) _
189 | .WithParsed(Function(opts As Options) RunOptionsAndReturnExitCode(opts)) _
190 | .WithNotParsed(Function(errs As IEnumerable(Of [Error])) 1)
191 | End Sub
192 | ```
193 |
194 |
195 | ## For verbs:
196 |
197 | 1. Create separate option classes for each verb. An options base class is supported.
198 | 2. Call ParseArguments with all the verb attribute decorated options classes.
199 | 3. Use MapResult to direct program flow to the verb that was parsed.
200 |
201 | ### C# example:
202 |
203 |
204 |
205 | Click to expand!
206 |
207 | ```csharp
208 | [Verb("add", HelpText = "Add file contents to the index.")]
209 | class AddOptions {
210 | //normal options here
211 | }
212 | [Verb("commit", HelpText = "Record changes to the repository.")]
213 | class CommitOptions {
214 | //commit options here
215 | }
216 | [Verb("clone", HelpText = "Clone a repository into a new directory.")]
217 | class CloneOptions {
218 | //clone options here
219 | }
220 |
221 | int Main(string[] args) {
222 | return CommandLine.Parser.Default.ParseArguments(args)
223 | .MapResult(
224 | (AddOptions opts) => RunAddAndReturnExitCode(opts),
225 | (CommitOptions opts) => RunCommitAndReturnExitCode(opts),
226 | (CloneOptions opts) => RunCloneAndReturnExitCode(opts),
227 | errs => 1);
228 | }
229 | ```
230 |
231 |
232 | ### VB.NET example:
233 |
234 |
235 |
236 | Click to expand!
237 |
238 | ```vb
239 |
240 | Public Class AddOptions
241 | 'Normal options here
242 | End Class
243 |
244 | Public Class CommitOptions
245 | 'Normal options here
246 | End Class
247 |
248 | Public Class CloneOptions
249 | 'Normal options here
250 | End Class
251 |
252 | Function Main(ByVal args As String()) As Integer
253 | Return CommandLine.Parser.Default.ParseArguments(Of AddOptions, CommitOptions, CloneOptions)(args) _
254 | .MapResult(
255 | (Function(opts As AddOptions) RunAddAndReturnExitCode(opts)),
256 | (Function(opts As CommitOptions) RunCommitAndReturnExitCode(opts)),
257 | (Function(opts As CloneOptions) RunCloneAndReturnExitCode(opts)),
258 | (Function(errs As IEnumerable(Of [Error])) 1)
259 | )
260 | End Function
261 | ```
262 |
263 |
264 | ### F# Example:
265 |
266 |
267 | Click to expand!
268 |
269 | ```fs
270 | open CommandLine
271 |
272 | []
273 | type AddOptions = {
274 | // normal options here
275 | }
276 | []
277 | type CommitOptions = {
278 | // normal options here
279 | }
280 | []
281 | type CloneOptions = {
282 | // normal options here
283 | }
284 |
285 | []
286 | let main args =
287 | let result = Parser.Default.ParseArguments args
288 | match result with
289 | | :? CommandLine.Parsed as command ->
290 | match command.Value with
291 | | :? AddOptions as opts -> RunAddAndReturnExitCode opts
292 | | :? CommitOptions as opts -> RunCommitAndReturnExitCode opts
293 | | :? CloneOptions as opts -> RunCloneAndReturnExitCode opts
294 | | :? CommandLine.NotParsed -> 1
295 | ```
296 |
297 |
298 | # Release History
299 |
300 | See the [changelog](CHANGELOG.md)
301 |
302 | # Contributors
303 | First off, _Thank you!_ All contributions are welcome.
304 |
305 | Please consider sticking with the GNU getopt standard for command line parsing.
306 |
307 | Additionally, for easiest diff compares, please follow the project's tabs settings. Utilizing the EditorConfig extension for Visual Studio/your favorite IDE is recommended.
308 |
309 | __And most importantly, please target the ```develop``` branch in your pull requests!__
310 |
311 | ## Main Contributors (alphabetical order):
312 | - Alexander Fast (@mizipzor)
313 | - Dan Nemec (@nemec)
314 | - Eric Newton (@ericnewton76)
315 | - Kevin Moore (@gimmemoore)
316 | - Steven Evans
317 | - Thomas Démoulins (@Thilas)
318 |
319 | ## Resources for newcomers:
320 |
321 | - [Wiki](https://github.com/commandlineparser/commandline/wiki)
322 | - [GNU getopt](http://www.gnu.org/software/libc/manual/html_node/Getopt.html)
323 |
324 | # Contacts:
325 |
326 | - Giacomo Stelluti Scala
327 | - gsscoder AT gmail DOT com (_use this for everything that is not available via GitHub features_)
328 | - GitHub: [gsscoder](https://github.com/gsscoder)
329 | - [Blog](http://gsscoder.blogspot.it)
330 | - [Twitter](http://twitter.com/gsscoder)
331 | - Dan Nemec
332 | - Eric Newton
333 | - ericnewton76+commandlineparser AT gmail DOT com
334 | - GitHub: [ericnewton76](https://github.com/ericnewton76)
335 | - Blog:
336 | - Twitter: [enorl76](http://twitter.com/enorl76)
337 |
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/lib/net40/CommandLine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/net40/CommandLine.dll
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/lib/net45/CommandLine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/net45/CommandLine.dll
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/lib/net461/CommandLine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/net461/CommandLine.dll
--------------------------------------------------------------------------------
/packages/CommandLineParser.2.7.82/lib/netstandard2.0/CommandLine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/netstandard2.0/CommandLine.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/.signature.p7s
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/DynamicLanguageRuntime.1.3.1.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/DynamicLanguageRuntime.1.3.1.nupkg
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) .NET Foundation and Contributors
2 | All Rights Reserved
3 |
4 | Apache License
5 | Version 2.0, January 2004
6 | http://www.apache.org/licenses/
7 |
8 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9 |
10 | 1. Definitions.
11 |
12 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
13 |
14 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
15 |
16 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
17 |
18 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
19 |
20 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
21 |
22 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
23 |
24 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
25 |
26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
27 |
28 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
29 |
30 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
31 |
32 | 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
33 |
34 | 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
35 |
36 | 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
37 |
38 | You must give any other recipients of the Work or Derivative Works a copy of this License; and
39 |
40 |
41 | You must cause any modified files to carry prominent notices stating that You changed the files; and
42 |
43 |
44 | You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
45 |
46 |
47 | If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
48 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
49 |
50 | 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
51 |
52 | 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
53 |
54 | 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
55 |
56 | 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
57 |
58 | 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
59 |
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/README.md:
--------------------------------------------------------------------------------
1 | Dynamic Language Runtime
2 | ========================
3 | The Dynamic Language Runtime enables language developers to more easily create dynamic languages for the .NET platform. In addition to being a pluggable back-end for dynamic language compilers, the DLR provides language interop for dynamic operations on objects. The DLR has common hosting APIs for using dynamic languages as libraries or for scripting in your .NET applications.
4 |
5 | | **What?** | **Where?** |
6 | | --------: | :------------: |
7 | | **Windows/Linux/macOS Builds** | [](https://dotnet.visualstudio.com/IronLanguages/_build/latest?definitionId=41) [](https://github.com/IronLanguages/dlr/actions?workflow=CI) |
8 | | **Downloads** | [](https://www.nuget.org/packages/DynamicLanguageRuntime/) [](https://github.com/IronLanguages/dlr/releases/latest)|
9 | | **Help** | [](https://gitter.im/IronLanguages/ironpython) [](http://stackoverflow.com/questions/tagged/dynamic-language-runtime) |
10 |
11 | Code of Conduct
12 | ---------------
13 | This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.
14 | For more information see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct).
15 |
16 | Installation
17 | ------------
18 | The best way to install the DLR is through the NuGet DynamicLanguageRuntime package.
19 |
20 | Documentation
21 | -------------
22 | The best current documentation is in the Docs/ directory, in Word and PDF format (it *was* a Microsoft project, after all).
23 |
24 | Help
25 | ----
26 | If you have any questions, [open an issue](https://github.com/IronLanguages/dlr/issues/new), even if it's not an actual bug. The issues are an acceptable discussion forum as well.
27 |
28 | History
29 | -------
30 | The original DLR site is at [CodePlex](http://dlr.codeplex.com). The DLR was part of a much larger repository containing IronPython and IronRuby as well; you can find it at the [main](https://github.com/IronLanguages/main) repository. This is a smaller repository containing just the DLR, which makes it easier to package and should make it easier to do more regular releases.
31 |
32 | Build
33 | -----
34 | You will need to have Visual Studio 2019 16.8.0 or later installed on your machine.
35 |
36 | On Windows machines, start a Visual Studio command prompt and type:
37 |
38 | > make
39 |
40 | On Unix machines, make sure Mono is installed and in the PATH, and type:
41 |
42 | $ make
43 |
44 | Since the main development is on Windows, Mono bugs may inadvertantly be introduced
45 | - please report them!
46 |
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Dynamic.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Dynamic.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.Metadata.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.Metadata.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.Metadata.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Scripting.Metadata
5 |
6 |
7 |
8 |
9 | Represents a block in memory.
10 |
11 |
12 |
13 |
14 | Reads data from a memory block. Maintains a position.
15 |
16 |
17 |
18 |
19 | Reads zero terminated sequence of bytes of given maximal length and converts it into an ASCII string.
20 |
21 |
22 |
23 |
24 | Zero terminated, UTF8 encoded sequence of bytes representing a name in metadata (a type name, a member name, etc).
25 | The name is bound to the module it was retrieved from. The module is kept alive until all its metadata names are collected.
26 | Doesn't cache hashcode, byte or character count.
27 |
28 |
29 |
30 |
31 | Gets the module whose metadata tables this instance represents.
32 | Null if the tables reflect unloaded module file.
33 |
34 |
35 |
36 |
37 | Gets the path of the module whose metadata tables this instance represents.
38 | Null for in-memory modules that are not backed by a file.
39 |
40 | The path is not accessible in partial trust.
41 |
42 |
43 |
44 | Returns AssemblyDef for manifest modules, null token otherwise.
45 |
46 |
47 |
48 |
49 | Token is null or represents a row in a metadata table.
50 |
51 |
52 |
53 |
54 | Gets the number of records in the view.
55 | If the view is over an entire table this operation is O(1),
56 | otherwise it might take up to O(log(#records in the table)).
57 |
58 |
59 |
60 |
61 | Module table entry (0x00 tokens).
62 |
63 |
64 |
65 |
66 | TypeRef table entry (0x01 tokens).
67 |
68 |
69 |
70 |
71 | AssemblyRef:
72 | If the target type is defined in a different Assembly from the current module.
73 | TypeRef:
74 | Target type is nested in TypeRef.
75 | ModuleRef:
76 | Target type is defined in another module within the same Assembly as this one.
77 | ModuleDef:
78 | If the target type is defined in the current module (this should not occur in a CLI "compressed metadata" module).
79 | Null token:
80 | There shall be a row in the ExportedType table for this Type - its Implementation field shall contain
81 | a File token or an AssemblyRef token that says where the type is defined.
82 |
83 |
84 |
85 |
86 | TypeDef table entry (0x02 tokens).
87 |
88 |
89 |
90 |
91 | Flags field in TypeDef table.
92 |
93 |
94 |
95 |
96 | Finds a nesting type-def. The search time is logarithmic in the number of nested types defined in the owning module.
97 | Returns a null token if this is not a nested type-def.
98 |
99 |
100 |
101 |
102 | O(log(#generic parameters in module))
103 |
104 |
105 |
106 |
107 | This typedef represents a container of global functions and fields (manufactured <Module> type).
108 |
109 |
110 |
111 |
112 | Combines Field (0x04 tokens), FieldRVA (0x1d tokens) and Constant (0x0B) table entries.
113 |
114 |
115 |
116 |
117 | Flags field in the Field table.
118 |
119 |
120 |
121 |
122 | O(log(#fields, parameters and properties with default value)).
123 | Returns if the field doesn't have a default value.
124 |
125 |
126 |
127 |
128 | Returns null reference iff the field has no RVA.
129 | If size is 0 the memory block will span over the rest of the data section.
130 | O(log(#fields with RVAs)).
131 |
132 |
133 |
134 |
135 | Finds type-def that declares this field. The search time is logarithmic in the number of types defined in the owning module.
136 |
137 |
138 |
139 |
140 | MethodDef table entry (0x06 tokens).
141 |
142 |
143 |
144 |
145 | ImplFlags field in the MethodDef table.
146 |
147 |
148 |
149 |
150 | Flags field in the MethodDef table.
151 |
152 |
153 |
154 |
155 | Returns a null reference iff the method has no body.
156 | If size is 0 the memory block will span over the rest of the data section.
157 |
158 |
159 |
160 |
161 | Finds type-def that declares this method. The search time is logarithmic in the number of types defined in the owning module.
162 |
163 |
164 |
165 |
166 | O(log(#generic parameters in module))
167 |
168 |
169 |
170 |
171 | Param table entry (0x08 tokens).
172 |
173 |
174 |
175 |
176 | Value greater or equal to zero and less than or equal to the number of parameters in owner method.
177 | A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onwards.
178 | Not all parameters need to have a corresponding ParamDef entry.
179 |
180 |
181 |
182 |
183 | O(log(#fields, parameters and properties with default value)).
184 | Returns if the field doesn't have a default value.
185 |
186 |
187 |
188 |
189 | Binary searches MethodDef table for a method that declares this parameter.
190 |
191 |
192 |
193 |
194 | InterfaceImpl table entry (0x09 tokens).
195 | TODO: we might not need this - TypeDef.ImplementedInterfaces might be a special enumerator that directly returns InterfaceType tokens.
196 |
197 |
198 |
199 |
200 | Could be a null token in EnC scenarios.
201 |
202 |
203 |
204 |
205 | TypeDef, TypeRef, or TypeSpec.
206 |
207 |
208 |
209 |
210 | MemberRef table entry (0x0A tokens).
211 | Stores MethodRefs and FieldRefs.
212 |
213 |
214 |
215 |
216 | TypeRef or TypeDef:
217 | If the class that defines the member is defined in another module.
218 | Note that it is unusual, but valid, to use a TypeRef token when the member is defined in this same module,
219 | in which case, its TypeDef token can be used instead.
220 | ModuleRef:
221 | If the member is defined, in another module of the same assembly, as a global function or variable.
222 | MethodDef:
223 | When used to supply a call-site signature for a vararg method that is defined in this module.
224 | The Name shall match the Name in the corresponding MethodDef row.
225 | The Signature shall match the Signature in the target method definition
226 | TypeSpec:
227 | If the member is a member of a generic type
228 |
229 |
230 |
231 |
232 | CustomAttribute table entry (0x0C tokens).
233 |
234 |
235 |
236 |
237 | Any token except the CustomAttribute.
238 |
239 |
240 |
241 |
242 | Returns the value of Type column in the CustomAttribute table.
243 | MethodDef or MemberRef.
244 |
245 |
246 |
247 |
248 | Value blob.
249 |
250 |
251 |
252 |
253 | StandAloneSig table entry (0x11 token).
254 |
255 |
256 |
257 |
258 | Combines information from PropertyMap (0x15), MethodSemantics (0x18) and Property (0x17) tables.
259 |
260 |
261 |
262 |
263 | O(log(#fields, parameters and properties with default value)).
264 | Returns if the field doesn't have a default value.
265 |
266 |
267 |
268 |
269 | Finds type-def that declares this property. The search time is logarithmic in the number of types with properties defined in the owning module.
270 |
271 |
272 |
273 |
274 | Combines information from EventMap (0x15), MethodSemantics (0x18) and Event (0x17) tables.
275 |
276 |
277 |
278 |
279 | Finds type-def that declares this event. The search time is logarithmic in the number of types with events defined in the owning module.
280 |
281 |
282 |
283 |
284 | ModuleRef table entry (0x1A tokens).
285 |
286 |
287 |
288 |
289 | TypeSpec table entry (0x1B tokens).
290 |
291 |
292 |
293 |
294 | Assembly table entry (0x20 tokens).
295 |
296 |
297 |
298 |
299 | Assembly table entry (0x23 tokens).
300 |
301 |
302 |
303 |
304 | File table entry (0x26 tokens).
305 |
306 |
307 |
308 |
309 | ExportedType table entry (0x27 tokens).
310 |
311 |
312 |
313 |
314 | Forwarded type: AssemblyRef
315 | Nested types: ExportedType
316 | Type in another module of this assembly: FileDef
317 |
318 |
319 |
320 |
321 | ManifestResource table entry (0x28 tokens).
322 |
323 |
324 |
325 |
326 | NestedClass table entry (0x29 tokens).
327 | TODO: Don't need if we exposed nested types enumeration on type-def directly and build TypeNesting mapping lazily.
328 |
329 |
330 |
331 |
332 | GenericParam table entry (0x2A tokens).
333 |
334 |
335 |
336 |
337 | Value greater or equal to zero and less than or equal to the number of parameters in owner method/type.
338 | All generic parameters are listed in the table.
339 |
340 |
341 |
342 |
343 | TypeDef or MethodDef.
344 |
345 |
346 |
347 |
348 | GenericParamConstraint table entry (0x2C tokens).
349 |
350 |
351 |
352 |
353 | TypeDef, TypeRef, or TypeSpec.
354 |
355 |
356 |
357 |
358 | MethodSpec table entry (0x2B tokens).
359 | Used when decoding IL instructions.
360 |
361 |
362 |
363 |
364 | MethodDef or MethodRef.
365 |
366 |
367 |
368 |
369 | We need to be able to construct tokens out of byte-code.
370 |
371 |
372 |
373 |
374 |
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Dynamic.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Dynamic.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.Metadata.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.Metadata.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.Metadata.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Scripting.Metadata
5 |
6 |
7 |
8 |
9 | Represents a block in memory.
10 |
11 |
12 |
13 |
14 | Reads data from a memory block. Maintains a position.
15 |
16 |
17 |
18 |
19 | Reads zero terminated sequence of bytes of given maximal length and converts it into an ASCII string.
20 |
21 |
22 |
23 |
24 | Zero terminated, UTF8 encoded sequence of bytes representing a name in metadata (a type name, a member name, etc).
25 | The name is bound to the module it was retrieved from. The module is kept alive until all its metadata names are collected.
26 | Doesn't cache hashcode, byte or character count.
27 |
28 |
29 |
30 |
31 | Gets the module whose metadata tables this instance represents.
32 | Null if the tables reflect unloaded module file.
33 |
34 |
35 |
36 |
37 | Gets the path of the module whose metadata tables this instance represents.
38 | Null for in-memory modules that are not backed by a file.
39 |
40 | The path is not accessible in partial trust.
41 |
42 |
43 |
44 | Returns AssemblyDef for manifest modules, null token otherwise.
45 |
46 |
47 |
48 |
49 | Token is null or represents a row in a metadata table.
50 |
51 |
52 |
53 |
54 | Gets the number of records in the view.
55 | If the view is over an entire table this operation is O(1),
56 | otherwise it might take up to O(log(#records in the table)).
57 |
58 |
59 |
60 |
61 | Module table entry (0x00 tokens).
62 |
63 |
64 |
65 |
66 | TypeRef table entry (0x01 tokens).
67 |
68 |
69 |
70 |
71 | AssemblyRef:
72 | If the target type is defined in a different Assembly from the current module.
73 | TypeRef:
74 | Target type is nested in TypeRef.
75 | ModuleRef:
76 | Target type is defined in another module within the same Assembly as this one.
77 | ModuleDef:
78 | If the target type is defined in the current module (this should not occur in a CLI "compressed metadata" module).
79 | Null token:
80 | There shall be a row in the ExportedType table for this Type - its Implementation field shall contain
81 | a File token or an AssemblyRef token that says where the type is defined.
82 |
83 |
84 |
85 |
86 | TypeDef table entry (0x02 tokens).
87 |
88 |
89 |
90 |
91 | Flags field in TypeDef table.
92 |
93 |
94 |
95 |
96 | Finds a nesting type-def. The search time is logarithmic in the number of nested types defined in the owning module.
97 | Returns a null token if this is not a nested type-def.
98 |
99 |
100 |
101 |
102 | O(log(#generic parameters in module))
103 |
104 |
105 |
106 |
107 | This typedef represents a container of global functions and fields (manufactured <Module> type).
108 |
109 |
110 |
111 |
112 | Combines Field (0x04 tokens), FieldRVA (0x1d tokens) and Constant (0x0B) table entries.
113 |
114 |
115 |
116 |
117 | Flags field in the Field table.
118 |
119 |
120 |
121 |
122 | O(log(#fields, parameters and properties with default value)).
123 | Returns if the field doesn't have a default value.
124 |
125 |
126 |
127 |
128 | Returns null reference iff the field has no RVA.
129 | If size is 0 the memory block will span over the rest of the data section.
130 | O(log(#fields with RVAs)).
131 |
132 |
133 |
134 |
135 | Finds type-def that declares this field. The search time is logarithmic in the number of types defined in the owning module.
136 |
137 |
138 |
139 |
140 | MethodDef table entry (0x06 tokens).
141 |
142 |
143 |
144 |
145 | ImplFlags field in the MethodDef table.
146 |
147 |
148 |
149 |
150 | Flags field in the MethodDef table.
151 |
152 |
153 |
154 |
155 | Returns a null reference iff the method has no body.
156 | If size is 0 the memory block will span over the rest of the data section.
157 |
158 |
159 |
160 |
161 | Finds type-def that declares this method. The search time is logarithmic in the number of types defined in the owning module.
162 |
163 |
164 |
165 |
166 | O(log(#generic parameters in module))
167 |
168 |
169 |
170 |
171 | Param table entry (0x08 tokens).
172 |
173 |
174 |
175 |
176 | Value greater or equal to zero and less than or equal to the number of parameters in owner method.
177 | A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onwards.
178 | Not all parameters need to have a corresponding ParamDef entry.
179 |
180 |
181 |
182 |
183 | O(log(#fields, parameters and properties with default value)).
184 | Returns if the field doesn't have a default value.
185 |
186 |
187 |
188 |
189 | Binary searches MethodDef table for a method that declares this parameter.
190 |
191 |
192 |
193 |
194 | InterfaceImpl table entry (0x09 tokens).
195 | TODO: we might not need this - TypeDef.ImplementedInterfaces might be a special enumerator that directly returns InterfaceType tokens.
196 |
197 |
198 |
199 |
200 | Could be a null token in EnC scenarios.
201 |
202 |
203 |
204 |
205 | TypeDef, TypeRef, or TypeSpec.
206 |
207 |
208 |
209 |
210 | MemberRef table entry (0x0A tokens).
211 | Stores MethodRefs and FieldRefs.
212 |
213 |
214 |
215 |
216 | TypeRef or TypeDef:
217 | If the class that defines the member is defined in another module.
218 | Note that it is unusual, but valid, to use a TypeRef token when the member is defined in this same module,
219 | in which case, its TypeDef token can be used instead.
220 | ModuleRef:
221 | If the member is defined, in another module of the same assembly, as a global function or variable.
222 | MethodDef:
223 | When used to supply a call-site signature for a vararg method that is defined in this module.
224 | The Name shall match the Name in the corresponding MethodDef row.
225 | The Signature shall match the Signature in the target method definition
226 | TypeSpec:
227 | If the member is a member of a generic type
228 |
229 |
230 |
231 |
232 | CustomAttribute table entry (0x0C tokens).
233 |
234 |
235 |
236 |
237 | Any token except the CustomAttribute.
238 |
239 |
240 |
241 |
242 | Returns the value of Type column in the CustomAttribute table.
243 | MethodDef or MemberRef.
244 |
245 |
246 |
247 |
248 | Value blob.
249 |
250 |
251 |
252 |
253 | StandAloneSig table entry (0x11 token).
254 |
255 |
256 |
257 |
258 | Combines information from PropertyMap (0x15), MethodSemantics (0x18) and Property (0x17) tables.
259 |
260 |
261 |
262 |
263 | O(log(#fields, parameters and properties with default value)).
264 | Returns if the field doesn't have a default value.
265 |
266 |
267 |
268 |
269 | Finds type-def that declares this property. The search time is logarithmic in the number of types with properties defined in the owning module.
270 |
271 |
272 |
273 |
274 | Combines information from EventMap (0x15), MethodSemantics (0x18) and Event (0x17) tables.
275 |
276 |
277 |
278 |
279 | Finds type-def that declares this event. The search time is logarithmic in the number of types with events defined in the owning module.
280 |
281 |
282 |
283 |
284 | ModuleRef table entry (0x1A tokens).
285 |
286 |
287 |
288 |
289 | TypeSpec table entry (0x1B tokens).
290 |
291 |
292 |
293 |
294 | Assembly table entry (0x20 tokens).
295 |
296 |
297 |
298 |
299 | Assembly table entry (0x23 tokens).
300 |
301 |
302 |
303 |
304 | File table entry (0x26 tokens).
305 |
306 |
307 |
308 |
309 | ExportedType table entry (0x27 tokens).
310 |
311 |
312 |
313 |
314 | Forwarded type: AssemblyRef
315 | Nested types: ExportedType
316 | Type in another module of this assembly: FileDef
317 |
318 |
319 |
320 |
321 | ManifestResource table entry (0x28 tokens).
322 |
323 |
324 |
325 |
326 | NestedClass table entry (0x29 tokens).
327 | TODO: Don't need if we exposed nested types enumeration on type-def directly and build TypeNesting mapping lazily.
328 |
329 |
330 |
331 |
332 | GenericParam table entry (0x2A tokens).
333 |
334 |
335 |
336 |
337 | Value greater or equal to zero and less than or equal to the number of parameters in owner method/type.
338 | All generic parameters are listed in the table.
339 |
340 |
341 |
342 |
343 | TypeDef or MethodDef.
344 |
345 |
346 |
347 |
348 | GenericParamConstraint table entry (0x2C tokens).
349 |
350 |
351 |
352 |
353 | TypeDef, TypeRef, or TypeSpec.
354 |
355 |
356 |
357 |
358 | MethodSpec table entry (0x2B tokens).
359 | Used when decoding IL instructions.
360 |
361 |
362 |
363 |
364 | MethodDef or MethodRef.
365 |
366 |
367 |
368 |
369 | We need to be able to construct tokens out of byte-code.
370 |
371 |
372 |
373 |
374 |
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Dynamic.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Dynamic.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.Metadata.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.Metadata.dll
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.Metadata.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Microsoft.Scripting.Metadata
5 |
6 |
7 |
8 |
9 | Represents a block in memory.
10 |
11 |
12 |
13 |
14 | Reads data from a memory block. Maintains a position.
15 |
16 |
17 |
18 |
19 | Reads zero terminated sequence of bytes of given maximal length and converts it into an ASCII string.
20 |
21 |
22 |
23 |
24 | Zero terminated, UTF8 encoded sequence of bytes representing a name in metadata (a type name, a member name, etc).
25 | The name is bound to the module it was retrieved from. The module is kept alive until all its metadata names are collected.
26 | Doesn't cache hashcode, byte or character count.
27 |
28 |
29 |
30 |
31 | Gets the module whose metadata tables this instance represents.
32 | Null if the tables reflect unloaded module file.
33 |
34 |
35 |
36 |
37 | Gets the path of the module whose metadata tables this instance represents.
38 | Null for in-memory modules that are not backed by a file.
39 |
40 | The path is not accessible in partial trust.
41 |
42 |
43 |
44 | Returns AssemblyDef for manifest modules, null token otherwise.
45 |
46 |
47 |
48 |
49 | Token is null or represents a row in a metadata table.
50 |
51 |
52 |
53 |
54 | Gets the number of records in the view.
55 | If the view is over an entire table this operation is O(1),
56 | otherwise it might take up to O(log(#records in the table)).
57 |
58 |
59 |
60 |
61 | Module table entry (0x00 tokens).
62 |
63 |
64 |
65 |
66 | TypeRef table entry (0x01 tokens).
67 |
68 |
69 |
70 |
71 | AssemblyRef:
72 | If the target type is defined in a different Assembly from the current module.
73 | TypeRef:
74 | Target type is nested in TypeRef.
75 | ModuleRef:
76 | Target type is defined in another module within the same Assembly as this one.
77 | ModuleDef:
78 | If the target type is defined in the current module (this should not occur in a CLI "compressed metadata" module).
79 | Null token:
80 | There shall be a row in the ExportedType table for this Type - its Implementation field shall contain
81 | a File token or an AssemblyRef token that says where the type is defined.
82 |
83 |
84 |
85 |
86 | TypeDef table entry (0x02 tokens).
87 |
88 |
89 |
90 |
91 | Flags field in TypeDef table.
92 |
93 |
94 |
95 |
96 | Finds a nesting type-def. The search time is logarithmic in the number of nested types defined in the owning module.
97 | Returns a null token if this is not a nested type-def.
98 |
99 |
100 |
101 |
102 | O(log(#generic parameters in module))
103 |
104 |
105 |
106 |
107 | This typedef represents a container of global functions and fields (manufactured <Module> type).
108 |
109 |
110 |
111 |
112 | Combines Field (0x04 tokens), FieldRVA (0x1d tokens) and Constant (0x0B) table entries.
113 |
114 |
115 |
116 |
117 | Flags field in the Field table.
118 |
119 |
120 |
121 |
122 | O(log(#fields, parameters and properties with default value)).
123 | Returns if the field doesn't have a default value.
124 |
125 |
126 |
127 |
128 | Returns null reference iff the field has no RVA.
129 | If size is 0 the memory block will span over the rest of the data section.
130 | O(log(#fields with RVAs)).
131 |
132 |
133 |
134 |
135 | Finds type-def that declares this field. The search time is logarithmic in the number of types defined in the owning module.
136 |
137 |
138 |
139 |
140 | MethodDef table entry (0x06 tokens).
141 |
142 |
143 |
144 |
145 | ImplFlags field in the MethodDef table.
146 |
147 |
148 |
149 |
150 | Flags field in the MethodDef table.
151 |
152 |
153 |
154 |
155 | Returns a null reference iff the method has no body.
156 | If size is 0 the memory block will span over the rest of the data section.
157 |
158 |
159 |
160 |
161 | Finds type-def that declares this method. The search time is logarithmic in the number of types defined in the owning module.
162 |
163 |
164 |
165 |
166 | O(log(#generic parameters in module))
167 |
168 |
169 |
170 |
171 | Param table entry (0x08 tokens).
172 |
173 |
174 |
175 |
176 | Value greater or equal to zero and less than or equal to the number of parameters in owner method.
177 | A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onwards.
178 | Not all parameters need to have a corresponding ParamDef entry.
179 |
180 |
181 |
182 |
183 | O(log(#fields, parameters and properties with default value)).
184 | Returns if the field doesn't have a default value.
185 |
186 |
187 |
188 |
189 | Binary searches MethodDef table for a method that declares this parameter.
190 |
191 |
192 |
193 |
194 | InterfaceImpl table entry (0x09 tokens).
195 | TODO: we might not need this - TypeDef.ImplementedInterfaces might be a special enumerator that directly returns InterfaceType tokens.
196 |
197 |
198 |
199 |
200 | Could be a null token in EnC scenarios.
201 |
202 |
203 |
204 |
205 | TypeDef, TypeRef, or TypeSpec.
206 |
207 |
208 |
209 |
210 | MemberRef table entry (0x0A tokens).
211 | Stores MethodRefs and FieldRefs.
212 |
213 |
214 |
215 |
216 | TypeRef or TypeDef:
217 | If the class that defines the member is defined in another module.
218 | Note that it is unusual, but valid, to use a TypeRef token when the member is defined in this same module,
219 | in which case, its TypeDef token can be used instead.
220 | ModuleRef:
221 | If the member is defined, in another module of the same assembly, as a global function or variable.
222 | MethodDef:
223 | When used to supply a call-site signature for a vararg method that is defined in this module.
224 | The Name shall match the Name in the corresponding MethodDef row.
225 | The Signature shall match the Signature in the target method definition
226 | TypeSpec:
227 | If the member is a member of a generic type
228 |
229 |
230 |
231 |
232 | CustomAttribute table entry (0x0C tokens).
233 |
234 |
235 |
236 |
237 | Any token except the CustomAttribute.
238 |
239 |
240 |
241 |
242 | Returns the value of Type column in the CustomAttribute table.
243 | MethodDef or MemberRef.
244 |
245 |
246 |
247 |
248 | Value blob.
249 |
250 |
251 |
252 |
253 | StandAloneSig table entry (0x11 token).
254 |
255 |
256 |
257 |
258 | Combines information from PropertyMap (0x15), MethodSemantics (0x18) and Property (0x17) tables.
259 |
260 |
261 |
262 |
263 | O(log(#fields, parameters and properties with default value)).
264 | Returns if the field doesn't have a default value.
265 |
266 |
267 |
268 |
269 | Finds type-def that declares this property. The search time is logarithmic in the number of types with properties defined in the owning module.
270 |
271 |
272 |
273 |
274 | Combines information from EventMap (0x15), MethodSemantics (0x18) and Event (0x17) tables.
275 |
276 |
277 |
278 |
279 | Finds type-def that declares this event. The search time is logarithmic in the number of types with events defined in the owning module.
280 |
281 |
282 |
283 |
284 | ModuleRef table entry (0x1A tokens).
285 |
286 |
287 |
288 |
289 | TypeSpec table entry (0x1B tokens).
290 |
291 |
292 |
293 |
294 | Assembly table entry (0x20 tokens).
295 |
296 |
297 |
298 |
299 | Assembly table entry (0x23 tokens).
300 |
301 |
302 |
303 |
304 | File table entry (0x26 tokens).
305 |
306 |
307 |
308 |
309 | ExportedType table entry (0x27 tokens).
310 |
311 |
312 |
313 |
314 | Forwarded type: AssemblyRef
315 | Nested types: ExportedType
316 | Type in another module of this assembly: FileDef
317 |
318 |
319 |
320 |
321 | ManifestResource table entry (0x28 tokens).
322 |
323 |
324 |
325 |
326 | NestedClass table entry (0x29 tokens).
327 | TODO: Don't need if we exposed nested types enumeration on type-def directly and build TypeNesting mapping lazily.
328 |
329 |
330 |
331 |
332 | GenericParam table entry (0x2A tokens).
333 |
334 |
335 |
336 |
337 | Value greater or equal to zero and less than or equal to the number of parameters in owner method/type.
338 | All generic parameters are listed in the table.
339 |
340 |
341 |
342 |
343 | TypeDef or MethodDef.
344 |
345 |
346 |
347 |
348 | GenericParamConstraint table entry (0x2C tokens).
349 |
350 |
351 |
352 |
353 | TypeDef, TypeRef, or TypeSpec.
354 |
355 |
356 |
357 |
358 | MethodSpec table entry (0x2B tokens).
359 | Used when decoding IL instructions.
360 |
361 |
362 |
363 |
364 | MethodDef or MethodRef.
365 |
366 |
367 |
368 |
369 | We need to be able to construct tokens out of byte-code.
370 |
371 |
372 |
373 |
374 |
--------------------------------------------------------------------------------
/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/.signature.p7s
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/NLog.4.6.8.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/NLog.4.6.8.nupkg
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/monoandroid44/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/monoandroid44/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/net35/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/net35/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/net40-client/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/net40-client/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/net45/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/net45/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/netstandard1.3/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/netstandard1.3/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/netstandard1.5/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/netstandard1.5/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/netstandard2.0/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/netstandard2.0/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/sl4/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/sl4/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/sl5/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/sl5/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/wp8/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/wp8/NLog.dll
--------------------------------------------------------------------------------
/packages/NLog.4.6.8/lib/xamarinios10/NLog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/xamarinios10/NLog.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/.signature.p7s
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2007 James Newton-King
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/Newtonsoft.Json.13.0.1.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/Newtonsoft.Json.13.0.1.nupkg
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/net20/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net20/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/net35/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net35/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/net40/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net40/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/net45/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net45/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.0/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.0/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.3/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.3/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll
--------------------------------------------------------------------------------
/packages/Newtonsoft.Json.13.0.1/packageIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/packageIcon.png
--------------------------------------------------------------------------------
/packages/StreamDeck-Tools.2.7.0/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/.signature.p7s
--------------------------------------------------------------------------------
/packages/StreamDeck-Tools.2.7.0/StreamDeck-Tools.2.7.0.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/StreamDeck-Tools.2.7.0.nupkg
--------------------------------------------------------------------------------
/packages/StreamDeck-Tools.2.7.0/lib/net472/StreamDeckTools.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/lib/net472/StreamDeckTools.dll
--------------------------------------------------------------------------------
/packages/StreamDeck-Tools.2.7.0/lib/netstandard2.0/StreamDeckTools.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/lib/netstandard2.0/StreamDeckTools.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/.signature.p7s
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/LICENSE.TXT:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) .NET Foundation and Contributors
4 |
5 | All rights reserved.
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/System.Drawing.Common.4.7.0.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/System.Drawing.Common.4.7.0.nupkg
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/THIRD-PARTY-NOTICES.TXT:
--------------------------------------------------------------------------------
1 | .NET Core uses third-party libraries or other resources that may be
2 | distributed under licenses different than the .NET Core software.
3 |
4 | In the event that we accidentally failed to list a required notice, please
5 | bring it to our attention. Post an issue or email us:
6 |
7 | dotnet@microsoft.com
8 |
9 | The attached notices are provided for information only.
10 |
11 | License notice for ASP.NET
12 | -------------------------------
13 |
14 | Copyright (c) .NET Foundation. All rights reserved.
15 | Licensed under the Apache License, Version 2.0.
16 |
17 | Available at
18 | https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt
19 |
20 | License notice for Slicing-by-8
21 | -------------------------------
22 |
23 | http://sourceforge.net/projects/slicing-by-8/
24 |
25 | Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
26 |
27 |
28 | This software program is licensed subject to the BSD License, available at
29 | http://www.opensource.org/licenses/bsd-license.html.
30 |
31 |
32 | License notice for Unicode data
33 | -------------------------------
34 |
35 | http://www.unicode.org/copyright.html#License
36 |
37 | Copyright © 1991-2017 Unicode, Inc. All rights reserved.
38 | Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
39 |
40 | Permission is hereby granted, free of charge, to any person obtaining
41 | a copy of the Unicode data files and any associated documentation
42 | (the "Data Files") or Unicode software and any associated documentation
43 | (the "Software") to deal in the Data Files or Software
44 | without restriction, including without limitation the rights to use,
45 | copy, modify, merge, publish, distribute, and/or sell copies of
46 | the Data Files or Software, and to permit persons to whom the Data Files
47 | or Software are furnished to do so, provided that either
48 | (a) this copyright and permission notice appear with all copies
49 | of the Data Files or Software, or
50 | (b) this copyright and permission notice appear in associated
51 | Documentation.
52 |
53 | THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
54 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
55 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
56 | NONINFRINGEMENT OF THIRD PARTY RIGHTS.
57 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
58 | NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
59 | DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
60 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
61 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
62 | PERFORMANCE OF THE DATA FILES OR SOFTWARE.
63 |
64 | Except as contained in this notice, the name of a copyright holder
65 | shall not be used in advertising or otherwise to promote the sale,
66 | use or other dealings in these Data Files or Software without prior
67 | written authorization of the copyright holder.
68 |
69 | License notice for Zlib
70 | -----------------------
71 |
72 | https://github.com/madler/zlib
73 | http://zlib.net/zlib_license.html
74 |
75 | /* zlib.h -- interface of the 'zlib' general purpose compression library
76 | version 1.2.11, January 15th, 2017
77 |
78 | Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
79 |
80 | This software is provided 'as-is', without any express or implied
81 | warranty. In no event will the authors be held liable for any damages
82 | arising from the use of this software.
83 |
84 | Permission is granted to anyone to use this software for any purpose,
85 | including commercial applications, and to alter it and redistribute it
86 | freely, subject to the following restrictions:
87 |
88 | 1. The origin of this software must not be misrepresented; you must not
89 | claim that you wrote the original software. If you use this software
90 | in a product, an acknowledgment in the product documentation would be
91 | appreciated but is not required.
92 | 2. Altered source versions must be plainly marked as such, and must not be
93 | misrepresented as being the original software.
94 | 3. This notice may not be removed or altered from any source distribution.
95 |
96 | Jean-loup Gailly Mark Adler
97 | jloup@gzip.org madler@alumni.caltech.edu
98 |
99 | */
100 |
101 | License notice for Mono
102 | -------------------------------
103 |
104 | http://www.mono-project.com/docs/about-mono/
105 |
106 | Copyright (c) .NET Foundation Contributors
107 |
108 | MIT License
109 |
110 | Permission is hereby granted, free of charge, to any person obtaining a copy
111 | of this software and associated documentation files (the Software), to deal
112 | in the Software without restriction, including without limitation the rights
113 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
114 | copies of the Software, and to permit persons to whom the Software is
115 | furnished to do so, subject to the following conditions:
116 |
117 | The above copyright notice and this permission notice shall be included in all
118 | copies or substantial portions of the Software.
119 |
120 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
121 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
122 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
123 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
124 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
125 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
126 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
127 |
128 | License notice for International Organization for Standardization
129 | -----------------------------------------------------------------
130 |
131 | Portions (C) International Organization for Standardization 1986:
132 | Permission to copy in any form is granted for use with
133 | conforming SGML systems and applications as defined in
134 | ISO 8879, provided this notice is included in all copies.
135 |
136 | License notice for Intel
137 | ------------------------
138 |
139 | "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
140 |
141 | Redistribution and use in source and binary forms, with or without
142 | modification, are permitted provided that the following conditions are met:
143 |
144 | 1. Redistributions of source code must retain the above copyright notice, this
145 | list of conditions and the following disclaimer.
146 |
147 | 2. Redistributions in binary form must reproduce the above copyright notice,
148 | this list of conditions and the following disclaimer in the documentation
149 | and/or other materials provided with the distribution.
150 |
151 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
152 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
153 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
154 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
155 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
156 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
157 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
158 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
159 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
160 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
161 |
162 | License notice for Xamarin and Novell
163 | -------------------------------------
164 |
165 | Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
166 |
167 | Permission is hereby granted, free of charge, to any person obtaining a copy
168 | of this software and associated documentation files (the "Software"), to deal
169 | in the Software without restriction, including without limitation the rights
170 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
171 | copies of the Software, and to permit persons to whom the Software is
172 | furnished to do so, subject to the following conditions:
173 |
174 | The above copyright notice and this permission notice shall be included in
175 | all copies or substantial portions of the Software.
176 |
177 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
178 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
179 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
180 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
181 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
182 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
183 | THE SOFTWARE.
184 |
185 | Copyright (c) 2011 Novell, Inc (http://www.novell.com)
186 |
187 | Permission is hereby granted, free of charge, to any person obtaining a copy
188 | of this software and associated documentation files (the "Software"), to deal
189 | in the Software without restriction, including without limitation the rights
190 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
191 | copies of the Software, and to permit persons to whom the Software is
192 | furnished to do so, subject to the following conditions:
193 |
194 | The above copyright notice and this permission notice shall be included in
195 | all copies or substantial portions of the Software.
196 |
197 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
198 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
199 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
200 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
201 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
202 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
203 | THE SOFTWARE.
204 |
205 | Third party notice for W3C
206 | --------------------------
207 |
208 | "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
209 | Status: This license takes effect 13 May, 2015.
210 | This work is being provided by the copyright holders under the following license.
211 | License
212 | By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
213 | Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
214 | The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
215 | Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
216 | Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
217 | Disclaimers
218 | THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
219 | COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
220 | The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
221 |
222 | License notice for Bit Twiddling Hacks
223 | --------------------------------------
224 |
225 | Bit Twiddling Hacks
226 |
227 | By Sean Eron Anderson
228 | seander@cs.stanford.edu
229 |
230 | Individually, the code snippets here are in the public domain (unless otherwise
231 | noted) — feel free to use them however you please. The aggregate collection and
232 | descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
233 | distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
234 | without even the implied warranty of merchantability or fitness for a particular
235 | purpose.
236 |
237 | License notice for Brotli
238 | --------------------------------------
239 |
240 | Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
241 |
242 | Permission is hereby granted, free of charge, to any person obtaining a copy
243 | of this software and associated documentation files (the "Software"), to deal
244 | in the Software without restriction, including without limitation the rights
245 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
246 | copies of the Software, and to permit persons to whom the Software is
247 | furnished to do so, subject to the following conditions:
248 |
249 | The above copyright notice and this permission notice shall be included in
250 | all copies or substantial portions of the Software.
251 |
252 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
253 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
254 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
255 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
256 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
257 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
258 | THE SOFTWARE.
259 |
260 | compress_fragment.c:
261 | Copyright (c) 2011, Google Inc.
262 | All rights reserved.
263 |
264 | Redistribution and use in source and binary forms, with or without
265 | modification, are permitted provided that the following conditions are
266 | met:
267 |
268 | * Redistributions of source code must retain the above copyright
269 | notice, this list of conditions and the following disclaimer.
270 | * Redistributions in binary form must reproduce the above
271 | copyright notice, this list of conditions and the following disclaimer
272 | in the documentation and/or other materials provided with the
273 | distribution.
274 | * Neither the name of Google Inc. nor the names of its
275 | contributors may be used to endorse or promote products derived from
276 | this software without specific prior written permission.
277 |
278 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
279 | ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
280 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
281 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
282 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
283 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
284 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
285 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
286 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
287 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
288 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
289 |
290 | decode_fuzzer.c:
291 | Copyright (c) 2015 The Chromium Authors. All rights reserved.
292 |
293 | Redistribution and use in source and binary forms, with or without
294 | modification, are permitted provided that the following conditions are
295 | met:
296 |
297 | * Redistributions of source code must retain the above copyright
298 | notice, this list of conditions and the following disclaimer.
299 | * Redistributions in binary form must reproduce the above
300 | copyright notice, this list of conditions and the following disclaimer
301 | in the documentation and/or other materials provided with the
302 | distribution.
303 | * Neither the name of Google Inc. nor the names of its
304 | contributors may be used to endorse or promote products derived from
305 | this software without specific prior written permission.
306 |
307 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
308 | ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
309 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
310 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
311 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
312 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
313 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
314 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
315 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
316 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
317 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
318 |
319 | License notice for Json.NET
320 | -------------------------------
321 |
322 | https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
323 |
324 | The MIT License (MIT)
325 |
326 | Copyright (c) 2007 James Newton-King
327 |
328 | Permission is hereby granted, free of charge, to any person obtaining a copy of
329 | this software and associated documentation files (the "Software"), to deal in
330 | the Software without restriction, including without limitation the rights to
331 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
332 | the Software, and to permit persons to whom the Software is furnished to do so,
333 | subject to the following conditions:
334 |
335 | The above copyright notice and this permission notice shall be included in all
336 | copies or substantial portions of the Software.
337 |
338 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
339 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
340 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
341 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
342 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
343 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
344 |
345 | License notice for vectorized base64 encoding / decoding
346 | --------------------------------------------------------
347 |
348 | Copyright (c) 2005-2007, Nick Galbreath
349 | Copyright (c) 2013-2017, Alfred Klomp
350 | Copyright (c) 2015-2017, Wojciech Mula
351 | Copyright (c) 2016-2017, Matthieu Darbois
352 | All rights reserved.
353 |
354 | Redistribution and use in source and binary forms, with or without
355 | modification, are permitted provided that the following conditions are
356 | met:
357 |
358 | - Redistributions of source code must retain the above copyright notice,
359 | this list of conditions and the following disclaimer.
360 |
361 | - Redistributions in binary form must reproduce the above copyright
362 | notice, this list of conditions and the following disclaimer in the
363 | documentation and/or other materials provided with the distribution.
364 |
365 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
366 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
367 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
368 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
369 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
370 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
371 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
372 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
373 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
374 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
375 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
376 |
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/MonoAndroid10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/MonoAndroid10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/MonoTouch10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/MonoTouch10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/net461/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/net461/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/netstandard2.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/netstandard2.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/xamarinios10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarinios10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/xamarinmac20/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarinmac20/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/xamarintvos10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarintvos10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/lib/xamarinwatchos10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarinwatchos10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/MonoAndroid10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/MonoAndroid10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/MonoTouch10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/MonoTouch10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/net461/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/net461/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/netcoreapp3.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/netcoreapp3.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/netstandard2.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/netstandard2.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/xamarinios10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarinios10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/xamarinmac20/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarinmac20/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/xamarintvos10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarintvos10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/ref/xamarinwatchos10/_._:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarinwatchos10/_._
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp2.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp2.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/useSharedDesignerContext.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/useSharedDesignerContext.txt
--------------------------------------------------------------------------------
/packages/System.Drawing.Common.4.7.0/version.txt:
--------------------------------------------------------------------------------
1 | 0f7f38c4fd323b26da10cce95f857f77f0f09b48
2 |
--------------------------------------------------------------------------------
/packages/streamdeck-client-csharp.4.1.1/.signature.p7s:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/streamdeck-client-csharp.4.1.1/.signature.p7s
--------------------------------------------------------------------------------
/packages/streamdeck-client-csharp.4.1.1/lib/netstandard2.0/streamdeck-client-csharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/streamdeck-client-csharp.4.1.1/lib/netstandard2.0/streamdeck-client-csharp.dll
--------------------------------------------------------------------------------
/packages/streamdeck-client-csharp.4.1.1/streamdeck-client-csharp.4.1.1.nupkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/streamdeck-client-csharp.4.1.1/streamdeck-client-csharp.4.1.1.nupkg
--------------------------------------------------------------------------------