BRTPB 2 Posted November 22, 2025 Posted November 22, 2025 DJ Tags (BPM / Key / Energy) for Emby [beta] DJ Tags is an unofficial plugin for Emby Server that reads DJ-oriented metadata from your audio files and exposes it inside Emby so you can sort, filter and browse by BPM, musical key and energy level. This is a beta version – behaviour and configuration options may change, and not all edge cases have been tested yet. -------------------- Features -------------------- - Reads DJ tags directly from audio files using TagLibSharp (embedded in the plugin): * BPM from the standard ID3 tag: TBPM * Key (Camelot / musical key) from: INITIALKEY * Energy from custom ID3 TXXX frames such as: - TXXX:EnergyLevel, TXXX:ENERGYLEVEL, TXXX:Energy, etc. - Writes this information into Emby metadata: * Tags: BPM 126 Key 4A Energy 7 * Tagline (optional): 126 BPM, Key 4A, Energy 7 * SortName (optional): 126 • 4A • Track Title - Allows configuration from the Emby web UI (using Emby’s GenericEdit / Simple UI model). - Does NOT modify audio files – only Emby’s internal metadata. Supported file extensions (by simple extension check): .mp3, .flac, .m4a, .aac, .wav -------------------- Requirements -------------------- - Emby Server 4.9.1.90 (plugin was built and tested against this version). - Standard Emby runtime (.NET) as provided by the Emby Server installation. - No external TagLibSharp installation is required – a compatible TagLibSharp.dll is embedded and loaded by the plugin. -------------------- Installation – Linux -------------------- 1. Copy the plugin DLL to Emby’s plugin directory, for example: sudo cp Emby.DjTags.dll /var/lib/emby/plugins/Emby.DjTags.dll 2. Fix permissions if necessary: sudo chown emby:emby /var/lib/emby/plugins/Emby.DjTags.dll sudo chmod 644 /var/lib/emby/plugins/Emby.DjTags.dll 3. Restart Emby Server: sudo systemctl restart emby-server 4. Open the Emby web UI → Dashboard → Plugins. You should see: “DJ Tags (BPM / Key / Energy)” with the green DJ Tags logo. -------------------- Installation – Windows -------------------- Typical plugin folders (depending on installation): C:\Users\<YourUser>\AppData\Roaming\Emby-Server\plugins C:\ProgramData\Emby-Server\plugins 1. Copy Emby.DjTags.dll into the plugins folder. 2. Restart Emby Server (from Services or via the Emby tray / GUI). 3. Open Dashboard → Plugins and confirm that “DJ Tags (BPM / Key / Energy)” appears in the list. -------------------- Configuration -------------------- After installation: 1. Open Dashboard → Plugins in Emby. 2. Click on “DJ Tags (BPM / Key / Energy)” to open the configuration page. 3. Available options: - Clean existing DJ tags in Emby When enabled, before writing new values the plugin will remove from Emby’s Tags any entries starting with: BPM Key Energy This does not modify audio files – only Emby’s stored tags are cleaned and rebuilt. - Write BPM / Key into sort name When enabled, Emby’s SortName field for the audio item will be prefixed like: 126 • 4A • Track Title This allows you to sort by name and effectively get ordering by BPM (and key). - Write summary into tagline When enabled, the Tagline field is set to a short summary, e.g.: 126 BPM, Key 4A, Energy 7 4. Save the configuration. 5. Run Refresh metadata on selected items / folders to apply these rules to your library. -------------------- Technical overview -------------------- - The plugin uses an embedded TagLibSharp.dll and a reflection-based helper (TagLibShim) to read: * Tag.BeatsPerMinute -> BPM * Tag.InitialKey -> Key * ID3v2 TXXX frames -> Energy (integer) - Tag values are normalised and mapped to Emby’s Audio item: * BPM becomes “BPM <n>” * Key becomes “Key <key>” * Energy becomes “Energy <n>” * Optional summary goes to Tagline. * Optional BPM/Key prefix goes into SortName. Emby.DjTags.dll
BRTPB 2 Posted November 23, 2025 Author Posted November 23, 2025 DJ Tags (BPM / Key / Energy) – Emby Plugin Version: v2 (beta) 1. Overview ------------- DJ Tags is an Emby server plugin that reads DJ‑oriented metadata from your audio files and writes it into Emby, so you can filter, sort and search your library more easily. The plugin focuses on: - BPM - Musical key (Camelot / INITIALKEY) - Energy level - Standard Genre and Label/Publisher - Custom DJ tags stored in TXXX frames All logic runs on the server side during library scans / metadata refresh, so your Emby clients do not need any modifications. 2. Currently implemented features (v2) --------------------------------------- 2.1. Core behaviour - Reads BPM from the standard BPM tag (e.g. TBPM in ID3). - Reads musical key from INITIALKEY (Camelot style is preserved, e.g. “4A”). - Reads energy from common TXXX user text frames, for example: - TXXX:EnergyLevel - TXXX:ENERGYLEVEL - TXXX:Energy (The plugin parses values like “7 - Armada Music” and extracts the numeric part.) - Writes these values into Emby Tags as: - "BPM 126" - "Key 4A" - "Energy 7" 2.2. Standard MP3 tags → Emby Tags - Optional import of standard MP3 fields into Emby Tags: - Genre → Emby Tags - Label/Publisher → Emby Tags - Imported values are passed through the same normalisation logic as other tags (split by separators, ignore tokens, etc.). 2.3. Tag cleanup and normalisation - Option: “Clean existing DJ tags in Emby” - Removes existing Emby Tags that start with: - BPM - Key - Energy - Plus any extra prefixes the user provides. - This is useful when you are migrating from an older script or plugin, or if you change your tagging scheme. - Option: “Extra Emby tag prefixes to clean (semicolon-separated)” - Example: “Phase;Mood;Crate” - Before writing any new tags, the plugin removes any Emby Tag whose value starts with one of the configured prefixes. - Option: “Split tags by separators (characters)” - Example: “|;/” - A tag like “House | DJPromo” is split into separate values: - “House” - “DJPromo” - Option: “Tag values to ignore (semicolon-separated)” - Example: “Promo;DJPromo;Web” - After splitting tags, any value that exactly matches one of these tokens (case-insensitive) is discarded. - So “House | DJPromo” becomes just “House” in Emby Tags. 2.4. Custom TXXX user text frames - Option: “Custom TXXX user text frames to read (semicolon-separated)” - Example: “Mood;MyTag1;MyTag2” - For each configured TXXX description, the plugin reads all text values from that frame and adds them to Emby Tags, going through the same: - split by separators - ignore tokens - de-duplication (no duplicate tags in Emby) 2.5. Tagline and sort name - Option: “Write summary into tagline” - Writes a short summary like: - “126 BPM, Key 4A, Energy 7” - into the item’s Tagline field, which is often visible in list views. - Option: “Write BPM / Key into sort name” - Prefixes the item’s SortName with BPM and key: - “126 • 4A • Track Title” - This allows sorting your library by BPM inside Emby. 2.6. Master switch - Option: “Enable plugin processing” - If unchecked, the plugin does not modify any metadata. - This makes it easy to temporarily disable all DJ Tags behaviour without uninstalling the plugin. 3. Planned / upcoming features (roadmap) ---------------------------------------- The following features are planned for future versions of the plugin and are already reflected in some of the configuration options: 3.1. Source profiles and priorities - Separate “profiles” / parsers for different DJ ecosystems, for example: - Mix In Key - Rekordbox - Traktor - Each source will have: - an enable/disable checkbox, - a numeric priority (lower number = higher priority). - The plugin will decide which tags to trust first based on these priorities (for example, prefer Mix In Key energy over a generic TXXX if both exist). 3.2. Additional DJ fields - Support for more DJ-specific fields, such as: - Mood - Phase / Set role (e.g. Warmup / Peak / Closing) - Custom rating or intensity scales - Mapping these fields to either Emby Tags or other metadata fields, depending on user preference. 3.3. Advanced genre / tag cleaning - More flexible rules for cleaning noisy tags, for example: - Remove tags that contain certain substrings (not only exact matches). - Normalize common variations (e.g. “House”, “House Music”, “House ”). 3.4. Profiles per library or per path (long-term idea) - Ability to apply different rules to different libraries or folder trees, for example: - one profile for “Streaming downloads”, - another for “Club promos”, - another for “Old CD rips”. 3.5. Export / import of settings - Simple export / import of plugin configuration to a JSON file, so you can: - back up your settings, - copy them between servers, - share presets. 4. Requirements ---------------- - Emby Server 4.9.x (tested with 4.9.1.90). - .NET 8 runtime (used by the Emby server build). - Supported audio containers (for DJ tags): - MP3 (ID3v2) - FLAC - M4A / AAC - WAV (where tagging is supported). 5. Installation ---------------- 1. Build the plugin: - Open a terminal in the Emby.DjTags project folder. - Run: - dotnet restore - dotnet build -c Release - The compiled plugin file will be located in: - bin/Release/net8.0/Emby.DjTags.dll 2. Deploy to the Emby server: - Copy Emby.DjTags.dll to the Emby plugins directory, for example: - /var/lib/emby/plugins/Emby.DjTags.dll (Linux) - C:\Users\[User]\AppData\Roaming\Emby-Server\plugins\Emby.DjTags.dll (Windows) - Ensure the file is readable by the Emby service user (e.g. chown emby:emby on Linux). 3. Restart Emby server: - On Linux (systemd): - sudo systemctl restart emby-server - Or restart the service via your system’s service manager. 4. Verify in the web UI: - Go to: Dashboard → Plugins. - You should see: “DJ Tags (BPM / Key / Energy)” with the configured version. 6. Configuration ----------------- Once the plugin is installed and Emby has been restarted: 1. Open the Emby web interface. 2. Go to: Dashboard → Plugins → DJ Tags (BPM / Key / Energy). 3. Adjust options as desired: - Enable plugin processing. - Decide if you want to clean existing DJ tags in Emby. - Configure extra prefixes to clean (for old or custom tag schemes). - Set tag split separators (e.g. “|”). - Configure tag values to ignore (e.g. “DJPromo;PromoOnly;Web”). - Enable import of standard Genre and Label into Emby Tags if desired. - Configure any custom TXXX frames you want to import (e.g. “Mood;MyTag1”). - Decide whether to write BPM/Key into SortName and the summary into Tagline. 4. After changing options: - It is recommended to restart Emby once so the plugin runs with a clean state. - Then run a library scan or “Refresh metadata” on the desired library or folder. 7. Notes and recommendations ----------------------------- - The plugin is currently marked as a **beta** build (v2): - Use it first on a test library or a smaller subset of your music to make sure the behaviour matches your expectations. - Once you are satisfied with the results, you can refresh your full library. - If you previously used other scripts or plugins that wrote DJ-related tags into Emby Tags (e.g. old BPM/Key/Energy formats), use: - “Clean existing DJ tags in Emby” - plus your own extra cleanup prefixes before doing a full library refresh. - The plugin does not modify the underlying audio files – it only reads tags from the files and writes metadata into Emby’s internal library. - If something looks wrong on a specific track: - Check the raw tags in your tag editor (ID3/FLAC/M4A fields and TXXX frames). - Verify your plugin settings (split characters, ignore tokens, cleanup prefixes). - Refresh metadata just for that track and watch the Emby server log for “DJ Tags” messages. 8. Changelog (high level) -------------------------- v2 (this version, beta) - Added configuration UI with: - master on/off switch for processing, - DJ tag cleanup options and custom prefixes, - tag splitting and ignore lists, - TXXX custom tag reading, - optional import of standard Genre and Label/Publisher into Emby Tags, - tagline summary writer, - BPM/Key-based SortName. - Improved stability and better logging when TagLibSharp cannot be loaded or certain tags are missing. Future versions (planned) - Source profiles and priorities (Mix In Key / rekordbox / Traktor). - More DJ fields (mood, phase / role, etc.). - Smarter tag cleaning and normalisation rules. - Optional per-library / per-path profiles. - Export / import of plugin settings. Emby.DjTags.dll
BRTPB 2 Posted November 23, 2025 Author Posted November 23, 2025 Emby.DjTags.dll DJ Tags (BPM / Key / Energy) – Emby Plugin ========================================= Version: 2.3.0.0 (beta) Overview -------- DJ Tags is an Emby plugin designed for DJs and advanced music collectors. It reads BPM, musical key, energy level and other useful metadata directly from audio file tags (MP3/ID3, etc.) and mirrors them into Emby fields: - Emby Tags (e.g. "BPM 126", "Key 8A", "Energy 7", "Rating 4★") - SortName (for BPM/key-based sorting) - Tagline (short summary in list views) The goal is to make Emby much more usable as a DJ music library browser, without changing your existing tagging workflow in Mix In Key, Rekordbox, Traktor, Serato, VirtualDJ or other tools that write standard audio tags. Key Features ------------ - Read BPM (TBPM) from audio file tags and expose as: - Emby tag: "BPM xxx" - Optional prefix in SortName: "126 • 4A • Track Title" - Read musical key: - From standard InitialKey tag (TKEY), e.g. "8A", "1B", "Am" - Optional fallback: detect Camelot-style key from the beginning of the Comment field if InitialKey is empty (Traktor/Serato/VDJ compatibility). - Exposed as Emby tag "Key xx" and used in the SortName prefix. - Read energy level: - From custom TXXX frames like "EnergyLevel", "ENERGYLEVEL", "Energy", etc. - Handles values such as "7 - Label" by taking the leading number. - Exposed as Emby tag "Energy x" and optionally in tagline. - Optional import of Rating as "Rating N★": - Reads POPM (Popularimeter) rating from audio files (e.g. ratings set in Windows Explorer / WMP or other taggers that use POPM). - Maps common rating scales (0–5, 0–10, 0–100, 0–255) into 1–5 stars. - Exposed as Emby tag "Rating N★" (N = 1–5). - Optional mirroring of standard Genre and Label/Publisher into Emby Tags: - Genre → "Genre: Pop", "Genre: House" etc. - Label / Publisher → "Label: Warner Music", etc. - Uses the same splitting and ignore rules as other tags. - Support for custom TXXX user text tags: - You can specify up to ~10 user text frames (TXXX descriptions), e.g. "Mood;SubGenre;Phase;MyTag1", and they will be imported as normal Emby Tags (with split/ignore rules applied). - Powerful tag cleanup and normalization: - Optional full wipe of all existing Emby Tags before plugin writes anything (for clean, plugin-controlled tag sets). - Or selective cleanup only for DJ-related tags (BPM/Key/Energy/Rating) and any additional prefixes you configure. - Tag splitting by characters (e.g. '|;/' to split "House | DJPromo"). - Ignore list for tag values (e.g. "Promo;DJPromo;Web") so unwanted tokens are removed from Emby Tags. Installation ------------ 1. Build the plugin project to obtain `Emby.DjTags.dll`. Target framework is .NET compatible with your Emby Server (this version is designed for Emby 4.9.x / .NET 8 runtime). 2. Copy `Emby.DjTags.dll` into your Emby plugins folder, e.g.: - Linux (typical): `/var/lib/emby/plugins` - Windows (typical): `%AppData%\Emby-Server\programdata\plugins` Make sure file owner and permissions allow the Emby service user to read the DLL (on Linux: usually `emby:emby`). 3. Restart Emby Server. 4. Go to: Dashboard → Advanced → Plugins You should see an entry similar to: "DJ Tags (BPM / Key / Energy)" Configuration ------------- Open the plugin configuration via the Emby web UI: Dashboard → Advanced → Plugins → DJ Tags → Configure Available options (2.3.0.0): Master switch ~~~~~~~~~~~~~ - **Enable plugin processing** - If unchecked, the plugin will not modify any metadata. - Emby restart is recommended after changing this option. Cleaning behaviour ~~~~~~~~~~~~~~~~~~ - **Clean existing DJ tags in Emby** - Removes Emby Tags that start with: - "BPM", "Key", "Energy", "Rating", and any custom prefixes you add. - Useful when you change your tagging scheme and want Emby to reflect new BPM/Key/Energy/Rating values. - Ignored if "Clean ALL existing Emby Tags before writing" is enabled. - **Clean ALL existing Emby Tags before writing** - If enabled, all existing Emby Tags for the item are removed before the plugin writes anything. - Use when you want Emby Tags to be fully controlled by this plugin (BPM/Key/Energy/Rating/Genre/Label/custom TXXX), and you don't care about previously manually-added tags. Basic output options ~~~~~~~~~~~~~~~~~~~~ - **Write BPM / Key into sort name** - Prefixes `item.SortName` with BPM and key, e.g.: `126 • 4A • Track Title` - Allows you to sort tracks by BPM in Emby interfaces. - **Write summary into tagline** - Writes a condensed summary into the `Tagline` field, e.g.: `126 BPM, Key 4A, Energy 7` - This is purely cosmetic, making list views more informative. Tag cleanup & normalization ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Extra Emby tag prefixes to clean (semicolon-separated)** - Additional tag prefixes to remove when "Clean existing DJ tags" is enabled. - Example: `Phase;Mood;Crate` - **Split tags by separators (characters)** - Characters used to split multi-value tags. - Example: `|;/` will split `"House | DJPromo"` into `"House"` and `"DJPromo"`. - **Tag values to ignore (semicolon-separated)** - Tag values to skip after splitting. - Example: `Promo;DJPromo;Web` will remove these values. - **Custom TXXX user text frames to read (semicolon-separated)** - Names of user text frames (ID3 TXXX descriptions) to import as tags. - Example: `Mood;SubGenre;MyTag1`. Import from standard fields ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Import standard Genre into Emby Tags** - When enabled, the standard audio Genre field is mirrored into Emby Tags. - The same split and ignore logic is applied. - **Prefix imported Genre with 'Genre:'** - If enabled, imported genres become tags like `Genre: Pop` instead of `Pop`. - **Import standard Label/Publisher into Emby Tags** - Mirrors the standard label/publisher field into Emby Tags. - **Prefix imported Label with 'Label:'** - If enabled, imported labels become tags like `Label: Warner Music`. - **Import Rating into Emby Tags** - Reads POPM rating from the file (e.g. ratings set via Windows Explorer). - Maps internal rating scales (0–5, 0–10, 0–100, 0–255) into 1–5 stars. - Adds an Emby Tag: `Rating N★` (for N from 1 to 5). Special behaviour ~~~~~~~~~~~~~~~~~ - **Detect key from Comment when InitialKey is empty** - If the standard InitialKey tag is missing/empty, the plugin will try to detect a Camelot-style key from the beginning of the Comment field, e.g. `"8A Some text"` → key `8A`. - This is mainly for compatibility with workflows where Traktor/Serato/ VirtualDJ store key in Comment instead of InitialKey. - The Comment itself is NOT imported as a tag. Usage notes ----------- - After changing plugin options, you should: - Restart Emby (recommended for consistent behaviour), and - Run a library scan or refresh metadata for affected items. - Rating: - To test rating, set a star rating on an MP3 file in Windows Explorer (Properties → Details → Rating), then refresh metadata in Emby. If "Import Rating into Emby Tags" is enabled, you should see `Rating N★` in the Tags section of that track. - Energy: - Energy is read from custom TXXX frames typically written by tools like Mix In Key (e.g. `TXXX:EnergyLevel = "7 - Label"`). If your files do not contain such frames, Energy will simply be absent. Known limitations ----------------- - The plugin only sees what is physically stored in the audio file tags. It cannot read internal databases of DJ software (Rekordbox/Traktor/ Serato/VirtualDJ) unless those programs write data back into tags. - Key from Comment: - Only the first token of the Comment is inspected, and only for simple Camelot codes like `8A` / `10B`. Other key notations in Comment are ignored unless also present in InitialKey. - Rating: - Only POPM-based ratings are supported. If your application stores rating in a private field or its own database, the plugin will not see it. Version / Changelog (short) --------------------------- - 2.3.0.0 (beta) - Added Rating import as "Rating N★" with smart mapping from POPM/ common rating scales. - Added optional detection of key from Comment when InitialKey is empty. - Added option to clean ALL existing Emby Tags before writing. - Added "Genre:" and "Label:" prefixes for imported Genre/Label tags. - Extended tag cleanup to also remove "Rating" tags when cleaning. - Various internal improvements and cleanup. - 2.0.x (beta) - Configuration UI, Genre/Label import, custom TXXX support, tagline and BPM/Key-based SortName prefix, embedded TagLibSharp loader, Energy detection. - 1.0.x (initial beta) - Initial public version with BPM/Key/Energy tags in Emby.
BRTPB 2 Posted November 23, 2025 Author Posted November 23, 2025 Now it would be nice to have a playlist builder that uses tags to build playlists according to the principles of Harmonic Mixing (MIX IN KEY), or that selects the next track that best fits (various configurations of genre, danceability, energy, BPM, KEY). It would be great to have Auto DJ in Emby.
BRTPB 2 Posted November 23, 2025 Author Posted November 23, 2025 I have Emby on Ubuntu. To install it, I copied the DLL to a folder on the server and then used Putty: sudo systemctl stop emby-server sudo cp /data/_Plugin/Emby.DjTags.dll /var/lib/emby/plugins/Emby.DjTags.dll sudo chown emby:emby /var/lib/emby/plugins/Emby.DjTags.dll sudo chmod 644 /var/lib/emby/plugins/Emby.DjTags.dll sudo systemctl start emby-server
BRTPB 2 Posted December 13, 2025 Author Posted December 13, 2025 (edited) DJ Tags (BPM / Key / Energy) – Emby Plugin CHANGELOG ============================= Version 2.3.1.0 (2025-12-13) ----------------------------- - New: Improved handling of custom TXXX user text tags - Custom tags defined in the plugin configuration (e.g. "Danceability;Mood") now include the tag name as a prefix in Emby Tags. - Output format: "<Label>: <Value>", with automatic label normalization. Examples: - TXXX:DANCEABILITY_LEVEL = "3" → Emby Tag: "Danceability Level: 3" - TXXX:Mood = "Happy | Deep" → Emby Tags: "Mood: Happy", "Mood: Deep" - Label normalization rules: - Underscores "_" and hyphens "-" are converted to spaces. - The label is converted to Title Case using invariant culture, so "DANCEABILITY_LEVEL" → "Danceability Level". - The tag splitting and ignore rules still apply: - `TagSplitSeparators` are used to split multi-value fields. - `TagExcludeTokens` are applied to each value after splitting. - Backwards compatibility: - If a custom tag is encountered in the older format (where only the value was passed through), the plugin falls back to the previous behaviour and imports it as a plain value tag. - Internal: - Refactored custom TXXX handling to carry both the description and the raw value via an internal separator and format them in the provider. Version 2.3.0.0 ----------------------------- - New: Optional import of Rating into Emby Tags as human-friendly stars: - Tag format: "Rating N★" (N = 1–5). - Automatically maps a variety of common raw rating scales (0–5, 0–10, 0–100, 0–255 / POPM) into 1–5 stars. - Controlled via the "Import Rating into Emby Tags" option. - New: Optional key detection from Comment when InitialKey is missing - If InitialKey is empty and this feature is enabled, the plugin will try to detect a Camelot-style key (e.g. "8A") from the beginning of the Comment field. - This improves compatibility with some Traktor / Serato / VirtualDJ workflows that store key in the Comment field instead of the standard InitialKey tag. - The Comment itself is NOT imported as an Emby Tag; only the detected key is used. - New: Option to clean ALL existing Emby Tags before writing - "Clean ALL existing Emby Tags before writing" removes all existing Emby Tags for an item before the plugin adds new ones. - This overrides the more conservative "Clean existing DJ tags in Emby" behaviour and is useful when you want DJ Tags to fully control the tag list (BPM/Key/Energy/Rating/Genre/Label/custom TXXX). - New: "Genre:" and "Label:" prefixes for imported standard fields - Imported Genre values can now be prefixed with "Genre:", resulting in tags such as "Genre: Pop" instead of a bare "Pop". - Imported label/publisher values can be prefixed with "Label:", e.g. "Label: Warner Music". - Both features are controlled by "Prefix imported Genre with 'Genre:'" and "Prefix imported Label with 'Label:'" options. - Change: DJ tag cleanup now also removes "Rating" tags - When "Clean existing DJ tags in Emby" is enabled, the plugin will remove Emby Tags that start with "Rating" in addition to BPM/Key/Energy and any user-defined prefixes. - Internal: POPM-based rating detection from ID3v2 - Rating is now read directly from ID3v2 POPM (Popularimeter) frames via TagLibSharp reflection, including common POPM "user" identifiers such as those used by Windows Media Player / Windows Explorer. Previous versions (high level) ------------------------------ Version 2.1.x (beta) - Added configuration UI (Emby GenericEdit) with: - Master on/off switch for plugin processing. - DJ tag cleanup options with custom prefixes. - Tag splitting and ignore token lists. - Optional import of standard Genre and Label/Publisher into Emby Tags. - Custom TXXX user text tag reading (e.g. "Mood;SubGenre;MyTag1"). - Optional tagline summary (e.g. "126 BPM, Key 4A, Energy 7"). - BPM/Key-based SortName prefix (e.g. "126 • 4A • Track Title"). - Embedded TagLibSharp loader (with fallback to external TagLibSharp.dll) to avoid hard dependency issues on Emby installations. - Energy detection from TXXX frames such as "EnergyLevel" / "ENERGYLEVEL" / "Energy" with smart parsing of values like "7 - Label". Version 2.0.x (initial public beta) - First public beta of DJ Tags plugin for Emby: - Read BPM, Key, Energy from audio file tags. - Write them into Emby Tags as "BPM xxx", "Key xx", "Energy x". - Basic tag cleanup and simple configuration options. Emby.DjTags.dll Edited December 13, 2025 by BRTPB
BRTPB 2 Posted December 13, 2025 Author Posted December 13, 2025 After scanning, the tags appear as below:
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now