--- title: 'NextEngine UI documentation' disqus: hackmd --- :uk: NextEngine UI === [:fr: Version française](https://hackmd.io/@186_RLB_TJyxswhmNIsMVg/Sy4LP0GWd) [TOC] + [Assets](https://hackmd.io/@186_RLB_TJyxswhmNIsMVg/Byt906c8u) + [Editor](https://hackmd.io/@186_RLB_TJyxswhmNIsMVg/B18h3Tq8u) ## UI Presentation ![](https://i.imgur.com/TPZhzbv.jpg) 1. Current version number 2. Toggle button to switch between full log and last line only 3. Toggle button to switch on/off log write to disk 4. Button to open the Template Editor 5. Real-time application monitoring 6. Preview channels 7. Channels settings 8. Log view 9. Command line input ## Preview settings ![](https://i.imgur.com/GBgJIhl.jpg) 1. Preview name (visible into NDI output) 2. Select video mode 3. Enable/disable Newtek NDI output 4. Enable/disable Decklink SDI output 5. Click on preview zoom in/out fullscreen Video settings: ```csvpreview {header="true"} Number,Format,Description 1,720p5000, 1280x720 Progressive 50fps 2,1080p2500, 1920x1080 Progressive 25fps 3,1080p2997, 1920x1080 Progressive 29.97fps 4,1080p3000, 1920x1080 Progressive 30fps 5,1080i5000, 1920x1080 interlaced 50fps 6,1080p5000, 1920x1080 Progressive 50fps 7,1080i5994, 1920x1080 interlaced 59.94fps 8,1080p5994, 1920x1080 Progressive 59.94fps 9,1080i6000, 1920x1080 interlaced 60fps 10,1080p6000, 1920x1080 Progressive 60fps 11,2160p2500, 3840x2160 Progressive 25fps 12,2160p2997, 3840x2160 Progressive 29.97fps 13,2160p3000, 3840x2160 Progressive 30fps 14,2160p5000, 3840x2160 Progressive 50fps 15,2160p5994, 3840x2160 Progressive 59.94fps 16,2160p6000, 3840x2160 Progressive 60fps ``` ```! NDI video output is always Progressive ``` ## Monitoring ![](https://i.imgur.com/oohpZEK.jpg) 1. Complete Graphic Card name (Nvidia only) 2. GPU memory a. Inboard memory ==GPU== b. Free memory ==FREE== c. Used memory ==USED== 3. Loading to GPU memory progress bar for graphics ==MIX CACHE== a. Yellow: Loading graphic is in progress b. Green: Graphic is loaded 4. Preload button ==PR== (Default ON) a. ON: Graphics are preloaded before played b. OFF: Graphics are loaded while played 5. Garbage Collector ==GR== a. ==GR== Garbage Collector is enable if there is no more animation > clear graphics from GPU memory b. ==--== Garbage Collecor is disable to keep best performance when NextEngine play an animation 6. Time elapsed since the end of the last animation 7. Current Tweens count (object animations) max: 8000 8. Dropped frames during the last graphic using image sequence 9. Last JAMCP batch count request and execution time 10. Number of JAMCP request waiting and total number since server start 11. Internal framerate of NextEngine 12. Output framerate of NextEngine 13. NextEngine Server IP Adress 14. Guest IP Adress connected to NextEngine a. 0.0.0.0 > Not connected b. 127.0.0.1 > Connected to locahost (NextEngine and NextServer on the same computer) c. Other IP Adress if connected to distant computer 15. WebSocket Port used by NextEngine Service 16. Indicator ==WEB== enable if connected to the Internet 17. CPU usage 18. Memory Used by NextEngine process (without templates) ## Configuration files **unitycg.config** At startup NextEngine load XML file unitycg.config to find applications paths and channels configuration. :::warning NextServer will overide this configuration file on startup ::: Main parameters: ```csvpreview {header="true"} Tag,Default,Description <media-path>,Medias\,Medias directory used with Play command line <log-path>,Log\,Logs directory <template-path>,Templates\,Templates directory <batch-path>,Batch\,Batchs JAMCP command line directory <channel>,-,Add output channel <video-mode>,1080p5000,Video mode <ndi>,-,Enable Newtek NDI output <decklink>,-,Enable Decklink SDI card <name>,Channel 1,Output name (visible into NDI output) <device>,0,Decklink device number <web-sockets><port>,5250,NextEngine Server WebSockets Port ``` ```xml <?xml version="1.0" encoding="utf-8"?> <configuration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <paths> <media-path>Medias\</media-path> <log-path>Log\</log-path> <template-path>Templates\</template-path> <batch-path>Batch\</batch-path> </paths> <channels> <channel> <video-mode>1080p5000</video-mode> <consumers> <decklink> <name>Channel 1</name> <device>0</device> <label /> </decklink> </consumers> </channel> <channel> <video-mode>1080p5000</video-mode> <consumers> <ndi> <name>Channel 2</name> <device>0</device> </ndi> </consumers> </channel> </channels> <controllers> <web-sockets> <port>5250</port> <protocol>JAMCP</protocol> </web-sockets> </controllers> <format>8-bit 4:2:2 YUV</format> <!--8-bit 4:2:2 YUV--> <!--8-bit 4:4:4:4 ARGB--> <!--8-bit 4:4:4:4 BGRA--> <!--10-bit 4:2:2 YUV--> <!--10-bit 4:4:4 RGB--> <!--10-bit 4:4:4 RGBX LE--> <!--10-bit 4:4:4 RGBX--> </configuration> ``` **unitycg.setings** At startup NextEngine load XML file unitycg.settings to fine tune advanced settings :::warning NextServer will not overide this configuration file on startup. Extreme caution is required :fire: ::: Main parameters: ```csvpreview {header="true"} Tag,Default,Possible values,Description <log><screen>,false,[true|false],Show/Hide logs on screen <log><disk>,false,[true|false],Enable/Disable log to disk <clock><layer>,110,[1..],Layer used for Clock Graphic <preview><channel>,2,[1..],Preview Channel (animation disable) <boost>,true,[true|false],Allow the Engine to work internally at a higher framerate than the outputs <fps>,100,[0|50..],Define the maximum internal framerate of the Engine (0 no limit) ``` ```xml <?xml version="1.0" encoding="utf-8"?> <settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <log> <screen>false</screen> <level>all</level> <disk>false</disk> <size>512</size> </log> <buffer> <size>50</size> <delay>0.5</delay> <thread>4</thread> <preload>true</preload> <memory>mix</memory> </buffer> <clock> <layer>110</layer> </clock> <preview> <channel>2</channel> </preview> <gc> <timer>1</timer> <video>5</video> </gc> <boost>true</boost> <fps>50</fps> <bullet>0</bullet> </settings> ``` ## Console NextEngine accepts commands derived from JAMCP in its console to quickly test content :::info Each of the channels (outputs) can contain up to 1000 layers ::: Main commands: ```csvpreview {header="true"} Command,Description HELP, Display the list of commands PLAY channel:int-layer:int --clip:str --loop?:bool, Play media on a channel-layer CLEAR channel:int-layer:int, Delete the content of a channel-layer CGLOAD channel:int-layer:int --template:str, Load a template on a channel-layer CGINVOKE channel:int-layer:int --method=PLAY --clip=str --key=str, Start animation of a scene RUN --filename:string, Run a JAMCP command line bacth file EXIT, Exit NextEngine ``` Some examples of commands: ```javascript play 1-1 picture.png clear 1-1 play 2-1 video.webm ... cgload 1-100 --template=field-hockey cginvoke 1-100 --method=PLAY --clip=teamlist --key=in ... cginvoke 1-100 --method=PLAY --clip=teamlist --key=out ... run test_batch ... exit ``` :::info Batch files are text files with the extension .jamcp containing exclusively JAMCP commands like those used in the console. These files should be placed in the NextEngine Batch directory. ::: Example Batch file: ```javascript cgload 1-100 --template=field-hockey cgload 2-100 --template=field-hockey cgload 3-100 --template=field-hockey cginvoke 1-100 --method=PLAY --clip=teamlist --key=in cginvoke 2-100 --method=PLAY --clip=teamlist --key=in cginvoke 3-100 --method=PLAY --clip=teamlist --key=in ```