HPLinkPicon Generator (Enigma2)

User manual

A guide to the tool for designing and mass-generating picons - channel icons for Enigma2 receivers.

HPL ink Picon Generatordescribed release: v1.35
Release date14.07.2026
PlatformWindows 10 / 11 (desktop application)
Labelling rule: the program has two tabs - Generator and Picon Sort. Descriptions of the Generator tab refer to its four interface columns as column 1 … column 4 (left to right). The NEW in v1.35 label marks features added in the described release.

Table of contents

1. About the program

HPL ink Picon Generator (Enigma2) v1.35 [14.07.2026] is a Windows tool that combines single-picon design and mass production for a whole channel list in one window:

The interface uses a dark theme with an orange accent; results are generated as PNG files (the preview can also be saved as JPG).

Requirements

2. Startup and access protection

First start

  1. Run the program (the hpl_picon_generator.py file or the supplied executable).
  2. The window opens centred, sized to fit the screen (up to 1860x760), with the Generator tab active.
  3. The program immediately renders a first preview with the default settings (the caption "HPL" + "HD").

MAC address protection

The program can be bound to specific computers. The distribution may be configured with a list of at most 5 MAC addresses. On startup the program reads the computer's network adapter addresses using three independent methods (psutil, getmac and the system identifier), so detection also works in a compiled EXE.

MAC list configurationStartup condition
List emptyProtection disabled - the program starts on any computer.
List filledAt least one of the computer's MAC addresses must be on the list.
Not authorised: if the computer is not on the list, the program shows "Ten adres MAC nie jest autoryzowany" (this MAC address is not authorised) and exits. In that case contact the program supplier and provide the computer's MAC address.

3. Main window

The following drawing is a privacy-safe UI diagram. It contains no IP address, password or other user data.

HPL ink Picon Generator (Enigma2)  |  v1.35   14.07.2026
GeneratorPicon Sort
COLUMN 1 - BACKGROUND & PRESETS
Presets
Image size
Background & gradient
Background from file
Overlay (darkening)
Vignette & glow
Decoration (shape)
COLUMN 2 - TEXT
Text 1 | Text 2 | Text 3
Caption, font, size
Category → Effect
Effect parameters
Zone offset
COLUMN 3 - BATCH + FTP
Batch generation
Load .txt list
Preset, output folder
Batch preview (12)
Generate batch
Send to receiver (FTP)
COLUMN 4 - PREVIEW
Live preview
Undo | Generate preview
Save PNG | Save JPG
Border
Watermark
Image (logo)
Ready  |  HPL ink Picon Generator (Enigma2) v1.35 14.07.2026
Live preview: almost every settings change (slider, field, colour, effect) automatically refreshes the preview after a short idle moment. There is no need to click "Generate preview" every time.

4. Presets

The Presets section at the top of column 1 stores and restores the complete set of settings: size, background (including the background image path), texts 1-3 with effects, border, decoration, vignette, watermark and logo.

Working with presets

Built-in presets

PresetDescription
CANAL+ 360 neonA neon stage with a gradient letter outline - the CANAL+ 360 picon style. Also works in batch (the channel name replaces the "360" caption).
Codex Sol NEW in v1.35A composition on the "Neon studio - wet floor" background with the "Two-zone neon + reflection" effect, a neon bar at the top and a third text "CANAL+".
Safe saving: the preset file hpl_picon_presets.json is written atomically (a temporary file first, then a swap). If the preset file turns out to be corrupted, the program creates a .bak copy instead of silently overwriting the data. The "saved" message appears only after the file has actually been written.

5. Background and composition - column 1

Image size

There are 11 sizes to choose from: 100x60, 128x128, 220x132, 256x256, 320x180, 400x240 (default), 512x512, 600x360, 800x450, 1280x720 and 1920x1080 px.

Background and gradient

The background is built from up to three colours (Background colour #1 / #2 / #3) and a Gradient type - 25 variants:

Background from file

  1. Tick Enable background from file and click Load image (PNG/JPG).
  2. Adjust Background opacity (0-100%), Background zoom (0.1-5.0x) and Offset X / Y (±2000 px).
  3. Gradient opacity on background controls how strongly the colour gradient covers the image.
  4. The most convenient way to position the image is directly in the preview: dragging with the mouse moves the background, the mouse wheel changes the zoom.
  5. Remove background detaches the image from the project.

Overlay, vignette and glow

Decoration (shape)

A decorative shape drawn on the background: Diagonal bar, Horizontal bar (bottom), Vertical bar (left), Circle (corner), Arc (bottom), Accent line (corner), Triangle (corner) and the Neon bar (top) with a two-colour outline and glow NEW in v1.35. Each shape has a colour, opacity, size and a Behind text option.

6. Text 1 / 2 / 3 and effects - column 2

Three independent texts

TabPurpose
Text 1 (orange)The picon's main caption (default "HPL"). Replaced with the channel name in batch.
Text 2 (green)A suffix, "HD" by default. In batch it is set to "HD" whenever the channel name ends with HD.
Text 3 (blue)A free position - centred on the whole image and moved with the Offset X/Y fields; empty by default. Ideal for a fixed caption such as a platform name.

The Copy to Text 2 button copies the Text 1 settings (without the caption, size and font colour) - the fastest way to give both texts a consistent style.

Caption and font

Text effect - two-level selection

Instead of a single list of over 130 entries, the effect is chosen in two steps: Category → Effect.

CategoryExample effects
ShadowsClassic, soft, perspective, long shadow, gradient shadow, bottom mirror shadow, floor-cast shadow.
3DLayered 3D, 3D with side gradient, extruded 3D, chromed 3D.
GlowsGlow, double neon, neon tube, cyberpunk neon, UV / blacklight, electric arc, rainbow glow, cracked neon, Two-zone neon and Two-zone neon + reflection NEW in v1.35.
OutlinesOutline, multiple outline, neon outline, contour (hollow centre), gradient neon contour, two-colour double contour.
Gradients on textMore than 40 palettes: rainbow, ocean, matrix, aurora, lava, gold, chrome, copper, titanium, oil-slick chrome and more.
Patterns on textStripes, scanlines, pixel / 8-bit, grid, dots, hex, halftone, pop art, bricks, marble, camouflage.
SpecialFire, ice, hologram, RGB glitch, comic, knockout (caption cut from the background), neon badge, sticker, scorch, 3D glass (glassmorphism), duotone, flickering neon.

Contextual parameters

Below the effect list, only the parameter sections actually used by the selected effect are shown:

The Zone offset section (X/Y, ±500 px) moves the text relative to its default position.

7. Preview, saving, border, watermark and logo - column 4

Preview

Buttons

Border

After ticking Enable border, 8 styles are available: Full, Rounded, Double, Dashed, Corners only, Neon (glow), Bevelled 3D, Gradient. The shared parameters are colour, width 1-20 px and edge inset 0-30 px. Contextual parameters appear only for styles that use them: corner radius 0-40 px, and for the Gradient style additionally Colour #2 and the border gradient direction (horizontal, vertical, diagonal, perimeter).

Watermark

The "ink" mark (red italic) in a corner of the picon. It can be switched on and off, and the setting is stored in the preset NEW in v1.35. The watermark corner can be bottom-right or bottom-left.

Image (logo)

  1. Tick Enable and click Load image (PNG/JPG with transparency).
  2. Set the logo scale 5-100%, position X / Y, logo opacity and the Behind text option.
  3. The logo can also be moved by dragging with the right mouse button in the preview.
Paths in presets: a preset remembers the background and logo file paths. Batch will use those files as long as they still exist on disk.

8. Batch - mass generation - column 3

Channel list format

Batch accepts .txt files in the Enigma2 list format - pairs of #SERVICE and #DESCRIPTION lines. The parser handles:

For each channel the program creates a PNG file whose name equals the #SERVICE reference with colons replaced by underscores, e.g. 1_0_1_3DEA_640_13E_820000_0_0_0.png.

Automatic texts: the channel name is written in CAPITALS as Text 1; if it ends with "HD", the suffix goes to Text 2. The program automatically fits the Text 1 font size to the text zone and, when needed, wraps long names onto at most two lines.

Step by step

  1. Load .txt list - the label next to the button shows the number of channels read.
  2. Choose the preset to use from the drop-down list (saved + built-in presets).
  3. Choose the output folder for the PNG files.
  4. Optionally tick Skip existing files - useful when resuming an interrupted run.
  5. Batch preview (first 12) - a window with a thumbnail grid of the first 12 channels rendered with the selected preset; lets you judge the style before the full run.
  6. Generate batch - generation runs in the background; the progress bar shows the percentage, a file counter and the estimated time of completion (ETA) computed from the files actually generated.
Errors on individual channels do not stop the batch - after finishing, the program writes a _batch_errors.txt log in the output folder and shows the error count on the status bar.

9. Send to receiver (FTP)

The section at the bottom of column 3 uploads the generated picons directly to an Enigma2 receiver.

  1. Enter the receiver's Host / IP, Login (default root) and Password (masked; VU+ receivers always require a password).
  2. Choose or type the picon path on the receiver. The list suggests three typical locations: /usr/share/enigma2/picon, /media/hdd/picon, /media/usb/picon.
  3. Test connection - logs in to FTP (port 21), enters the given folder and shows the number of PNG files it contains. A successful test saves the configuration.
  4. Send to receiver - uploads all PNG files from the batch output folder. Progress ("Sending X / Y...") is shown next to the FTP section and the result also appears on the status bar.
Password safety: the FTP configuration is stored in hpl_picon_ftp.json and the password is protected with Windows DPAPI - only the same user on the same computer can read it. An older (base64) configuration is migrated automatically on first use.
Upload requirements: the batch output folder with PNG files must exist before uploading. After uploading the picons, reload the channel list or restart the Enigma2 GUI so the receiver picks up the new icons.

10. Picon Sort tab

Picon Sort organises existing picon collections: it matches PNG files against a channel list and points out what is missing.

  1. Choose the folder with PNG icons (e.g. an unpacked picon pack).
  2. Choose the .txt list file (the same syntax as in batch - chapter 8).
  3. Click Match and copy.

For every channel the program looks for a <ID_with_underscores>.png file and copies the found ones into the Znalezione ("Found") subfolder in the program directory. The results go to a table:

ColumnContent
StatusOK - file found and copied; MISSING - no file for the channel.
Channel nameThe name from the list (#DESCRIPTION or #SERVICE).
FileThe expected PNG file name.
InfoOperation details (copied / not found).

A summary is shown above the table: Found / Missing / Copied.

11. Missing-picon report and the Generator bridge

The Missing report (N) button opens a window on the right half of the screen listing the entries without a PNG file: position number, channel name, the underscore identifier and the expected file name.

12. Undo and live preview

13. Example workflow

A typical scenario: a complete picon set for your own channel list in a single style.

1. StyleDesign a picon in the Generator tab or load a preset (e.g. "Codex Sol") and fine-tune the colours.
2. PresetSave the settings with "Save preset" under your own name.
3. BatchLoad the .txt list, pick the preset and folder, check "Batch preview", run "Generate batch".
4. ReceiverIn the FTP section test the connection and send the picons to the receiver.

The tidy-up variant: first Picon Sort matches an existing picon pack against the list, then the missing report's Generate missing picons button produces only the missing icons in the Generator - in the same style as the rest.

14. Interface sections and program files

Section cheat sheet

SectionLocation
Presets, Image size, Background & gradient, Background from file, Overlay, Vignette & glow, DecorationGenerator - column 1
Text 1 / Text 2 / Text 3, Font, Text effect, parameters, Zone offsetGenerator - column 2
Batch generation, Send to receiver (FTP)Generator - column 3
Preview, Undo / Generate preview / Save PNG / JPG, Border, Watermark, Image (logo)Generator - column 4
Match and copy, Missing report, results tablePicon Sort tab

Program files

All files are created in the program directory (next to the .py / .exe file):

File / folderPurpose
hpl_picon_presets.jsonSaved presets. If the file gets corrupted, a .bak copy is created.
hpl_picon_ftp.jsonFTP configuration; the password is protected with Windows DPAPI.
ZnalezioneThe subfolder with picons copied by Picon Sort.
_batch_errors.txtThe error log of the last batch - in the batch output folder.
icon.icoThe program window icon (optional).

15. Troubleshooting

"This MAC address is not authorised"

The computer is not on the list of authorised MAC addresses. Contact the program supplier and provide the MAC address (command line: getmac).

The preview renders slowly

Install the NumPy library (pip install numpy) - backgrounds and gradients then render many times faster. Large sizes (1280x720, 1920x1080) and blur-based effects always take longer; use a smaller size for experiments and set the target size before the batch run.

The "Generate batch" button does not start

Check three conditions: a loaded channel list (the label shows the channel count), a preset selected in the drop-down and a chosen output folder. The program shows a message pointing at the missing element.

Batch reports errors for individual files

Open _batch_errors.txt in the output folder - each line contains the channel name, the identifier and the cause. The most common causes are an unavailable background/logo path stored in the preset or a font missing from the system.

FTP: "login/path error" or "connection error"

  1. Check the receiver's IP and that the receiver is switched on (not in deep standby).
  2. The login is usually root; a password is required - it is set in the receiver's menu (e.g. OpenWebif / network settings).
  3. Verify that the picon path exists on the receiver; create the picon folder if needed.
  4. The computer's firewall must not block outgoing connections on port 21.

Picon Sort finds nothing

The file names in the folder must be #SERVICE identifiers with underscores (e.g. 1_0_1_3DEA_640_13E_820000_0_0_0.png). If the picon pack uses channel names instead of identifiers, ID matching is not possible - generate the picons with batch instead.

Text 2 does not appear in batch

Text 2 is filled only when the channel name ends with the word "HD". Any other Text 2 content from the preset is overwritten during batch.

Invalid colour in a field

Colours use the #RRGGBB format. An invalid or empty value is replaced with white instead of raising an error.

Presets disappeared after a crash

Check whether a hpl_picon_presets.json.bak copy exists next to hpl_picon_presets.json - it holds the last version from before the corruption; just remove the .bak extension.