de meeste muziek die ik hier heb komen van albums af dus als je een cd /lp 'stript' dan krijg je dus track nummer - artiest - titel
voor de tags gebruik ik Tag&Rename en daar kan je prachtig file name mask maken


Code: Selecteer alles
CREATE USER 'sam_powertool'@'192.168.1.113'
IDENTIFIED BY 'een-sterk-wachtwoord';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE
ON samdb.*
TO 'sam_powertool'@'192.168.1.113';Code: Selecteer alles
SAM PowerTool 3.9.7 - C# / WinUI 3 Edition
===========================================
SAM PowerTool is a Windows utility for maintaining a SAM Broadcaster music
library and database. This release replaces the former PowerShell/Python
edition with a native C# application.
System Requirements
-------------------
- Windows 10 version 1809 or newer, 64-bit.
- Internet access during setup. The installer downloads missing Microsoft
runtimes and installs Windows App Runtime 2.4.
- Network and filesystem access to the SAM database and music library.
- A MySQL or MariaDB account with the permissions required for the actions you
intend to use.
The application and installer are currently unsigned. Windows SmartScreen may
therefore show an Unknown Publisher warning. Download the installer only from
the official SAM PowerTool forum post on https://broadcasterforum.nl.
The default installation folder is C:\Program Files\SAM PowerTool. Setup lets
you select another folder when needed. Application files in the installation
folder are treated as read-only; settings, logs and undo data are stored in the
locations described below.
First Use
---------
1. Start SAM PowerTool and open Settings with the gear button.
2. Under Database, first enter the database username and password. AutoConfig
deliberately does not change these credentials.
3. Press AutoConfig. When MySQL or MariaDB is installed on the same machine,
AutoConfig detects the server, port, database and both character-set values.
Review the preview and apply the detected values.
4. Press Test Connection.
5. If AutoConfig cannot inspect the database service, for example because SAM
PowerTool runs on another computer, enter the server IP address, port,
database name, Connection Character Set and Database Character Set manually.
Using the IP address avoids MySQL host-name matching surprises on networks
that use reverse DNS. Press Test Connection again after manual changes.
6. Under Music & Paths, select the Base Music Path. Log Directory and Undo And
Backup Directory already use these defaults and may be changed if desired:
C:\ProgramData\SAM PowerTool\Logs
C:\ProgramData\SAM PowerTool\Undo
7. Expand Category to Folder Rules and press Auto-Populate. Review the preview
and add the proposed rules. These mappings must be correct before loading or
moving tracks; Auto-Populate proposes rules only where a category name and
its actual folder differ.
8. Review the Safety options. Dry-Run is enabled and write operations are
disabled by default. Enable writes only after testing your configuration.
9. Press Save.
Saved settings are stored in:
C:\ProgramData\SAM PowerTool\config.json
The database password is protected with Windows DPAPI for the local machine;
it is not saved as plain text. MySQL Defaults File is retained only for legacy
configurations and is not required for a normal new setup. When used, it is
read from the exact path entered in Settings and does not need to be in the
application installation folder.
Safety Recommendations
----------------------
- Keep a current backup of the SAM database and music library.
- Use Dry-Run before large move or repair operations.
- Review every preview before confirming a write.
- Keep Require Confirmation Before Every Write enabled.
- Store logs and undo data on a location with sufficient free space.
Changelog
---------
Version 3.9.7 - First C# / WinUI 3 forum release (2026-09-04)
New features:
- Added AutoConfig and Test Connection, including automatic detection of the
connection character set and the actual database storage character set.
- Added encrypted database-password storage using Windows DPAPI.
- Added Category to Folder Auto-Populate. It compares category names with the
database paths and folders on disk and proposes only genuine deviations.
- Added persistent Job History with full details, colored outcomes, date/time
filtering, and direct access to the history folder.
- Added responsive overflow menus so commands and tooltips remain available
when the application window is narrow.
- Added structured logs, dedicated CSV reports, guarded previews and explicit
confirmations for write operations.
Performance improvements:
- Added batched grid updates instead of refreshing the interface for every
individual category, track or maintenance result.
- Moved normal-load filesystem inspection off the UI thread and added a safe
concurrency limit for path checks.
- Reduced Fast Load to the database information actually needed for bulk moves;
it no longer performs unnecessary filesystem and metadata checks.
- Optimized maintenance scans by indexing paths and scanning each relevant
directory once per batch instead of once per track.
- Limited automatic column measurement to representative longest values rather
than measuring every row in large result sets.
- Limited the live on-screen log to the most recent 500 lines while retaining
complete log files on disk.
- Reloads only the required category metadata after category/folder operations.
Fixes and improvements compared with the PowerShell/Python release:
- Music filenames may now start with a track number or another prefix, such as
"01 - Artist - Title.mp3". The prefix is preserved and is no longer mistaken
for the artist during scans, imports or repairs.
- 250 Tracks Left now always evaluates the complete source category, keeps the
newest 250 using a stable date/ID order, and refuses identical source and
target categories.
- Connection and database character sets are handled separately. Repairs now
respect the real artist/title/filename column charset, avoiding invalid text
writes against Latin1 SAM databases.
- Characters that are valid in metadata but invalid in Windows filenames are
handled separately. For example, a colon remains in Artist or Title but is
removed from the physical filename and database filepath.
- Broken Paths and Files Not In DB now share consistent path and filename
interpretation, including prefixed filenames and existing database matches.
- Category/folder synchronization now prefers the primary folder that actually
exists and updates matching stale database references in one guarded action.
- Blank Result Cap values are treated as unlimited, while numeric limits remain
enforced consistently across normal loading and maintenance scans.
- Grid filters, horizontal scrolling, Enter-to-load, selected Fast Move rows,
per-tab status messages and tooltips in compact menus now behave consistently.
- Database maintenance summaries distinguish successful InnoDB recreate/analyze
notes from real errors and warnings.
- Repair filename comparisons and case-only renames use safer normalization and
temporary-hop handling, preventing false conflicts on Windows filesystems.
Version 3.5.29 - Final PowerShell/Python release (2026-08-21)
- Improved Sync Category Name Across The Board and category-folder resolution.
- Improved grid scrolling, compact CSV controls, Fast Load behavior, and MySQL
client character-set handling.
Code: Selecteer alles
Changelog
---------
Version 4.0.3 - Second C# / WinUI 3 forum release (2026-09-13)
New features:
- Added configurable music-path support for multi-system libraries. Duplicate
Music Path mirrors file changes from the primary library to a local folder or
network share on a best-effort basis, while Deviating Music Paths matches
database and storage paths relative to the Base Music Path folder regardless
of drive letter or network prefix. Mirror failures are reported without
cancelling the primary action.
- Added per-track move conflict handling when a target file already exists.
Choose Skip, Replace Target or Delete Source for each track, or apply one
choice to all conflicts from the confirmation window.
- Added rollback support for the five most recent eligible jobs. Job History
shows repair type, affected tracks and links rollback jobs to their original
job.
- Added live Job History search across all retained job records and details,
including artist, title, action, repair type and result information.
- Added a post-move Retry Failed Moves dialog. Only failed tracks are retried;
successful tracks remain untouched and all attempts share one rollback
journal.
- Added a configurable Leftovers control for the Tracks Left action. The button
caption follows the selected number of tracks to keep.
User interface improvements:
- Streamlined the Move Tracks filters while retaining Source and Final
Destination, with content-responsive category selectors and clearer command
names: Move Selected, Move Filtered and Deselect.
- Combined normal and fast loading in a custom orange-gold split button with
consistent hover, pressed and keyboard behavior.
- Refined command flyouts with compact, subtly translucent styling that remains
consistent across the Move Tracks and maintenance tabs.
- Streamlined the maintenance filters while preserving the fields that belong
to each repair category. The Repair Library sidebar can now be collapsed and
expanded manually with an animated chevron control.
- Added an animated Settings panel, smaller explanatory Settings text and
consistent caption punctuation.
- Added loading indicators for grid-related operations, including loading
categories and tracks, repairs, moves and rollbacks, plus per-track progress
reporting during moves.
- Improved the move confirmation window with a compact summary, orange-gold
track headings, evenly spaced conflict choices and an Apply To All section.
- Widened the Manual Artist and Manual Title fields and improved responsive
use of the available maintenance-panel width.
Bugfixes:
- Broken Paths now recognizes valid Unicode slash lookalikes in filenames and
repairs both the physical filename and database filepath consistently.
- Broken Paths preview no longer misses reparable null or malformed artist/title
filename combinations that are already detected by Files Not In DB.
- Move previews no longer treat a retained source-grid observation as a failed
move after a successful operation. Actual move errors and warnings remain
visible with their details.
- Move warnings and errors identify tracks by Artist - Title instead of only by
SongID. Duplicate source rows no longer produce repeated warnings or repeated
move attempts for the same track.
- A failed ordinary move is returned to its original file and database state
before it is offered for retry, preventing retries from continuing on a
partially completed action.
- Move rollback availability, repair selection retention and Job History links
now remain consistent after previews, applies, refreshes and rollbacks.
- Duplicate-path synchronization follows only the primary tracks that were
successfully moved, including partial batches and Tracks Left operations.
Code: Selecteer alles
Version 4.2.2 - Third C# / WinUI 3 forum release (2026-09-27)
New features:
- Added Load Full Genre Tag. This maintenance action reads only the Genre tag
from selected MP3 files and writes the complete value to the SAM database
without reloading or changing artwork. It checks the songlist.genre capacity
first and can safely upgrade the field to VARCHAR(255) with dedicated backup
and rollback data.
- Added Sync All Tags To Database. Supported MP3 tags can be synchronized to
existing SAM tracks without refreshing artwork. Empty tags intentionally
clear their matching database fields, Catalog Number is written to both the
SAM catalog field and the website-compatible info field, and malformed
picture frames no longer prevent the remaining tags from being read.
- Added an optional Issues-Only view for tag synchronization. The normal scan
remains a fast database-only track load; Issues-Only compares MP3 tags with
the database and shows only genuine differences. Single selections show a
full MP3 Tag -> Database preview, while larger selections use a compact
summary.
- Added Recovery Center at startup for interrupted rollback attempts,
unfinished or unrecorded journals and orphaned move-conflict backups.
Recovery data can be inspected, continued, rolled back or explicitly cleaned
up.
- Added a configurable startup health check for the database, music paths,
deviating path mappings, duplicate music location, log directory and undo
directory. Results remain visible until the user dismisses the window.
- Added Cancel Operation to long-running actions. Move cancellation is observed
only between tracks so the active file/database unit can finish or restore
itself before the remaining tracks are skipped.
- Added a live Technical Trace panel beside the regular log. It shows the
planning, validation, journal, database, file and recovery stages of the
current operation without changing the operation itself.
User interface improvements:
- Added row context menus to both track grids. Available commands follow the
current tab, repair category and selection, while right-clicking an already
selected row preserves the existing multi-selection.
- Added consistent command icons to toolbar buttons and context menus, and
aligned split-button, CSV and command flyouts with the same compact styling.
- Added compact InfoBars beside Preview / Results on all three tabs. They show
operation status and selection counts using the appropriate information,
success, warning or error state, and dismissible messages return correctly
when a new action produces them.
- Added keyboard operation for common loading, selection, move, maintenance and
history commands, including context-menu keyboard access.
- Added persistent window monitor, position and size handling, plus remembered
preview and log splitter positions. Invalid or unavailable saved placement is
clamped safely to a visible display.
- Added Select All and Deselect to the maintenance tab and matched command
availability across buttons, context menus and keyboard actions.
- Added icons to the remaining maintenance and Job History buttons, refined the
Settings panel framing and centralized shared colors, opacity, borders and
interaction states without changing the intended visual theme.
- Reduced unnecessary SongID columns in repair views while retaining SongID
where it is functionally relevant, such as duplicate-track inspection.
- Standardized determinate per-track progress and indeterminate preparation
states across track loading, maintenance scans, moves, repairs and rollback.
Performance improvements:
- Full Genre Tag and category-filtered tag synchronization now fetch only the
tracks in the selected category instead of scanning the complete songlist.
Large databases therefore avoid the former dependent full-table query path.
- Full Genre Tag opens each relevant MP3 only for its Genre value, while normal
Sync All Tags loading follows the lightweight Fast Load route until tag
comparison or synchronization is requested.
- Removed fixed database command timeouts from application operations. Long
queries may finish normally and remain user-cancellable through Cancel
Operation.
- Kept large-grid updates batched and sampled Technical Trace output for large
operations so progress reporting does not become a new performance
bottleneck.
Bugfixes:
- Successful maintenance actions with Failed=0 no longer appear as red error
messages. InfoBar severity now interprets completed, failed, warning and
cancellation counts instead of matching isolated words.
- Fixed tag synchronization previews to use the actual one-way MP3 Tag ->
Database direction and corrected Catalog Number handling for both SAM and the
website database fields.
- Missing or unreadable MP3 files are reported as warnings rather than false
tag differences. Invalid embedded artwork is skipped without blocking
readable text tags.
- Hardened move, import, repair, genre and tag-sync journals with pending-item
recovery, atomic writes and safer database/file rollback after interruption.
- Expired move rollback snapshots now remove only their own unshared conflict
backups, preventing old retained files from reappearing as unexplained
Recovery Center items.
- Fixed maintenance queries that loaded the complete songlist before applying a
category filter, reducing Full Genre Tag scans from database-wide work to the
selected category only.
- Fixed window-placement startup failures and ensured saved placement from a
removed or resized display cannot prevent the application from opening.
- Fixed maintenance grid column alignment and sizing regressions caused by the
preview TableView control, while preserving horizontal scrolling and row
selection behavior.
- Fixed context-menu selection flashes, inconsistent flyout backgrounds and
flyouts changing appearance after the selected-row state changed.
- Improved recovery and rollback validation so replaced, missing, foreign or
already attempted journals cannot be presented as valid rollback actions.