Facility Control

 View Only
  • 1.  Controlling nk router with custom panel

    Posted 01-10-2014 17:35
    Hi ,

    I'm wondering if it's possible to create a custom panel in which i could change the input and output of the router . We have a Carbonite extreme with 112 outputs and 56 inputs and I want to organize in a more friendly way than the nk switchboard by having tab for each section for the output ( monitor wall , audiobooth , engineer section ) and for the source ( camera , frame synch ...etc ) . We also a AES ROUTER (D64 ) that i would also like to integrate in the same custom panel

    Thank

    Phil


  • 2.  RE: Controlling nk router with custom panel

    Posted 01-10-2014 19:01
    Hi Philippe.

    A CustomPanel can do anything Switchboard can do with the added ability to customize your user interface. This means that what you're asking for should be possible.

    As a demo, I have taken the "Switchboard (Large Router)" from DashBoard and customized the Destination and Source buttons into different tabs. If you use DashBoard 6.1, you should see the user interface for customizing which sources/destinations appear in which tabs.

    You can download my example here

    #DashBoard


  • 3.  RE: Controlling nk router with custom panel

    Posted 05-14-2020 16:34

    I know this is a "ye olde" comment, but I am now wanting to learn this part as well, and the example link about generates this message, "Time's up! We're sorry but the link to view this content has expired." Can this be reposted or a more current solution provided?

    We have needed during this COVID-19 time to reconfigure our router about three different ways each week for different recording and broadcasting requirements. Because there are several changes to make, it is easy to overlook or make mistakes. Setting up Preset Scripts for these where the router and outputs are easily and accurately changed would be a huge time saver and stress reliever. Not wanting to re-invent the wheel any more than we have to, any samples, suggestions or direction would be most welcome.

    We are loving learning more and more every day about the power Dashboard brings to the entire system! Thanks!


    #DashBoard


  • 4.  RE: Controlling nk router with custom panel

    Posted 05-14-2020 19:22

    Hi <x-zendesk-user data-user-name="Marty Hill">372662323132</x-zendesk-user>

    I believe this is the panel originally mentioned in the link.

    <table contexttype="nk-router" style="">
    <tr>
    <meta>
    <color id="lev0">#FF8888</color>
    <color id="lev1">#FFFF88</color>
    <color id="lev2">#88FF88</color>
    <color id="lev3">#88FFFF</color>
    <color id="lev4">#8888FF</color>
    <color id="lev5">#FF88FF</color>
    <color id="lev6">#FFD075</color>
    <color id="lev7">#75EDFF</color>
    <ogscript attribute="ActiveConfig;ActiveDST;ActiveLevels;ActiveSRC" handles="attributechange;nkstatchange" scopename="nk-router"><![CDATA[
    var dst = nk.getActiveDst();
    var config = nk.getActiveSystem();
    if (dst >= 0 && config != null)
    {
    for (var i = 0; i < config.getSettings().getNumIns(); i++)
    {
    var colorSet = false;
    var src = config.getIn(i);
    for (var levIndex = 0; levIndex < config.getSettings().getNumLevels(); levIndex++)
    {
    var levelNum = config.getSettings().getLevels().getValueForIndex(levIndex);
    if (nk.getLevelMask() == 0 || nk.isLevelActive(levelNum))
    {
    var levelMask = 1 << levelNum;
    var srcActive = nk.isSrcActive(dst, src, levelMask);
    if (srcActive)
    {
    ogscript.setStyle('ActiveSRC' + src, 'bg#lev' + levelNum + ';fg#000000');
    colorSet = true;
    break;
    }
    }
    }

    if (!colorSet)
    {
    ogscript.setStyle('ActiveSRC' + src, 'bg#panelbg;fg#panelfg');
    }
    }
    }
    if (config != null)
    {
    for (var levIndex = 0; levIndex < config.getSettings().getNumLevels(); levIndex++)
    {
    var levelNum = config.getSettings().getLevels().getValueForIndex(levIndex);
    if (nk.isLevelActive(levelNum))
    {
    ogscript.setStyle('ActiveLevels' + levelNum, 'bg#lev' + levelNum + ';fg#000000');
    }
    else
    {
    ogscript.setStyle('ActiveLevels' + levelNum, 'bg#panelbg;fg#panelfg');
    }
    }
    }
    ]]></ogscript>
    </meta>
    <abs colspan="2" fill="both" height="100" style="bg-u:platform:/plugin/com.rossvideo.common.oglml/patterns/panel9.png;bg-insets:30,60,30,60;bg-fill:paint9;" weightx="1.0">
    <table bottom="20" left="60" right="60" top="20">
    <tr style="">
    <abs fill="both" style="bg-u:platform:/plugin/com.rossvideo.common.oglml/patterns/ross-150.png;bg-align:center;bg-fill:shrink;" width="150"/>
    <ipslist fill="both" style="f:fg#panelfg;f:bg#panelbg;t:fg#000000;t:bg#AAAAAA;size:small;" weightx="1.0" weighty="1.0" width="50"/>
    <blank width="20"/>
    <nkfunction fill="both" function="config" style="size:small;t:bg#AAAAAA;t:fg#000000;f:fg#panelfg;f:bg#panelbg" width="90"/>
    </tr>
    </table>
    </abs>
    </tr>
    <tr>
    <split fill="both" weightx="1.0" weighty="1.0">
    <table weight="0.5">
    <tr>
    <abs fill="both" style="bg-u:platform:/plugin/com.rossvideo.common.oglml/patterns/panel9.png;bg-insets:30,60,30,60;bg-fill:paint9;" weightx="1.0" weighty="1.0" width="300">
    <tab bottom="20" left="61" right="60" style="bg#panelbg;bdr:etched;" top="20">
    <table maxperrow="12" name="Monitor Wall" scroll="vertical">
    <tr>
    <label colspan="24" fill="both" name="Destinations"/>
    </tr>
    <tr>
    <dstlist anchor="top" element="0,1,2,3,4,5,6,7,8,9" fill="both" height="50" showlabel="true" style="size:small;t:fg#000000;t:bg#AAAAAA;f:fg#panelfg;f:bg#panelbg;" weightx="1.0" width="50"/>
    </tr>
    <tr>
    <blank weighty="1.0"/>
    </tr>
    </table>
    <table maxperrow="12" name="Audiobooth" scroll="vertical">
    <tr>
    <label colspan="24" fill="both" name="Destinations"/>
    </tr>
    <tr>
    <dstlist anchor="top" element="10,11,12,13,14,15,16,17,18,19" fill="both" height="50" showlabel="true" style="size:small;t:fg#000000;t:bg#AAAAAA;f:fg#panelfg;f:bg#panelbg;" weightx="1.0" width="50"/>
    </tr>
    <tr>
    <blank weighty="1.0"/>
    </tr>
    </table>
    <table maxperrow="12" name="Engineer" scroll="vertical">
    <tr>
    <label colspan="24" fill="both" name="Destinations"/>
    </tr>
    <tr>
    <dstlist anchor="top" element="20,21,22,23,24,25,26,27,28,29" fill="both" height="50" showlabel="true" style="size:small;t:fg#000000;t:bg#AAAAAA;f:fg#panelfg;f:bg#panelbg;" weightx="1.0" width="50"/>
    </tr>
    <tr>
    <blank weighty="1.0"/>
    </tr>
    </table>
    </tab>
    </abs>
    </tr>
    <tr>
    <abs fill="both" height="100" style="bg-u:platform:/plugin/com.rossvideo.common.oglml/patterns/panel9.png;bg-insets:30,60,30,60;bg-fill:paint9;" weightx="1.0" width="300">
    <table bottom="20" left="60" maxperrow="12" right="60" style="bg#panelbg;bdr:etched;" top="20">
    <tr>
    <lvllist fill="both" height="50" showlabel="true" style="size:small;fg#panelfg;bg#panelbg" weightx="1.0" width="50"/>
    <blank width="20"/>
    <nkfunction fill="both" function="mc" style="size:small;t:bg#AAAAAA;t:fg#000000;f:fg#panelfg;f:bg#panelbg" weightx="1.0" width="50"/>
    <nkfunction fill="both" function="virtual" style="size:small;t:bg#AAAAAA;t:fg#000000;f:fg#panelfg;f:bg#panelbg" weightx="1.0" width="50"/>
    <nkfunction fill="both" function="protect" style="size:small;t:bg#AAAAAA;t:fg#000000;f:fg#panelfg;f:bg#panelbg" weightx="1.0" width="50"/>
    </tr>
    </table>
    </abs>
    </tr>
    <tr>
    <abs fill="both" style="bg-u:platform:/plugin/com.rossvideo.common.oglml/patterns/panel9.png;bg-insets:30,60,30,60;bg-fill:paint9;" weightx="1.0" weighty="1.0" width="300">
    <tab bottom="20" left="60" right="60" style="bg#panelbg;bdr:etched;" top="20">
    <table maxperrow="12" name="Camera" scroll="vertical">
    <tr>
    <label colspan="24" fill="both" name="Sources"/>
    </tr>
    <tr>
    <srclist element="0,1,2,3,4,5,6,7,8,9" fill="both" height="50" showlabel="true" style="size:small;t:fg#000000;t:bg#AAAAAA;f:fg#panelfg;f:bg#panelbg;" weightx="1.0" width="50"/>
    </tr>
    <tr>
    <blank weighty="1.0"/>
    </tr>
    </table>
    <table maxperrow="12" name="Frame Sync" scroll="vertical">
    <tr>
    <label colspan="24" fill="both" name="Sources"/>
    </tr>
    <tr>
    <srclist element="10,11,12,13,14,15,16,17,18,19" fill="both" height="50" showlabel="true" style="size:small;t:fg#000000;t:bg#AAAAAA;f:fg#panelfg;f:bg#panelbg;" weightx="1.0" width="50"/>
    </tr>
    <tr>
    <blank weighty="1.0"/>
    </tr>
    </table>
    <table maxperrow="12" name="Etc." scroll="vertical">
    <tr>
    <label colspan="24" fill="both" name="Sources"/>
    </tr>
    <tr>
    <srclist element="20,21,22,23,24,25,26,27,28,29" fill="both" height="50" showlabel="true" style="size:small;t:fg#000000;t:bg#AAAAAA;f:fg#panelfg;f:bg#panelbg;" weightx="1.0" width="50"/>
    </tr>
    <tr>
    <blank weighty="1.0"/>
    </tr>
    </table>
    </tab>
    </abs>
    </tr>
    </table>
    <table bottom="4" left="4" right="4" style="bdr:etched;bg#efffbe;fg#000000;font:mono;size:small;" top="4">
    <tr>
    <lvlstatus fill="both" scroll="true" showlabel="true" style="font:mono;size:small;bg#efffbe;fg#000000;t:bg#c8d5a0;t:fg#000000;" weightx="1.0" weighty="1.0"/>
    </tr>
    </table>
    </split>
    </tr>
    </table>

    Cheers

    James


    #DashBoard