Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Billiam committed Sep 1, 2024
0 parents commit 2f3d8f2
Show file tree
Hide file tree
Showing 25 changed files with 408 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
3 changes: 3 additions & 0 deletions 404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>404 Page not found - CNCjs Pendant Stream Deck</title>
<meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://billiam.github.io/cncjs-pendant-streamdeck/favicon.png><link rel=stylesheet href=/cncjs-pendant-streamdeck/css/style.min.bb59d5a7c70b2ce4408f747e095893c9227ad560e900452744688da34595f8f1.css></head><body class=page><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="container pt-4 pt-10"><div class="row justify-content-center"><div class="col-12 col-md-9"><h1>404 Page Not Found</h1></div></div></div></div><div class=sub-footer><div class=container><div class=row><div class=col-12><div class=sub-footer-inner><ul></ul></div></div></div></div></div><script type=text/javascript src=/cncjs-pendant-streamdeck/js/scripts.min.ec19db7e4836c12e2c5e3697d926bc3e4c22005167d9826aab54feca08f0c093.js></script></body></html>
3 changes: 3 additions & 0 deletions categories/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Categories - CNCjs Pendant Stream Deck</title>
<meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://billiam.github.io/cncjs-pendant-streamdeck/favicon.png><link rel=stylesheet href=/cncjs-pendant-streamdeck/css/style.min.bb59d5a7c70b2ce4408f747e095893c9227ad560e900452744688da34595f8f1.css></head><body class='page page-default-list'><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><span class=overview>Overview</span><h1 class=title>Categories</h1><div class=content></div></div><div class=sub-footer><div class=container><div class=row><div class=col-12><div class=sub-footer-inner><ul></ul></div></div></div></div></div><script type=text/javascript src=/cncjs-pendant-streamdeck/js/scripts.min.ec19db7e4836c12e2c5e3697d926bc3e4c22005167d9826aab54feca08f0c093.js></script></body></html>
1 change: 1 addition & 0 deletions categories/index.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on CNCjs Pendant Stream Deck</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/categories/</link><description>Recent content in Categories on CNCjs Pendant Stream Deck</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://billiam.github.io/cncjs-pendant-streamdeck/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>

Large diffs are not rendered by default.

86 changes: 86 additions & 0 deletions docs/actions/index.html

Large diffs are not rendered by default.

