SAM PowerTool

Kletsen over van alles en nog wat !
Gebruikersavatar
mt5bbs
*
Berichten: 11
Lid geworden op: 13 jul 2026, 20:07
SAM-versie: 2023.6
Database: MySQL
Windows: 11

Re: SAM PowerTool

Ongelezen bericht door mt5bbs »

Indeling is niet heel vreemd.
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

Afbeelding
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

Ik zet 'm op het lijstje om toe te voegen (Feature request). Ik gebruik ook o.a. Tag&Rename. Ik mis in die app wel een dark mode waar ik fan van ben, maar helaas is deze aardig OG en wordt de app niet meer doorontwikkeld. Ik heb al eens geprobeerd om een extra licentie bij te kopen (voor m'n laptop), maar Softpointer is helemaal dood (0 respons).
Gebruikersavatar
mt5bbs
*
Berichten: 11
Lid geworden op: 13 jul 2026, 20:07
SAM-versie: 2023.6
Database: MySQL
Windows: 11

Re: SAM PowerTool

Ongelezen bericht door mt5bbs »

ben benieuwt 8-)
je kan gewoon die tag&rename op meerdere pc's installeren
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

Ik wee nog niet zeker of ik het ga toevoegen hoor, want het issue is dat dan alle mask opties moeten worden toegevoegd. En dat maakt het nogal complex. Het is niet de bedoeling dat de SAM PowerTool een MP3 tagger wordt, want daar hebben we dus al andere applicaties voor. Dit is een lastig verhaal ;-) Wellicht dat ik kan laten detecteren wat het huidige format / mask van een bestand is, en 'm dat kan laten behouden na reparatie.

Ik zal het eens proberen dan met Tag&Rename, ik heb dus wel een licentie daarvoor.
Gebruikersavatar
Kees
Beheerder
Berichten: 3186
Lid geworden op: 28 nov 2005, 22:07
SAM-versie: 4.2.2.*
Database: MySQL
Windows: 11
Locatie: Bergen op Zoom
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door Kees »

Hier werkt hij nu ! Top !
Het swappen van files zowel van map naar map en tegelijk van category naar category werkt uit de kunst.
Hier ben ik blij mee.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

Ja, dat scheelt veel gedoe en het artwork blijft gewoon werken na de verplaatsing. Ik ben ondertussen ook al een eind opgeschoten met de rebuild :)
Goed om te horen dat het bevalt. Als je nog ergens tegenaan loopt hoor ik het graag. Ik verwerk het dan in de nieuwe rebuild.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

BAM! Nieuwe versie, deze is in C# geschreven met een moderne WinUI 3 (De Windows 11 GUI). De installer is mooi compact gehouden voor dit forum, en tijdens de installatie worden de benodigde componenten gedownload en geïnstalleerd (.NET 10.0.11, Visual C++-runtimes en de Windows App Runtime 2.4. Alle downloads worden met SHA-256 gecontroleerd).
Ik heb de configuratie zoveel mogelijk geautomatiseerd om dit eenvoudiger te maken, zodat je sneller aan de slag kan (al is dit sowieso een eenmalige actie).
En aan het verzoek van @mt5bbs is ook voldaan; de tool ondersteunt nu bestandsnamen opgebouwd als tracknummer - artiest - titel, en behoudt dit format / mask in de filename op disk en filename in het filepath in de database.
Deze versie kan ook op een ander systeem worden gebruikt als waar de MySQL-server geïnstalleerd is. Er is in MySQL dan wel een account nodig met de juiste rechten om te kunnen connecten vanaf het client systeem:

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';
192.168.1.113 is dan het IP-adres van het client systeem waarop je de SAM PowerTool installeert.

Verder staat alle info in de README.txt, en ik hoor het graag als er nog iets ontbreekt of niet werkt. Ik heb nog niet alles volledig getest, dus er zou nog een issue naar boven kunnen komen.

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.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

Er kwam overigens nog naar boven dat de reparatiefunctie niet correct functioneert in deze versie, omdat er iets qua volgorde verkeerd om staat. Ik ben uiteraard weer bezig met een volgende versie waarin dat is opgelost, en nog meer polijstwerk (ook qua GUI).
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

Ik heb weer flinke stappen gemaakt met de SAM PowerTool, dus het is aan te raden om deze update sowieso te installeren :) Een genot om mee te werken inmiddels. O.a. de interface is opgeschoond, verbetert en meer responsive gemaakt. Er is een optie toegevoegd bij de Settings om de tool echt remote te kunnen gebruiken ("Deviating Music Paths"), dat was ik nog vergeten in voorgaande versie. En de optie "Duplicate Music Path" om alle acties die betrekking hebben op de files op disk te dupliceren naar een 2e folder (zodat dit meteen op beide locaties wordt aangepast). En een lijstje bugfixes etc.

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.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Gebruikersavatar
mt5bbs
*
Berichten: 11
Lid geworden op: 13 jul 2026, 20:07
SAM-versie: 2023.6
Database: MySQL
Windows: 11

Re: SAM PowerTool

Ongelezen bericht door mt5bbs »

Thanks zal hem morgen een bekijken 8-)
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

En, werkt alles naar behoren? Ik ben alweer met een nieuwe update bezig ook.
Gebruikersavatar
cyberneticorganism
VIP
Berichten: 941
Lid geworden op: 11 jun 2008, 18:14
SAM-versie: 2025.3
Database: MySQL
Windows: Virtual machine
Contacteer:

Re: SAM PowerTool

Ongelezen bericht door cyberneticorganism »

De nieuwe versies gaan sneller als de feedback hier ;) Hierbij weer een nieuwe versie met een lijstje verbeteringen. Ik kwam zelf nog het 1 en ander tegen, ook qua missende functionaliteit of wat beter kon.

Bijv. het genre field in de database (songlist tabel) wat maar 20 karakters telt. Tegenwoordig is dat echt te weinig, in elk geval voor de EDM categorieën. Tracks bestaan vaak uit meerdere categorieën, en met 20 karakters kan je er misschien net 2 kwijt als je mazzel hebt. Er is dus ook een optie toegevoegd om dat te fixen, en die genres opnieuw vanuit de MP3tag weg te schrijven naar de databasevelden.

Deze tool is zo aardig compleet en een mooie aanvulling op het muziekdatabase onderhoud & beheer, wat in SAM zelf erg beperkt is. Laat maar weten wat je ervan vind, en of je zelf nog tegen fouten / issues aanloopt, of tegen ontbrekende functionaliteit.

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.
Je hebt niet voldoende permissies om de bijlagen van dit bericht te bekijken.
Gebruikersavatar
mt5bbs
*
Berichten: 11
Lid geworden op: 13 jul 2026, 20:07
SAM-versie: 2023.6
Database: MySQL
Windows: 11

Re: SAM PowerTool

Ongelezen bericht door mt5bbs »

Thanks :)
Plaats reactie
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht