PLAYER ONE - Music receiver Ecler - Free user manual and instructions
Find the device manual for free PLAYER ONE Ecler in PDF.
| Product type | Music receiver / compact stereo audio player |
| Brand | Ecler |
| Model | PLAYER ONE |
| Dimensions (W x D x H) | Approximately 215 x 150 x 44 mm (half 19" rack) |
| Weight | Approximately 1 kg |
| Power supply | External AC adapter 100-240 V, 50/60 Hz |
| Audio outputs | 1 unbalanced stereo output on RCA and mini-jack (stereo/mono selection) |
| Supported audio formats | MP3, OGG, WAV, AIFF, FLAC |
| Local sources | USB 2.0 port (up to 2 TB, FAT16/32, NTFS) and MicroSD/SDHC card reader (up to 2 TB) |
| Network connectivity | Ethernet RJ-45 (10/100 Mbps), built-in Wi-Fi (client or master mode) |
| Audio streaming | AirPlay, DLNA (via Wi-Fi), Internet radio (over 120,000 stations), http stream playback |
| Display | Backlit LCD screen |
| Front panel controls | 6 backlit keys (ENTER, ESC, STOP, PLAY/PAUSE, NEXT, PREVIOUS) + rotary encoder CONTROL/SELECT |
| Control inputs | 2 GPI ports (generic inputs) on Euroblock terminal block |
| Internal clock | Autonomy up to 240 h without power, NTP synchronization |
| Configuration | Built-in web interface (browser access, mDNS playerone.local) |
| Advanced functions | Up to 20 presets, GPI events and silence detection, calendar (24 events), Lua scripts, Cloud synchronization (Store & Forward rsync), local file encryption |
| Rack mounting | Possible with optional 1UHRMKIT rack kit (occupies 1/2 unit) |
| Operating temperature | Approximately 0°C to 40°C |
| Maintenance | Clean with a soft, dry cloth or slightly dampened with water and mild detergent. Do not use alcohol, benzene or abrasives. |
| Safety | Do not expose to rain or moisture. Disconnect before cleaning. Repair by qualified personnel only. Use a grounded outlet. |
| General information | Modular firmware, update via USB key or Internet (by holding PLAY at startup) |
Frequently Asked Questions - PLAYER ONE Ecler
User questions about PLAYER ONE Ecler
0 question about this device. Answer the ones you know or ask your own.
Ask a new question about this device
Download the instructions for your Music receiver in PDF format for free! Find your manual PLAYER ONE - Ecler and take your electronic device back in hand. On this page are published all the documents necessary for the use of your device. PLAYER ONE by Ecler.
USER MANUAL PLAYER ONE Ecler
4.4 Reproduction de streaming audio....16
7.2.6 Store and Forward (rsync) 57
7.2.7 Scripts/LUA....61
7.4.3 Backup, Restore and Firmware (Sauvegarde, Restauration et Firmware)......81
7.4.4 USB/MMC Parameters (paramètres USB/MMC) 83
7.4.5 Register (registre) 86
- JSON Commands PRODUCT OVERVIEW....97
8.1 Player Commands....97
8.2 Configurations Commands....100
8.3 Preset Commands 101
8.4 Event Commands....101
8.5 Calendar Commands....101
8.6 Store and Forward Commands....101
8.7 Script Commands....102
8.8 Register Commands....102
8.9 Device Commands....102
8.10 Panel Commands....103
9. PLAYER LUA SDK Introduction....104
9.1 PLAYER LUA SDK V1.02....105
9.1.1 Changelist....105
9.2 How to use PLAYER module....105
9.2.1 Conventions....106
9.2.2 Player Functions....106
9.2.3 Config. (CFG) Functions 109
9.2.4 Preset Functions....110
9.2.5 Event Functions....112
9.2.6 Event Variables....112
9.2.7 Calendar (CAL) Functions....113
9.2.8 Store and Forward (SAF) Functions....114
9.2.9 Register (LOG) Functions....114
9.2.10 Device (DEV) Functions....115
9.2.11 Panel Functions....117
9.2.12 Finder Functions....117
9.2.13 LCD Functions....118
1. PRÉCAUTIONS
1.1 REMARQUE IMPORTANTE



WARNING: SHOCK HAZARD - DO NOT OPEN
AVIS: RISQUE DE CHOC ÉLECTRIQUE - NE PAS OUVRIR

| I | N | D | E | X | 1 | T | O | T | A | L | |||||
| 0 | 0 | 1 | 7 | 1 | 0 | 0 | 6 | 4 |
4.4.1 REPRODUCTION DE STREAMING PAR AIRPLAY
| DIGITAL ENGINE | |
| Processor | MIPS Single Core 64bits 580MHz |
| AUDIO CONVERTERS | |
| Sampling rate | 48kHz |
| Resolution | 16bit |
| Bit rate | 32~320kbps |
| Frequency response | 5Hz - 24kHz (-3dB) |
| MEDIA PLAYER | |
| Audio sources | Local storage (USB & microSD), Internet radio, AirPlay, DLNA |
| Dynamic range | From -80 dB to 0 dB |
| THD + Noise | < 0.008% (1kHz, 1Vrms) |
| ANALOGUE AUDIO OUTPUTS | |
| Number of outputs | 2 x Stereo output (unbalanced) |
| Connection type | RCA estéreo, minijack 3,5mm |
| Max output level | 6dBV / 5k ohm |
| Output impedance | 460 ohm |
| Dynamic range | TBC |
| Crosstalk | TBC |
| CONNECTIVITY | |
| Ethernet | RJ-45 10/100Mbps |
| Wi-Fi | 2.4GHz Wi-Fi, 802.11 b/g/n |
| Wi-Fi antenna | Front panel |
| Programming and control | Web Application, RePLAYER & Gallery.Third party integration: JSON |
| REMOTE CONTROL CONNECTIONS | |
| GPIs | 2 ports, Dry contact to ground, 3 pin Terminal block |
REAL-TIME CLOCK
| Retention time | 240 hours aprox. |
| Accuracy | ±1 minute / month |
| MONITORING AND CONTROL | |
| Display | LCD Alphanumeric 2x16 cells |
| LED indicators | Front panel: NET, SP, SD, PowerRear panel: Wifi |
| Buttons | Front panel: Encoder, Enter, Esc, Play/pause, Next, Prev, StopRear panel: Factoty Defaults / Fail Safe (pin-hole) |
| LOCAL STORAGE | |
| Micro SD | Front panel micro SD slotSupports micro SD SDXC |
| USB | Front panel USB female connectorSupport USB 2.0 High Speed (480 Mbps) |
| Capacity | Up to 2TB |
| File system | Supports FAT16, FAT 32, VFAT and NTFS (read-only)Multi-partition up to 1 |
| Playable audio files | mp3, ogg, WAV, FLAC, AIFF, m3u, pls |
| Files analysis | 65354 playable folders65354 playable folders within each folder65354 playable files within each folder |
| Folder hierarchy | Up to 8 containing the root directory |
| Sorting | UNICODEUp to 100 folders, 100 files by folder(Folders/files over 100 sorted in the FAT order) |
| ELECTRICAL | |
| Power supply | External, universal, 5VDC (included) |
| AC mains requirement | 90-264VCA 50-60Hz |
| AC mains connector | International AC plugs set |
| Power consumption | 6 VA / 3 W |
| Ventilation | Passive |
PHYSICAL
| Operating temperature | Min 0°C, +32°FMax +35°C, +95°F |
| Operating humidity | < 85% HR |
| Storage temperature | Min -10°C, +14°FMax +50°C, +122°F |
| Storage humidity | < 90% HR |
| Installation options | Desktop, rack (1/2 of 1UR) |
| Included accessories | AD/DC Power Supply, WiFi antenna, adhesive rubber feet, rack tray screws, GPI connector, warranty card and standard user guide |
| Optional accessories | 1UHRMKIT |
| Dimensions (W x H x D) | 198.5 x 44 x 132 mm / 7.81" x 1.73" x 5.19" |
| Weight | 0.8 Kg / 1.76 lb |
| Shipping dimensions (W x H x D) | 220 x 60 x 450 mm / 8.66" x 2.36" x 17.71" |
| Shipping weight | 1 Kg / 2.20 lb |
6.2 SCHEMA MECANIQUE


PLAYER ONE et PLAYER ZERO – Interface graphique Web (v1.00r0)
LECTEURS AUDIO
- Username:root
- Password : ecler

natural_image
Simple geometric lines forming a V-shape (no text or symbols)FADE

OFF
Figure 19 : configuration de GPI, Source
1. Source : source
Figure 20 : configuration de GPI, Target (cible)
7.2.4.4 TARGET (CIBLE)
Figure 31
Figure 32
Figure 37
Figure 44 : module Store & Forward
Figure 45: Store and Forward, onglet General
7.2.6.2 REMOTE SOURCE (SOURCE DISTANTE)
![ecler PLAYERONE Google Drive Store and Forward (rsync) Store and Forward (rsync) Several reward module into DEVIOL, downloaded remote media content to local storage drivers (MSR/MNC), study, and recall PRESET. In automatically play it General Remote Source Local Target Log Host 10.0.2.15 Host or IP Address Host: 22 Folder: home hotels hotels Host Folder where contents are stored Username: hotels Private Key ----BIDEN RSK PRIVATE KEY P318024 BIDENBQDQFQRTT16 Tendel716983971a-07YW0CTT831a#v-11 Fortcucaf7880C20qGpFyJwul/8811La2sLsUqgdpM2DNLSdglg17b gaklcbplr77Wwod12H4c#nab212E8K31NCRTE6B SRH Tisu1209b/12270 fsnfapmck4kyl, yty-407W067favx, Saadnbdt CuunfurnBCSFaeC3EP5egltkVv11sgnptk Vdr-folkyhpNedel4d3fPIRIO DK2KNKNPLKYL75C3EP4ALWv/RSI-yp8049d81 EFDTC00d0000, 75M SGLubb MRIP113BAqquDrAvrAvrAml, 12Jvmbat DKPCNCKR, Rsk PHOPOPY VONETb-58F3d92wV0085152EP6Bru25FurRIF4DcOnly SPW25APITb3dagTcEraA0B4T1T3K3aacscabcc+5rCikg VTRdctfncfctz3Pihak, duv-32 dvdfsF2Dn2eRF SwvH1L2P6dcebejVD Gdfgfl1L5AF98e TCF2rgnPrgc33fdr, dseledlRKL5KQKc26754a10 (Far##elCgfdc2L200WngPouE11C0FpF1s Q4d4suhPfeDebLysy5o/ DFTRDFFD/LLBTYDPF040Kp SybTBEaL, NerechDh(Re)RusSrlRsh vlsszRikwayeBXPAYD98eGluAlaAraXhNirr23F Rsk 5thwCgE42RDE J3J663272444444444444444444444444444444444444444444444444444444444444444444444 GfugfPeRuaFokFawe778DmVYR6AVSLaqAAswDSLOOkoDe3TTR+2m UTtr+cyVYDFAEWg/tygdygD#R0065esglcNRRB, L+PKCD JnmBRL5EP gK HainuZSNPPGpheBsiCilkg palADHSCmCfoDpoayu MTT1039Nv fuTKIHAdmdndy(Wnti3bn26131caA8C0comal1127bav kssycfaa KLNkopDHT 66pRpKNGG-3H2STY10GPWauCnH7602avcJvCpJLP ATBDsAgqKESRTI P19wDnDnSduSHPDCSTTTDMARHEWJwVlyTa kLNGPprCpDFBSSKdoCingufQgaE0, ZrwnDhWuGPGYNDYeeSsa5572 ukBtSGB08SAk1307PgngDPOOMPrprYdLsOJyEjcnvmCSPWBL3d8dPc qTNAFdT3 THT2byYEDREDCSDyqapyPsyyNaSytPTPEFPKLSI62/TW WATFCpQgde(AnlsvnagtpbMGRpF8c)NklnBefizs15Wd ----END RSA PRIVATE KEY---- Put (logeditags) here the Private RSX/CPRDSSH Key Timeout 10 Timeout in seconds [%, 30] Save RESET Ecler 2021 / PLAYERONE 1.056 / Gallery Registration Key KOSNH IETFSDC687](/content/2026/04/705015/images/8e6845ce64e0baae1df7e14a59b8e5b409615a75b6b53fc03ba7191d571c0d80.jpg)
Figure 46 : Store and Forward, onglet Remote source
Figure 47: Store and Forward, onglet Local target
7.2.6.4 LOG (JOURNAL)

Figure 48: Store and Forward, onglet Log
Clicking the 'Start' button executes the script once (to test it).
Script Output Returned value: 0
Figure 53
- require "PLAYER"
- ep = PLAYER.new()
- ep.LCD_print2({line1="Hello",line2="Ecler",center="true",timeout=10})
7.2.7.2 EXAMPLE DE SCRIPT 2
Figure 54
- require "PLAYER"
- ep = PLAYER.new()
• ep.PLAYER_open{url="mmc://"}
7.2.7.3 EXAMPLE DE SCRIPT 3
Figure 55
- require "PLAYER"
- ep = PLAYER.new()
• function blink(text1, text2, nTimes)
• for blink=1,nTimes,1 do
■ sleep(0.5) - sleep(0.5)
ep.LCD_print2({line1=text1, line2=text2, center="true"})
ep.LCD_print2({line1=" ", line2=" ", center="true"})
• end
• end
- blink("NO", "Internet", 5)
- ep.PLAYER_open({preset=1})
7.2.7.4 EXAMPLE DE SCRIPT 4
Figure 44
- require "PLAYER"
- ep = PLAYER.new()
• ep.PLAYER_open({preset=2})
7.3 NETWORK (RÉSEAU)
Figure 58
Figure 62
Figure 63 : configuration de l'interface Wi-Fi
Figure 69
Figure 70
Figure 72: Name and Time, onglet General settings
7.4.1.1 GENERAL SETTINGS (RÉGLAGES GÉNÉRAUX)
Figure 75
Figure 76
7.4.3 BACKUP, RESTORE AND FIRMWARE (SAUVEGARDE, RESTAURATION ET FIRMWARE)
Figure 77 : System, page Backup, Restore and Firmware (Sauvegarde, restauration et firmware)
7.4.3.1 FAIRE DES SAUVEGARDES
Backup

Figure 81: Firmware
Figure 83 : USB/MMC parameters (paramètres USB/MMC)
Figure 85: Reboot
7.5 CONFIGURATION DU SERVEUR SSH POUR STORE AND FORWARD (RSYNC)
flowchart
graph TD
A["User: User\nKey: key"] --> B["User: User\nKey: key"]
C["User: User\nKey: key"] --> D["User: User\nKey: key"]
E["User: User\nKey: key"] --> F["User: User\nKey: key"]
G["User: User\nKey: key"] --> H["User: User\nKey: key"]
I["User: User\nKey: key"] --> J["User: User\nKey: key"]
K["User: User\nKey: key"] --> L["User: User\nKey: key"]
M["User: User\nKey: key"] --> N["User: User\nKey: key"]
O["User: User\nKey: key"] --> P["User: User\nKey: key"]
Q["User: User\nKey: key"] --> R["User: User\nKey: key"]
S["User: User\nKey: key"] --> T["User: User\nKey: key"]
U["User: User\nKey: key"] --> V["User: User\nKey: key"]
W["User: User\nKey: key"] --> X["User: User\nKey: key"]
Y["User: User\nKey: key"] --> Z["User: User\nKey: key"]
AA["User: User\nKey: key"] --> AB["User: User\nKey: key"]
AC["User: User\nKey: key"] --> AD["User: User\nKey: key"]
AE["User: User\nKey: key"] --> AF["User: User\nKey: key"]
AG["User: User\nKey: key"] --> AH["User: User\nKey: key"]
AI["User: User\nKey: key"] --> AJ["User: User\nKey: key"]
AK["User: User\nKey: key"] --> AL["User: User\nKey: key"]
AM["User: User\nKey: key"] --> AN["User: User\nKey: key"]
AO["User: User\nKey: key"] --> AP["User: User\nKey: key"]
AQ["User: User\nKey: key"] --> AR["User: User\nKey: key"]
AS["User: User\nKey: key"] --> AT["User: User\nKey: key"]
AU["User: User\nKey: key"] --> AV["User: User\nKey: key"]
AW["User: User\nKey: key"] --> AX["User: User\nKey: key"]
AY["User: User\nKey: key"] --> AZ["User: User\nKey: key"]
BA["User: User\nKey: key"] --> BB["User: User\nKey: key"]
BC["GROUPE DE CONTENU 1"] --> BD["/user/adds/campaign1"]
BE["GROUPE DE CONTENU 2"] --> BF["/user/music/Pop"]
BG["GROUPE DE CONTENU 3"] --> BH["/user/backgnd/folder1"]
BI["Serveur SSH"] --> BJ["Server"]
Figure 90
7.5.4 GÉNÉRATION DE CLÉS SSH
Figure 91
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
Figure 93
8. JSON Commands PRODUCT OVERVIEW
JSON (JavaScript Object Notation) is a lightweight data-interchange format that allows PLAYER ONE to communicate with third-party devices and platforms, such as EclerNet Manager. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages. Visit the official website for more information: https://www.json.org.
- The communication with can be established using Ethernet or WiFi and the TCP/IP transport protocol, always by means of the 2003 TCP port.
- To check IP address, hold ENTER button for 2-3 seconds to enter admin menu.
- To let some control systems (like CRESTRON®, EXTRON®, AMX®, RTI®, VITY®, MEDIALON®, etc.) process the messages more easily, PLAYER ONE allows to the end of each message with a CR (\n) -line feed, character 10-.
- All commands answer {"result":true} (success) or {"result":false} (something failed)
8.1 PLAYER COMMANDS
SET PLAYER STEREO/MONO
Mono mode
{"jsonrpc":"2.0","method":"Player.Stereo","Stereo":false}
Stereo mode
{"jsonrpc":"2.0","method":"Player.Stereo","Stereo":true}
SET PLAYER FADE
No fade
{"jsonrpc":"2.0","method":"Player.Fade","Fade":0}
Cross Fade
{"jsonrpc":"2.0","method":"Player.Fade","Fade":1}
Fade
{"jsonrpc":"2.0","method":"Player.Fade","Fade":2}
SET PLAYER MODE
Player mode Sequential
{"jsonrpc":"2.0","method":"Player.Mode","PlayMode":0}
Player mode Random
{"jsonrpc":"2.0","method":"Player.Mode","PlayMode":1}
SET PLAYER REPEAT
Play all
{"jsonrpc":"2.0","method":"Player.Repeat","Repeat":0}
Play one
{"jsonrpc":"2.0","method":"Player.Repeat","Repeat":1}
Repeat all
{"jsonrpc":"2.0","method":"Player.Repeat","Repeat":2}
Repeat one
{"jsonrpc":"2.0","method":"Player.Repeat","Repeat":3}
GET SHORT PLAYER INFORMATION
{"jsonrpc":"2.0","method":"Player.GetStats"}
{"title":"Brian Hyland - Sealed With a Kiss","counter":"19:30","txtSource":"NET","status":1}
GET FULL PLAYER INFORMATION
{"jsonrpc":"2.0","method":"Player.GetStatsEx"}
{"title":"Elvis Presley -
Judy","counter":"07:02","txtSource":"NET","status":1,"SourceList":
[ "", "MMC", "USB UNAVAILABLE", "DLNA", "AIRPLAY", "JVL
PLAYLIST", "MUSICUP"], "source":6,"preset":1,"volume":100,"txtVolume":"0dB",
"stereo":1,"repeat":
2,"playmode":0,"fade":1,"bootpreset1":0,"sp":1,"bitrate":"128","duration":
"--:--","freq":"44.1","playlist_index":" 0006 / 0056"}
PLAYER ADD NEXT PLAYLIST ITEM
With this function user can manage device playlist simply inserting next item before the end of current item.
set next item to "next_item.mp3"
{"jsonrpc":"2.0","method":"Player.QueueNextElem","url":"mmc://next_item.mp3"}
PLAYER INSERT PRIORITY ITEM
With this function user can insert a priority item that will be played "over" the actual playing item. Current playing item will be fade.
set next item to "priority_item.mp3"
{"jsonrpc":"2.0","method":"Player.PrioritySetElem","url":"usb://priority_item.mp3"}
PLAYER PLAY
If the player is paused or stopped use this function to start current loaded item reproduction, otherwise the player is paused.
{"jsonrpc":"2.0","method":"Player.Play"}
PLAYER STOP
{"jsonrpc":"2.0","method":"Player.Stop"}
PLAYER NEXT
{"jsonrpc":"2.0","method":"Player.Next"}
PLAYER PREVIOUS
{"jsonrpc":"2.0","method":"Player.Prev"}
INCREMENT VOLUME
Increment volume just one dB
{"jsonrpc":"2.0","method":"Player.Volume","Action":"inc"}
DECREMENT VOLUME
Decrement volume just one dB
{"jsonrpc":"2.0","method":"Player.Volume","Action":"dec"}
SET VOLUME
Param volume is expressed in %. To set volume to 50% use next command.
{"jsonrpc":"2.0","method":"Player.Volume","Volume":50}
OPEN PLAYLIST URL
Url param must be any valid device url.
{"jsonrpc":"2.0","method":"Player.Open","Url":"http://50.7.181.186:8060"}
OPEN PRESET INDEX 10
Preset param must be a valid preset index 1 to 20
{"jsonrpc":"2.0","method":"Player.Open","Preset":10}
OPEN SOURCE INDEX 4 AIRPLAY (FROM AVAILABLE SOURCES LIST)
Source must be a valid player source index. Please check "Get of list available sources" to know all valid sources.
{"jsonrpc":"2.0","method":"Player.Open","Source":4}
GET LIST OF AVAILABLE SOURCES
This command returns the list of available sources.
{"jsonrpc":"2.0","method":"Source.GetList"}
{"SourceList": ["", "MMC", "USB UNAVAILABLE", "DLNA", "AIRPLAY", "ROCK
80s", "DISCO
80s"]}
8.2 CONFIGURATIONS COMMANDS
RESET DEVICE SETTINGS
Restore device factory default settings. All your settings will be lost. {"jsonrpc":"2.0","method":"Settings.Reset"}
RESTORE DEVICE SETTINGS FROM URL
Restore device settings to values in url file. {"jsonrpc":"2.0","method":"Settings.Restore","url":"http://ecler.com/my_player_config.config"}
BACKUP CURRENT DEVICE CONFIGURATION
Backup device settings to url. Available configurations: user, admin or gallery. {"jsonrpc":"2.0","method":"Settings.Backup","url":"mmc://backups/gim.config","user":"admin"}
GETTING DEVICE VARIABLE VALUE
This function returns a device variable value. Please check the Player LUA manual in order to check all the interface.settings.variable values.
In order to retrieve preset01.settings.bname (preset name) user should send next command to the PLAYER ONE:
{"jsonrpc":"2.0","method":"CFG.get","interface":"preset01","section":"settings","variable":"bname"} {"value":"AFTERNOON PRESET"}
SETTING DEVICE VARIABLE VALUE
This function set a device variable value. Please check the Player LUA manual in order to check all the interface.settings.variable values.
In order to set preset01.settings.bname (preset name) user should send next command to the PLAYER ONE:
{"jsonrpc":"2.0","method":"CFG.set","interface":"preset01","section":"settings","variable":"bname","value":"MIDNIGHT PRESET"}
STORE CHANGES IN DEVICE INTERNAL MEMORY
This function stores all interface variables to the internal device memory. Should be called after set all the changes. PLAYER ONE must reload the data using reload functions. {"jsonrpc":"2.0","method":"CFG.commit","interface":"preset01"}
8.3 PRESET COMMANDS
Preset variables for GFG.get and CFG.set. Please check Player LUA manual._Preset variables.
RELOAD PRESET
Reload indicated preset index. Index should be a valid preset index 1..20. Must be called after modifying preset variables and call commit command
{"jsonrpc":"2.0","method":"Preset.Reload","Index":1}
8.4 EVENT COMMANDS
Event variables for GFG.get and CFG.set. Please check Player LUA manual. Event variables.
RELOAD EVENT
Reload indicated event. Name should be: GPI1, GPI2 or SILENCE. Must be called after modifying event variables and call commit command.
{"jsonrpc":"2.0","method":"Event Reload","Name":"GPI1"}
8.5 CALENDAR COMMANDS
Calendar variables for GFG.get and CFG.set. Please check Player LUA manual. Preset variables
RELOAD CALENDAR
Reload indicated calendar. Calendar index should be a number 1..24. Must be called after modifying calendar variables and call commit command. Reload calendar 24 example:
{"jsonrpc":"2.0","method":"Calendar Reload","Index":24}
8.6 STORE AND FORWARD COMMANDS
SAF variables for GFG.get and CFG.set. Please check Player LUA manual. SAF variables
RELOAD SAF
Reload SAF configuration. Must be called after modifying SAF variables and call commit command.
{"jsonrpc":"2.0","method":"SAF Reload"}
8.7 SCRIPT COMMANDS
Script variables for GFG.get and CFG.set. Please check Player LUA manual. Script variables.
RELOAD SCRIPT
Reload script configuration. Index should be script index 1 to 20. Must be called after modifying Script variables and call commit command. Reload script 7 example: {"jsonrpc":"2.0","method":"Script Reload","Index":7}
EXECUTE SCRIPT 6
{"jsonrpc":"2.0","method":"Script.Command","Index":6,"Command":"Start"}
KILL SCRIPT 3
{"jsonrpc":"2.0","method":"Script.Command","Index":3,"Command":"Stop"}
QUERY SCRIPT 11 STATUS
{"jsonrpc":"2.0","method":"Script.Status","Index":11}
{"status":"Idle"}
8.8 REGISTER COMMANDS
ADD REGISTER LINE
Add line to device LOG. Possible line values are: Trace, Warning, Error.
Add a warning line example:
{"jsonrpc":"2.0","method":"Device.Log","Severity":"Trace","Message":"This is a warning message"}
8.9 DEVICE COMMANDS
DEVICE REBOOT
{"jsonrpc":"2.0","method":"Device.Reboot"}
GET DEVICE VERSION
{"jsonrpc":"2.0","method":"Device.GetVersion"}
{"version":"3.04r0"}
DEVICE UPDATE FIRMWARE
With this function user could update device firmware to an specific version. User must provide firmware url. Device setting will be saved.
{"jsonrpc":"2.0","method":"Device.Update","url":"https://www.ecler.com/new_firmware.bin"}
DEVICE BOOT CONFIG COMMAND
Available BootPreset1 options are: 1 - PRESET1, 2 - keep status {"jsonrpc":"2.0","method":"Device.BootPreset1","BootPreset1":2}
DEVICE GET MAC
{"jsonrpc":"2.0","method":"Device.GetMac"}
{"mac":"32 41 41 20 40 42"}
DEVICE GET GALLERY REGISTRATION KEY
{"jsonrpc":"2.0","method":"Device.GetRegkey"}
{"regkey":"2E1BB146B2DB2WA1"}
8.10 PANEL COMMANDS
PANEL SET LOCK SETTINGS
Set panel Lock to "UNLOCK ALL" "UNLOCK USER" "LOCK ALL". Set panel password to Pass.
{"jsonrpc":"2.0","method":"Device.Panel","Lock":"LOCK ALL","Pass":"1234"}
PANEL GET LOCK SETTINGS
{"jsonrpc":"2.0","method":"Device.GetPanel"}
{"Lock":"UNLOCK ALL","Pass":""}
FINDER COMMANDS
Start/stop finder operation
{"jsonrpc":"2.0","method":"Device.Finder","Finder":true}
LCD FUNCTIONS
Print text on device frontal display. Two lines are available and aligned centre if Centre variable is true. Is possible to specify the display timeout in seconds.
{"jsonrpc":"2.0","method":"Device.Print","Line1":"Hi","Line2":"Bye","Center":true,"Timeout":3}
9. PLAYER LUA SDK Introduction
PLAYER is a Lua extension library that acts as interface between LUA and PLAYER firmware using the well-known PLAYER JSON protocol.
Basically is composed by different kind of objects:
- PLAYER – access player functions
- CFG – access configuration. With this object you can access all the PLAYER configuration.
- PRESET – PRESET settings. There are 20 presets that act as memories where you can store all the PLAYER player settings like url, play mode, repeat mode, fade mode, etc.
- EVENT – Event configuration lets PLAYER execute automated functions. There are 3 possibilities GPI1, GPI2 and SILENCE settings.
- CAL – Calendar configuration lets PLAYER execute automated functions on date event. There are up to 24 different calendar.
• SAF – Store and Forward settings - SCRIPT – Manage PLAYER scripts. Is possible to execute scripts based on different kind of triggers like BOOT, EVENT, LOAD PRESET, CALENDAR, NETWORK, etc.
- LOG – Register functions that allows the user to write to the PLAYER internal REGISTER
- DEV – Device status and other setups (like install new firmwares)
- PANEL – Panel lock mode settings and status
- FINDER – use FINDER settings to discover your PLAYER.
• LCD – Allow access to PLAYER LCD display
9.1 PLAYER LUA SDK V1.02
9.1.1 CHANGELIST
• v1.02 - xxxx/xx/xx
√ Added DEV_reboot function
√ Added CFG_backup2 function with type parameter: user, admin and gallery
√ Bug fix CFG_backup was calling to Device.Backup instead Settings.Backup
√ Typo, Calendar general_enabled changed to bEnabled
√ Typo, Scripts enabled change to bEnabled
• v1.01 - 2018/03/14
√ Added DEV_mac function
√ Added DEV_regkey function
• v1.00 - 2018/02/08
√ First version of the document also named "Preliminary version"
9.2 HOW TO USE PLAYER MODULE
In order to use PLAYER module you must include it in your source code using require statement. PLAYER automates this function for you, but you can also include PLAYER module manually and create your PLAYER object as you need using the next two lines of code:
require "PLAYER"
mydev = PLAYER.new()
In this case you can program actions directly to your PLAYER device, but also it is possible to access PLAYER directly from your PC (in this case it is recommended to use some LUA development tool like Eclipse/LUA)
If you want to use PLAYER directly from your PC you can call "new" function with IP and PORT parameters as shown next:
require "PLAYER"
mydev = PLAYER.new("10.120.120.4", 2003)
Where 10.120.120.4 is the PLAYER IP address, that you can check by pressing ENTER button for 10 seconds and going to WIFI or ETHERNET menu. 2003 is the JSON port.
One time PLAYER object is created is possible to access all functions in it.
Let see what you can do.
9.2.1 CONVENTIONS
• n indicates number
• b indicates Boolean
- txt indicates text
9.2.2 PLAYER FUNCTIONS
Access player functions like repeat, fade, etc.
Functions
Function:
PLAYER stereo(bStereo)
Description:
Set the player output mode to stereo or mono
Parameters:
bStereo - boolean, set to true for stereo output, otherwise mono output is selected
Function:
PLAYER_fade(nFade)
Description:
Set the player fade mode
Arguments:
nFade - integer 0-OFF, 1-XFADE, 2-FADE
Function:
PLAYER_mode(nPlayMode)
Description:
Set the player playlist sequence mode
Arguments:
nPlayMode - integer 0-SEQUENTIAL, 1-RANDOM
Function:
PLAYER_repeat(nRepeat)
Description:
Set the player repeat mode
Arguments:
nRepeat - integer 0-PLAY ALL, 1-PLAY ONE, 2-REPEAT ALL, 3-REPEAT ONE
Function:
PLAYER_getStats()
Description:
Get the player statistics and status
Return:
String - xml string containing all the player status
In the next example you could see how to obtain the player stats and how to parse it using cjson library.
require "PLAYER"
ep=PLAYER.new()
json_text=ep.PLAYER_getStats()
print(json_text)
cjson=require "cjson"
value=cjson.decode(json_text)
print("SourceList[3]=" ..
output
{"title":"The White Stripes - Seven Nation Army","counter":"52:52","txtSource":"NET","status":1,"SourceList": ["","MMC","USB","DLNA","AIRPLAY","rock alternativo"], "source":5,"preset":1,"volume":100,"txtVolume":"0dB","stereo":1,"repeat":2,"playmode":0,"fade":1,"bootpreset1":0,"sp":1,"bitrate":"192","duration":"--:--","freq":"44.1","playlist_index":"0001/0001","playlist_url":"mmc://radiobob-alternativerock-mp3-hq? sABC=5n6s2sr8%230%23no8617362n29q2o435p17n54928n16s5%23gharva&amsparams=playerid:tune in;skey:15 17236200","priority":""} SourceList[3]=USB
Function:
PLAYER_queue(urlNextElem)
Description:
Add next playlist item. Using this function you can compose your own playlist. In order to do a continuous play it is necessary to queue next item prior to the end of the current one.
Arguments:
urlNextElem – url of the item to add
Function:
PLAYER_priority(urlElemePriority)
Description:
Use this function to play priority sounds over the normal playlist. It apply
Return:
String – url of the priority element
Function:
PLAYER_play()
Description:
If the player is paused or stopped use this function to start current loaded item reproduction, otherwise the player is paused.
Function:
PLAYER_stop()
Description:
Use this function to stop the current player reproduction.
Function:
PLAYER_next()
Description:
Use this function to advance to the next item. It retains the play state after advance is done.
Function:
PLAYER_previous()
Description:
Use this function to move back to the previous item. It retains the play state.
Function:
PLAYER_incvol = function()
Description:
Use this function to increase the player volume 3dB.
Function:
PLAYER_decol = function()
Description:
Use this function to decrease the player volume 3dB.
Function:
PLAYER_setvol = function(perc)
Description:
Use this function to set the current player volume
Arguments:
nVolume - integer 0 to 100
Function:
PLAYER_setvol = function(perc)
Description:
Call this function to set the mute player parameter.
Arguments:
bMute - boolean set to true to mute the player, otherwise unmute the player.
Function:
PLAYER_open = function(options)
Description:
Call this function to open/load a preset or source or url
Arguments:
url (optional) — String of the url you want to open e.g. mmc://my-music/ http://my.server/music-mp3 preset (optional) – integer from 1 to 20. Indicates the preset you want to open source (optional) – integer from 1 to 24 representing MMC, USB, DLNA, AIRPLAY and presets from PRESET1 to PRESET 20 (preset must be configured properly)
How to load "PRESET 12"?
require "PLAYER"
ep = PLAYER.new()
ep.PLAYER_open({preset=12})
How to load url "http://my.server/music-mp3"?
require "PLAYER"
ep = PLAYER.new()
ep.PLAYER_open({url="http://my.server/music-mp3"})
How to load source "AIRPLAY"?
require "PLAYER"
ep = PLAYER.new()
ep.PLAYER_open({source=4})
*note the {} around the parameter which indicates optional arguments
9.2.3 CONFIG. (CFG) FUNCTIONS
Set and get PLAYER parameters: PRESET, SAF, CAL, EVENT, SCRIPT and LOG. Please refer to the corresponding section to check how to set/get each parameter.
Functions
Function:
CFG reset()
Description:
Restore PLAYER configuration to its initial state (factory defaults). Please note that using this function you will lost all your changes.
Function:
urlRestore – String indicating the url where settings you want to restore
Note:
If you want to apply all settings you must call DEV_reboot or call every XXX_reload function to apply changes one per one.
Function:
CFG_backup(urlBackup, bUser)
Description:
Backups PLAYER settings to urlBackup.
Arguments:
urlBackup – String indicating the url where settings are stored e.g. mmc://good-settings.config http://my.server/PLAYER/mycompany.settings bUser – Boolean set to true for user settings only, otherwise all the settings are backuped to the target destination
Function:
CFG_backup2(urlBackup, type)
Description:
Backups PLAYER settings to urlBackup.
Arguments:
urlBackup – String indicating the url where settings are stored e.g. mmc://good-settings.config http://my.server/PLAYER/mycompany.settings type – String available possibilities are: user, admin and gallery. Select gallery for Player, Events, Scripts, Player Profile and Network settings. Select user for Player, Presets, Events, Calendar, Cloud Disk and Scripts. Select Admin for all the available settings.
Function:
CFG_get = function(interface, section, variable)
Description:
Return the value of the selected variable "interface.section.variable"
Arguments:
interface – must be a valid interface: preset, saf, calendar(01..24), event (gpi1,gpi2, silence), script and log. section – variable's section. Most of the cases is "settings" variable – variable's name.
Return:
String with the variable value.
Function:
CFG_set = function(interface, section, variable, value)
Description:
Set the value of the selected variable "interface.section.variable" to "value"
Arguments:
interface – must be a valid interface: preset, saf, calendar(01..24), event (gpi1,gpi2, silence),
script and log.
section – variable's section. Most of the cases is "settings"
variable – variable's name.
value - variable's value.
Function:
CFG_commit = function(interface)
Description:
Commit interface changes. After changes all variables in one interface it's necessary to dump changes to PLAYER internal memory. Do it one time for each modified interface.
Arguments:
interface – must be a valid interface: network, wireless, preset, saf, calendar(01..24), event (gpi1, gpi2, silence), script and log.
9.2.4 PRESET FUNCTIONS
Set and get PLAYER PRESET parameters. There are 20 presets available. Each preset can configure: name, events enabled, playlist, media alias, play status, volume, mute, play mode, repeat mode, fade mode, stereo/mono.
Functions
Function:
PRESET_reload(index)
Description:
Reload preset configuration. Call it after modify the preset configuration using CFG_set and CFG_commit
Arguments:
index – number indicating the preset number (from 1 to 20)
9.2.4.1 PRESET VARIABLES
| presetNN.settings.bname Preset name | |
| presetNN.settings.eventList | List of enabled events separated by % (GPI1%GPI2%SILENCE) |
| presetNN.settings.bPlaylist | 1 to overwrite playlist |
| presetNN.settings.loadPlaylist | url of the playlist. Must be enabled using presetNN.settings.bPlaylist |
| presetNN.settings.mediaAlias | Alias of the enabled playlist. It appears as source |
| presetNN.settings.bStatus | 1 to overwrite status |
| presetNN.settings.status Preset status must be PLAY or STOP | |
| presetNN.settings.bVolume 1 to overwrite preset volume | |
| presetNN.settings.volume | Preset volume in % (from 0 to 100) |
| presetNN.settings.mute 1 indicates mute, 0 to unmute | |
| presetNN.settings.bPlayMode | 1 to overwrite play mode |
| presetNN.settings.playMode RANDOM or SEQUENTIAL | |
| presetNN.settings.bRepeatMode 1 to overwrite repeat mode | |
| presetNN.settings.repeatMode | PLAY ALL, PLAY ONE, REPEAT ALL or REPEAT ONE |
| presetNN.settings.bFadeMode | 1 to overwrite fade mode |
| presetNN.settings.fadeMode | OFF, XFADE or FADE |
| presetNN.settings.bStereo | 1 to overwrite stero/mono mode |
| presetNN.settings.stereo | MONO or STEREO |

• All variables are optional.
• NN indicates a number 01 to 20
require "PLAYER"
ep = PLAYER.new()
epCFG_set("preset03", "settings", "bname", "My first preset")
epCFG_set("preset03", "settings", "bPlaylist", 1)
epCFG_set("preset03", "settings", "mediaAlias", "Alias of my first preset")
epCFG_set("preset03", "settings", "bVolume", 1)
epCFG_set("preset03", "settings", "volume", 100)
epCFG_set("preset03", "settings", "loadPlaylist", "mmc://")
epCFG_set("preset03", "settings", "eventList", "GPI1%SILENCE")
epCFG_commit("preset03")
ep.PRESET_reload(3)
9.2.4.2 PRESET EXAMPLES
At this moment you can load the configured preset with this instruction:
ep.PLAYER_open({preset=3})
9.2.5 EVENT FUNCTIONS
Event functions lets PLAYER execute automated functions. There are 3 possibilities GPI1, GPI2 and SILENCE settings.
Functions
Function:
EVENT_reload(txtEvent)
Description:
Reload event configuration. Call it after modify the preset configuration using CFG_set and CFG_commit
Arguments:
txtEvent – String indicating the event to reload (GPI1, GPI2 or SILENCE)
9.2.6 EVENT VARIABLES
When programmaing GPI1 or GPI2 these variables are available
| gpiN.settings.source_polarity | Event polarity DIRECT or REVERSE |
| gpiN.settings.target_type | INTERNAL, PRESET RECALL, TRANSPORT CONTROL, LOAD & PLAY SOURCE or PRIORITY SOURCE |
| gpiN.settings.target_preset | If target_type=PRESET RECALL put here the preset number 1 to 20 |
| gpiN.settings.target_transport | If target_type=TRANSPORT CONTROL enter here one of this options: STOP, PLAY, PREV/RW, NEXT/FW |
| gpiN.settings.target_loadsource | if target_type=LOAD & PLAY SOURCE or target=PRIORITY SOURCE put here the url you want to load and play |
| gpiN.settings.target_priomode | If target_type=PRIORITY SOURCE enter here the priority mode. Choose between HOLD or PULSE |
| gpiN.settings.target_prio_retrigger | If target_priomode=PULSE set to 1 to active retrigger option. 0 to disable it |
| gpiN.settings.target_prio_pulse_time | If target_prio_retrigger=1 put here the playback duration |

N should be 1 or 2 (for GPI1 or GPI2)
While programming SILENCE these variables are available
| silence.settings.source_detecttime | Put here the detection time in seconds |
| silence.settings.target_type | INTERNAL, PRESET RECALL, LOAD & PLAY SOURCE |
| silence.settings.target_preset | If target_type=PRESET RECALL put here the preset number 1 to 20 |
| silence.settings.target_loadsource | if target_type=LOAD & PLAY SOURCE or target=PRIORITY SOURCE put here the url you want to load and play |
9.2.7 CALENDAR (CAL) FUNCTIONS
Calendar functions lets PLAYER execute automated functions on a date/time. There are 24 different calendar events available.
Functions
Function:
CAL_reload(nIndex)
Description:
Reload calendar configuration. Call it after modify the calendar configuration using
CFG set and CFG commit
Arguments:
nIndex – number indicating the calendar to reload (1 to 24)
9.2.7.1 CALENDAR VARIABLES
| calendarNN.settings.general_description | Calendar name or description |
| calendar01.settings.bEnabled | Set to 1 to enable this calendar |
| calendarNN.settings.source_start_date | Start date (YYYY/MM/DD). Could be blank |
| calendarNN.settings.source_start_time | Start time (HH:MM). Could be blank. |
| calendar.settings.source_end_enable | Could be FOREVER or CUSTOM END DATE |
| calendarNN.settings.source_end_date | If CUSTOM END DATE is selected put here the calendar end date (YYYY/MM/DD) |
| calendarNN.settings.source_end_time | If CUSTOM END DATE is selected put here the calendar end |
| time (HH:MM) | |
| calendarNN.settings.source_week_nonactive | Week mask where calendar is not active. Should be a string of days. Each day is represented by his 2 first letters (MoTuWeThFrSaSu) |
| calendarNN.settings.source_repeat_enable | 1 indicates that the calendar must repeat the selected interval time up to the number indicated in times variable. 0 no repetition |
| calendarNN.settings.source_repeat_interval | If repeat is enabled this parameter indicates the repetition time |
| calendarNN.settings.source_repeat_times | If repeat is enalbed this parameter indicates the repetition's number |
| calendarNN.settings.target_type | INTERNAL, PRESET RECALL, TRANSPORT CONTROL, LOAD & PLAY SOURCE or PRIORITY SOURCE |
| calendarNN.settings.target_preset | If target_type=PRESET RECALL put here the preset number 1 to 20 |
| calendarNN.settings.target_transport | If target_type=TRANSPORT CONTROL enter here one of this options: STOP, PLAY, PREV/RW, NEXT/FW |
| calendarNN.settings.target_loadsource | if target_type=LOAD & PLAY SOURCE or target=PRIORITY SOURCE put here the url you want to load and play |
9.2.8 STORE AND FORWARD (SAF) FUNCTIONS
Store and Forward module let PLAYER download remote media content from a rsync/ssh server to local storage devices (same as PRESET1), daily, and recall PRESET1 to automatically play it.
Functions
Function:
SAF_reload()
Description:
Reload Store and Forward configuration. Call it after modify the Store and Forward configuration using CFG_set and CFG_commit
9.2.8.1 STORE AND FORWARD VARIABLES
| saf.settings.bEnabled | Set to 1 to enable daily Store and Forware synchronization |
| saf.settings.time_param | Enter here the synchronization hour (HH:MM) |
| saf.settings.host | Put here the rsync/ssh server address |
| saf.settings.port | Enter here the rync/ssh port (default 22) |
| saf.settings.source_path | Enter here the server folder where the contents are stored |
| saf.settings.source_user | SSH/rsync username parameter |
| saf.settings.source_key | Enter here your private SSH/rsync key |
| saf.settings.source_timeout | Enter here the SSH/rsync operation timeout (in seconds) |
9.2.9 REGISTER (LOG) FUNCTIONS
Register functions that allows the user to write to the PLAYER internal REGISTER
Functions
Function:
LOG_trace(txtLog)
Description:
Add to PLAYER LOG register a trace line
Arguments:
txtLog - String containing the text you want to add. The source of the register line will be equal to "ScriptNN" where NN represents the script calling LOG_trace
Function:
LOG_warning(txtLog)
Description:
Add to PLAYER LOG register a warning line
Arguments:
txtLog – String containing the text you want to add. The source of the register line will be equal to "ScriptNN" where NN represents the script calling LOG_warning
Function:
LOG_error(txtLog)
Description:
Add to PLAYER LOG register a error line
Arguments:
txtLog - String containing the text you want to add. The source of the register line will be equal to "ScriptNN" where NN represents the script calling LOG_error
9.2.10 DEVICE (DEV) FUNCTIONS
Device functions allows the user to setup firmware and general PLAYER configurations.
Functions
Function:
DEV_reboot()
Description: Reboot the PLAYER immediately.
Function: txtVersion = DEV_version()
Description: Get the PLAYER firmware version
Return: txtVersion – string containing PLAYER firmware version formatted
Function: DEV_update(urlFirmware)
Description: Installs a new PLAYER firmware version. After installation device is rebooted automatically
Arguments: urlFirmware – Url containing the path where PLAYER firmware resides. Must be a local storage device or http/https url.
Function: total, used, percent = DEV_get(devUrl)
Description: Get the PLAYER firmware version
Arguments: devUrl – url of local storage device. Must be mmc:// or usb Ky
Return: total – number representing total number of bytes of external storage device used – number of bytes representing the used size percent – number parameter representing the used percentage
Example: require "PLAYER" ep=PLAYER.new()
print("usb", ep.DEV_get("usb:/+/"))
total,user,percent=ep.DEV_get("mmc:/") print("mmc", total, user, percent)
usb 7823420 4223365
mmc 15629312 68912 0
Function: DEV_boot(nBoot)
Description: Set device boot mode to nBoot
Arguments: nBoot – number indicating load PRESET1 (bBoot=2) or keep settings (nBoot=1)
Function: bEncrypt = DEV_isEncrypted(devUrl)
Description:
Get local storage encrypted flag
Arguments:
devUrl – string must be mmc:// or usb://
Return:
bEncrypt – boolean, true, if local storage is encrypted
Function:
bEncrypt = DEV_isEncrypted(devUrl)
Description:
Get local storage encrypted flag
Arguments:
devUrl – string must be mmc:// or usb://
Return:
bEncrypt – boolean, true, if local storage is encrypted
Function:
bEncrypt = DEV_mac()
Description:
Get device MAC address
Return:
jsonMAC – json string representing MAC address value
require "PLAYER"
device=PLAYER.new()
w()
{"mac":"A8 40 41 16 47 D6"}
Function:
bEncrypt = DEV_regkey()
Description:
Get device Registration Key code
Return:
jsonMAC – json string representing Registration Key code
require "PLAYER" device=PLAYER.new()
print(device.DEV_regkey())
{"regkey":"A269FCEAB4F1C20B"}
9.2.11 PANEL FUNCTIONS
Panel functions allows the user to setup firmware and general PLAYER configurations.
Functions
Function:
PANEL_set=function(lockMode, password)
Description:
Set the panel lock mode and password
Arguments:
lockMode – string indicating lock mode. Possible options are UNLOCK ALL, UNLOCK USER, LOCK ALL password – string with the LOCK/UNLOCK password. Max length is 8. Valid characters are: 0-9 A-Z
+ -
Function:
lockMode, password = PANEL_get()
Description:
Set the panel lock mode and password
Return:
lockMode – string representing lock mode. Possible values are UNLOCK ALL, UNLOCK USER, LOCK ALL
password – string with the LOCK/UNLOCK password
9.2.12 FINDER FUNCTIONS
Finder functions allows the user to run finder operation on PLAYER.
Functions
Function: FINDER_set(bLigth)
Description:
Start or Stop finder operation. If finder is active, PLAYER display blinks.
Arguments:
bLigth – boolean, set to true to start finder operation (display blink). Set to 0 to stop finder operation (normal state)
9.2.13 LCD FUNCTIONS
LCD functions allows the user to show messages on PLAYER LCD display. The texts are limited to LCD physical dimensions: 2 lines per 16 columns.
Functions
Function:
LCD_print(txtLine1, txtLine2, center, timeout)
Description:
This functions shows a message on the PLAYER LCD display
Arguments:
txtLine1 – String corresponding to the text on the first LCD line txtLine2 – String corresponding to the text on the second LCD line center – Booelan, set to true to center the text on the LCD display
timeout – Number of seconds that message is showed in PLAYER
LCD display Function:
LCD_print2({txtLine1, txtLine2, bCenter, nTimeout})
Description:
This functions shows a message on the PLAYER LCD display. Parameters are optional.
Arguments:
txtLine1 (optional) – String corresponding to the text on the first LCD line txtLine2 (optional) – String corresponding to the text on the second LCD line center (optional) – Booelan, set to true to center the text on the LCD display
nTimeout (optional) – Number of seconds that message is showed in PLAYER LCD display