134 changes: 134 additions & 0 deletions docs/configure/index.html

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Stream Deck Pendant Docs - CNCjs Pendant Stream Deck</title>
<meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://billiam.github.io/cncjs-pendant-streamdeck/favicon.png><link rel=stylesheet href=/cncjs-pendant-streamdeck/css/style.min.bb59d5a7c70b2ce4408f747e095893c9227ad560e900452744688da34595f8f1.css></head><body class='page page-default-list'><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="container pt-2 pt-md-6 pb-3 pb-md-6"><div class=row><div class="col-12 col-sm-2 pb-3 pb-lg-0"><div class=sidebar><div class=docs-menu><h4>Docs</h4><ul><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/installation/>Installation</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/configure/>Configuration</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/actions/>Actions</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/variables/>Variables</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/tips/>Tips</a></li></ul></div></div></div><div class="col-12 col-sm-10"><span class=overview>Overview</span><h1 class=title>Stream Deck Pendant Docs</h1><div class=content></div><div class="summary mb-2"><h2 class=title-summary><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/installation/>Installation</a></h2><p>Web and Stream Deck installation instructions</p></div><div class="summary mb-2"><h2 class=title-summary><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/configure/>Configuration</a></h2><p>Configuration reference for the <code>config.json</code> file</p></div><div class="summary mb-2"><h2 class=title-summary><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/actions/>Actions</a></h2><p>Reference for actions that can be used by buttons</p></div><div class="summary mb-2"><h2 class=title-summary><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/variables/>Variables</a></h2><p>Reference for condition and template variables</p></div><div class="summary mb-2"><h2 class=title-summary><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/tips/>Tips</a></h2><p>Tips for working configuring the pendant</p></div></div></div></div></div><div class=sub-footer><div class=container><div class=row><div class=col-12><div class=sub-footer-inner><ul></ul></div></div></div></div></div><script type=text/javascript src=/cncjs-pendant-streamdeck/js/scripts.min.ec19db7e4836c12e2c5e3697d926bc3e4c22005167d9826aab54feca08f0c093.js></script></body></html>
1 change: 1 addition & 0 deletions docs/index.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stream Deck Pendant Docs on CNCjs Pendant Stream Deck</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/docs/</link><description>Recent content in Stream Deck Pendant Docs on CNCjs Pendant Stream Deck</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 20 Jul 2022 18:47:00 -0600</lastBuildDate><atom:link href="https://billiam.github.io/cncjs-pendant-streamdeck/docs/index.xml" rel="self" type="application/rss+xml"/><item><title>Installation</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/docs/installation/</link><pubDate>Mon, 11 Feb 2019 19:30:08 +1000</pubDate><guid>https://billiam.github.io/cncjs-pendant-streamdeck/docs/installation/</guid><description>Web and Stream Deck installation instructions</description></item><item><title>Configuration</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/docs/configure/</link><pubDate>Mon, 11 Feb 2019 19:30:08 +1000</pubDate><guid>https://billiam.github.io/cncjs-pendant-streamdeck/docs/configure/</guid><description>Configuration reference for the &lt;code>config.json&lt;/code> file</description></item><item><title>Actions</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/docs/actions/</link><pubDate>Mon, 11 Feb 2019 19:30:08 +1000</pubDate><guid>https://billiam.github.io/cncjs-pendant-streamdeck/docs/actions/</guid><description>Reference for actions that can be used by buttons</description></item><item><title>Variables</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/docs/variables/</link><pubDate>Mon, 11 Feb 2019 19:30:08 +1000</pubDate><guid>https://billiam.github.io/cncjs-pendant-streamdeck/docs/variables/</guid><description>Reference for condition and template variables</description></item><item><title>Tips</title><link>https://billiam.github.io/cncjs-pendant-streamdeck/docs/tips/</link><pubDate>Wed, 20 Jul 2022 18:47:00 -0600</pubDate><guid>https://billiam.github.io/cncjs-pendant-streamdeck/docs/tips/</guid><description>Tips for working configuring the pendant</description></item></channel></rss>
35 changes: 35 additions & 0 deletions docs/installation/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><title>Installation - CNCjs Pendant Stream Deck</title>
<meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=https://billiam.github.io/cncjs-pendant-streamdeck/favicon.png><link rel=stylesheet href=/cncjs-pendant-streamdeck/css/style.min.bb59d5a7c70b2ce4408f747e095893c9227ad560e900452744688da34595f8f1.css></head><body class='page page-default-single'><div id=main-menu-mobile class=main-menu-mobile><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><div class=wrapper><div class=header><div class=container><div id=main-menu class=main-menu><ul><li class=menu-item-home><a href=/cncjs-pendant-streamdeck/><span>Home</span></a></li><li class=menu-item-docs><a href=/cncjs-pendant-streamdeck/docs/><span>Docs</span></a></li><li class=menu-item-validator><a href=/cncjs-pendant-streamdeck/validator/><span>Validator</span></a></li></ul></div><button id=toggle-main-menu-mobile class="hamburger hamburger--slider" type=button>
<span class=hamburger-box><span class=hamburger-inner></span></span></button></div></div><div class="container pt-2 pt-md-6 pb-3 pb-md-6"><div class=row><div class="col-12 col-lg-2 pb-3 pb-lg-0"><div class=sidebar><div class=docs-menu><h4>Docs</h4><ul><li class=active><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/installation/>Installation</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/configure/>Configuration</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/actions/>Actions</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/variables/>Variables</a></li><li><a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/tips/>Tips</a></li></ul></div></div></div><nav class="docs-toc toc-sticky col-12 col-md-3" aria-label="Secondary navigation"><div class=page-links><h4>On this page</h4><nav id=TableOfContents><ul><li><a href=#web>Web</a></li><li><a href=#stream-deck>Stream Deck</a><ul><li><a href=#linux>Linux</a></li><li><a href=#windows>Windows</a></li></ul></li></ul></nav></div></nav><div class="col-12 col-lg-7 col-md-9"><h1 class=title>Installation</h1><div class="content anchor-link-enabled"><h2 id=web>Web</h2><ol><li><p>Download the <a href=https://github.com/Billiam/cncjs-pendant-streamdeck/releases>latest release</a> and extract it, to ex: <code>/home/my-name/cncjs-pendant-streamdeck</code></p></li><li><p>Rename <code>config.example.json</code> to <code>config.json</code></p></li><li><p>Update the <code>config.json</code> file with your connection information in the <a href=https://billiam.github.io/cncjs-pendant-streamdeck/docs/configure/#cncjs><code>cncjs</code></a> section.</p></li><li><p>Edit your <code>~/.cncrc</code> file, adding a mount point for this pendant</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-json data-lang=json><span class=line><span class=cl><span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nt>&#34;mountPoints&#34;</span><span class=p>:</span> <span class=p>[</span>
</span></span><span class=line><span class=cl> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nt>&#34;route&#34;</span><span class=p>:</span> <span class=s2>&#34;grid&#34;</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=nt>&#34;target&#34;</span><span class=p>:</span> <span class=s2>&#34;/home/pi/cncjs-pendant-streamdeck&#34;</span>
</span></span><span class=line><span class=cl> <span class=p>}</span>
</span></span><span class=line><span class=cl> <span class=p>]</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></div></li><li><p>Restart CNCjs</p></li></ol><h2 id=stream-deck>Stream Deck</h2><p>Follow <a href=#web>Web</a> steps above to generate create a configuration directory, <code>config.json</code> file, and button images.
You can skip the <code>.cncrc</code> step if you do not need the web interface.</p><h3 id=linux>Linux</h3><p>Instructions borrowed from <a href=https://github.com/julusian/node-elgato-stream-deck>https://github.com/julusian/node-elgato-stream-deck</a></p><p>On linux, the udev subsystem blocks access to the Stream Deck without some special configuration.
Save the following to <code>/etc/udev/rules.d/50-elgato.rules</code> and reload the rules with
<code>sudo udevadm control --reload-rules</code></p><div class=highlight><pre tabindex=0 class=chroma><code class=language-txt data-lang=txt><span class=line><span class=cl>SUBSYSTEM==&#34;input&#34;, GROUP=&#34;input&#34;, MODE=&#34;0666&#34;
</span></span><span class=line><span class=cl>SUBSYSTEM==&#34;usb&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0060&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>SUBSYSTEM==&#34;usb&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0063&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>SUBSYSTEM==&#34;usb&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;006c&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>SUBSYSTEM==&#34;usb&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;006d&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>SUBSYSTEM==&#34;usb&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0080&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>SUBSYSTEM==&#34;usb&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0086&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>KERNEL==&#34;hidraw*&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0060&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>KERNEL==&#34;hidraw*&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0063&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>KERNEL==&#34;hidraw*&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;006c&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>KERNEL==&#34;hidraw*&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;006d&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>KERNEL==&#34;hidraw*&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0080&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span><span class=line><span class=cl>KERNEL==&#34;hidraw*&#34;, ATTRS{idVendor}==&#34;0fd9&#34;, ATTRS{idProduct}==&#34;0086&#34;, MODE:=&#34;666&#34;, GROUP=&#34;plugdev&#34;
</span></span></code></pre></div><p>Unplug and replug the device after reloading rules if necessary.</p><p>Install dependencies for the canvas and Stream Deck libraries:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>apt-get install libusb-1.0-0-dev libudev-dev libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
</span></span></code></pre></div><p>Install optional node dependencies:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>npm install -g canvas @julusian/jpeg-turbo
</span></span></code></pre></div><p>Install the pendant:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>npm install -g cncjs-pendant-streamdeck
</span></span></code></pre></div><p>Run the pendant:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>cncjs-pendant-streamdeck --directory /home/my-name/cncjs-pendant-streamdeck
</span></span></code></pre></div><p>See other help options, mostly for overriding the cncjs connection information:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>cncjs-pendant-streamdeck --help
</span></span></code></pre></div><h3 id=windows>Windows</h3><p>Windows is completely untested!</p><p><code>cncjs-pendant-streamdeck</code> uses the image processing library <a href=https://github.com/lovell/sharp><code>Sharp</code></a>, which is not
compatible with <code>canvas</code> in Windows.</p><p><code>cncjs-pendant-streamdeck</code> supports <a href=https://github.com/joshmarinacci/node-pureimage><code>pureimage</code></a> instead for this
reason.</p><p><code>pureimage</code> is both slower and does not look as nice, but it is functional.</p><p>You can install it with:</p><div class=highlight><pre tabindex=0 class=chroma><code class=language-sh data-lang=sh><span class=line><span class=cl>npm install -g pureimage @julusian/jpeg-turbo
</span></span></code></pre></div></div></div></div></div></div><div class=sub-footer><div class=container><div class=row><div class=col-12><div class=sub-footer-inner><ul></ul></div></div></div></div></div><script type=text/javascript src=/cncjs-pendant-streamdeck/js/scripts.min.ec19db7e4836c12e2c5e3697d926bc3e4c22005167d9826aab54feca08f0c093.js></script></body></html>
Loading

0 comments on commit 2f3d8f2

Please sign in to comment.