# Player changes

#### Player application renaming

The former CourierPlayer has been renamed to Player. Class names and code are adapted accordingly. The former CGIPlayer ([Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") only) has been renamed to LightPlayer. The LightPlayer is a light weight player application which uses candera only. It is recommended to use CGIStudio with [Courier](http://dev.doc.cgistudio.at/APILINK/namespace_courier.html) support. In some cases this is not possible or has restricitons e.g. small devices. For this, the LightPlayer still exists. The LightPlayer has been moved from cgi\_studio\_dev to cgi\_studio\_player/LightPlayer.

<div class="contents" id="bkmrk-"><div class="contents"><div class="textblock">---

</div></div></div>#### Network connection replacing DLL approach

<div class="contents" id="bkmrk--0"><div class="contents"><div class="textblock"><dl class="note"></dl>  
</div></div></div><p class="callout info">This has been changed for Player. LightPlayer is still using the DLL approach.</p>

The panel has loaded the player application as DLL. This has changed, so executable builds (Player.exe) are required on host.

<div class="contents" id="bkmrk--1"><div class="contents"><div class="textblock"><dl class="note"></dl>  
</div></div></div><p class="callout info">NativeDLL is only buildable for specific target builds which require a dll/shared object approach.</p>

The connection has to be established by "Start application..." or "Attach" if the application is already running. Debugging under host starts the application - therefore an "attach" is required. The Panel connects over TCP/IP. Target application is server, therefore the panel has to know the IP of the target. New CMake flags have been added to:

<div class="contents" id="bkmrk-enable-and-disable-t"><div class="contents"><div class="textblock">- enable and disable the Network control feature (CGIAPP\_NETWORK\_CONTROL\_ENABLED)
- set a port for the application (CGIAPP\_NETWORK\_CONTROL\_PORT) The application can now be blocked right before the asset loading begins. The application has to be unblocked in this case. The application has command line parameters to change e.g. listener port in case of port is blocked or already in use.

---

</div></div></div>#### Player render order configuration change

The camera sequence number is now global for 2D and 3D by default. If the previous behavior that 2D gets rendered before 3D shall be preserved, then either change the camera sequence number accordingly or change myRenderConfiguration.Use2DBefore3D(false); to true.

<div class="contents" id="bkmrk--2"><div class="contents"><div class="textblock">---

</div></div></div>#### Player action recording and replay

A recording feature has been added as first version to the panel. With this, requests from panel to application can be recorded and replayed again.

<div class="contents" id="bkmrk--3"><div class="contents"><div class="textblock">---

</div></div></div>#### Player target support

The CourierPlatformDefs have been adapted. With this we officially support the Player on all targets but NoOS and targets without multi-threading. This includes the connection of Panel over TCP/IP if TCP/IP is available.

---