Release Notes RemotePLE
=======================
Latest changes are shown first.

=== Version 1.0.0.118 ===

- On startup a notice now appears when no FTP connection details
  have been configured yet. If you wish, the settings open directly
  so you can complete the setup.

=== Version 1.0.0.117: Help browser button & update fixes ===

- Help system: The browser button is now only shown when the
  corresponding HTML page actually exists on the server. The list
  is fetched automatically from the server at startup and on
  every language change.
- Bug fix: During automatic updates, the application's own EXE file
  was incorrectly downloaded as a regular file on systems with
  differing path capitalisation (e.g. Windows 7) instead of being
  saved as an update file (.neu). Applies to both FTP and SFTP.
- New language key "upd-in-progress": A voice announcement is now
  played while an automatic update is in progress.

=== Version 1.0.0.116 ===

- Bug fix: During automatic updates via FTP/SFTP, nested subdirectories
  (e.g. the help system's language folders) were sometimes not created
  correctly, causing individual help chapters to be missing. Updates now
  create subdirectories reliably.

=== Version 1.0.0.115: Integrated Help System ===

- Integrated help system: F1 opens context-sensitive help whose
  chapters adapt to the active area (Playlist, FTP, On-Air list,
  Presets tab, CueEditor, search panel).
  49 chapters, available in German, English, French, Spanish
  and Turkish.
- F1 context added for the Presets tab.

=== Improved Voice Output: Internal RadioBOSS Instance ===

When switching between the external and internal RadioBOSS instance (checkbox
"Internal" to the right of the on-air list), all display texts and voice
messages are now updated correctly:

  – Tab label and tooltip of the on-air list switch depending on the active
    instance ("On-Air List" ↔ "Internal On-Air List")
  – Panel tooltip names the active instance
  – All action messages (delete, move, start, etc.) indicate the internal
    instance while it is active
  – The toggle message is available in all five languages

=== Breadcrumb Navigation in Directory Panels ===

The path display in all eight directory panels (FTP, Song, VT, Jingle,
Drop, Opener, Promo, Content) has been replaced with clickable breadcrumb
navigation. Each directory segment is a separate link that navigates
directly to that level.

Leading "/": Appears as soon as a subdirectory is open. The tooltip reads
"FTP root directory" and jumps to the FTP root in a single click.

Accessibility: All segments are readable by screen readers. The tooltip
of the "/" link is localised in all five languages. Double-clicking the
panel still works as before.

=== Fix: File Count in FTP Directory Lists ===

In FTP directory listings, the parent link ".." was previously included
in the announced file count. The new helper function NettoAnzahl() subtracts
this entry — the displayed and spoken count now reflects only actual files
and subdirectories.

=== Improvement: Online Year Search (MusicBrainz) ===

The MusicBrainz search in the Tag Editor has been improved in two areas:

Year: Up to 100 results are now evaluated instead of 3. This ensures
that the correct earliest release year is reliably found for tracks with
many versions. Bootleg recordings are deprioritised when the year is equal.

Album: For album detection, the found recording is now looked up directly
at MusicBrainz. This reliably filters out live albums, compilations and
bootlegs — only an official studio album is suggested.

=== Bugfix: Local RadioBOSS Instance ===

Several functions in the RadioBOSS API connector were not passing the "local"
parameter through to internal sub-calls. As a result, actions such as move,
delete, start, and command editing were always sent to the remote instance
even when the local instance was active.
In addition, the parameter was missing entirely from the command editing
function (BOSS_EditCommand).
All affected functions have been corrected.

=== Local RadioBOSS Instance ===

When using a second, local RadioBOSS instance (e.g. for live shows with
local preparation), the On-Air tab can now be switched to control that
internal instance.

An "Internal" checkbox appears to the right of the On-Air list — but only
if a local instance is configured in Settings (tab "Advanced").
When activated, all On-Air functions (delete, move, start etc.) target the
local instance. All spoken feedback indicates that the internal instance
is active.
The toggle is not persistent — after a restart, the external instance is
active again.

=== Release Year from the Internet ===

The Tag Editor has a new "Year" button (next to "Fetch Tags").
It automatically looks up the release year of the current track:
  – Primary source: MusicBrainz (open music database, no account needed)
  – Fallback: iTunes search
  – If an album is stored: first searched with album, then without as fallback
The found year is entered directly in the tag editor.
If the source returns an album name that differs from the stored one,
adoption is offered — the album name is read aloud.

=== Admin Tool: Tag Completion from Local File Copy ===

Hidden maintenance function for administrators: Ctrl+Shift+Alt+A.
Opens a menu with two modes:
  – "Complete only if all fields empty" — fills only fully empty entries
  – "Granular: fill only empty fields" — existing values are preserved
The tool reads tags from a local copy of the server files (path is requested).
Fields: Title, Artist, Album, Genre, Year.
Before writing, the number of matches is announced and confirmation requested.
The last entered path is saved.

=== Bug Fix: Crash on Startup in the Evening ===

The application crashed on startup every evening from approximately 18:12
with an arithmetic error ("ERangeError").
The cause was a calculation in the FTP progress display that overflowed
when using the current time of day.
Fixed.

=== Extended Title Search ===

The search in the song area has been extended with a database search.
In addition to the existing FTP directory search, five database
search modes are now available:
  – Artist + Title  (default)
  – Artist, Title, Genre and Album (all fields)
  – Artist only
  – Title only
  – Genre only

The search finds titles containing all entered words
(e.g. "Beatles love" finds only titles with both words).

Optional: Titles played within the last 24 hours can be
hidden (checkbox "> 1d").

The selected search mode is saved and automatically restored
on the next start.

Database search is only available when connected to the
RadioBOSS database.

=== Voice Feedback for FTP Operations ===

Delete, rename, create folder and remove folder now provide spoken feedback:
success or failure is announced immediately.
When deleting multiple files, the number of successfully deleted files
is reported (e.g. "3 files successfully deleted").
Works equally with FTP, FTPS and SFTP.

=== FTP/FTPS/SFTP Progress Bar ===

The progress bar during file transfers has been thoroughly reworked.
It now shows real percentage progress for FTP and FTPS transfers.
For SFTP, a marquee bar runs during the transfer.
Background: some FTPS servers do not report the file size in the RETR
response – the size is now fetched in advance to enable progress display.

=== VU Meter (Recording) ===

The level meter used when recording voice tracks has been completely
redesigned. Previously, screen readers disrupted recordings with tones
because the Windows progress bar control fires an accessibility event
on every position change.

The new meter features:
  – Logarithmic dBFS scale (–60 to 0 dB)
  – Stereo: left and right channel displayed separately
  – Colour zones: green / yellow / red
  – Peak hold: peak level is held for 2 seconds, then slowly decays
  – No more screen reader noise

=== Edit Command ===

Existing commands in the preparation and on-air playlists can now be edited
directly, without having to delete and re-add them.

Editable commands: relaystart, getrandomplaylist, setcasttitle,
and show download commands (download ...).
The current parameter is pre-filled in the input field.
Access: right-click a command → "Edit command"
(only active when the selected command is editable).

=== Database Auto-Reconnect ===

If the connection to the RadioBOSS database is lost, RemotePLE no longer
needs to be restarted. The timer automatically attempts to reconnect every
minute. When opening the CueEditor or saving cue points, a reconnect is
also attempted automatically if needed.

=== Waveform Analysis (CueEditor) ===

The waveform display in the CueEditor now works reliably on all systems,
regardless of the audio device sample rate.

Previously, on certain computers (e.g. with a device running at 48 kHz
instead of 44.1 kHz), the waveform could go flat after a few seconds.
Analysis now runs in a separate sequential decode pass directly on the raw
file data, without any seek operations. Side effect: waveform quality is
improved (all samples per pixel evaluated instead of spot samples).
The loudness measurement (LUFS) is also more accurate.

=== Multiple Languages ===

The language selection in Settings loads all available languages
automatically from the Language\ folder. Five languages are currently
available: German, English, French, Spanish and Turkish.

=== SFTP Support ===

In addition to FTP and FTPS, SFTP is now supported.
Switch in Settings: Connection tab → Mode SFTP.
A security prompt for the host key appears on first connect.
The port switches automatically from 21 to 22.

=== Speech Guide (Accessibility) ===

All new features provide audio feedback via speech output.
The Speak button (or Ctrl+Speaker) toggles announcements on/off.

=== Tag Editor ===

Track metadata can be edited directly in the database from within the CueEditor.

  "Fetch Tags"       – Reads tags from the audio file
                       (Artist, Title, Album, Genre, BPM etc.)
  "Calculate BPM"    – Analyses the audio and detects the tempo
  Ctrl+S             – Saves both cue points and any changed tags

=== CueEditor ===

The CueEditor allows you to edit cue points directly within the application.

Keyboard shortcuts:
  Ctrl+T         – Open / close CueEditor
  F1–F10         – Select cue point (spoken: name and position)
  K / Shift+K / Ctrl+K – Position –10 ms / –100 ms / –1000 ms
  L / Shift+L / Ctrl+L – Position +10 ms / +100 ms / +1000 ms
  O              – Preview with beep just before the cue point
  I              – Play from cue position
  P              – Play / Pause (CueEditor only)
  Space          – While playing: set cue at current position
  Shift+Enter    – Set cue point to cursor position
  Del            – Delete selected cue point (with confirmation)
  Home / End     – Jump to beginning / end of track
  Ctrl+S         – Save cue points and tags to database
  Ctrl+Z         – Undo last cue point step

These release notes can be reopened at any time by pressing F12.
