Skip to content

Releases: mooseses/TunesBack

v1.2.0

28 Dec 18:39
f1f598e

Choose a tag to compare

🎉 TunesBack v1.2.0 Release

This update introduces a significant overhaul to the codebase, adding musical age insights, 7 unique and shareable Spotify-style "Wrapped" cards, and smart, robust network path resolution logic with cross-platform support.

Added

  • Wrapped Cards: Generate shareable, Spotify-style visual summaries of your listening habits. Includes 7 unique card types: Top Songs, Top Albums, Top Genres, Top Song Hero, Minutes Listened, Listening Age, and a comprehensive Summary card.
  • Listening Age Algorithm: A new metric that estimates your "musical age" based on the release years of your most-played tracks.
    • Note: Check the Listening Age section in the README for a detailed breakdown of how this "reminiscence bump" calculation works!
  • Smart New Music Detection: Multi-stage "New Finds" validation using play count differentials, Persistent ID matching, and Date Added verification to accurately identify genuine discoveries.
  • Expanded Network Share Support: Seamlessly access music stored on remote servers. Now includes intelligent path resolution for:
    • Windows: UNC paths (\\server\share)
    • macOS: /Volumes mounts
    • Linux (GNOME): GVFS mounts (smb-share:...)
    • Linux (KDE): Dolphin/kio-fuse mounts (kio-fuse-*/smb/...)
  • Album Art Extraction: Automatically extracts high-quality artwork directly from your audio files' embedded metadata (ID3, MP4, FLAC, etc.) using Mutagen.

Changed

  • UI Overhaul: A cleaner, more intuitive interface featuring a new Tab Editor to show/hide specific categories, and an Item Limits expansion tile to customize ranking depth (5–100 items).
  • Smart Path Resolution: Improved logic to handle cases where your XML uses hostnames but your system mounts via IP, or when files have been moved.
  • Performance: Optimized album art pipeline with optional pre-caching to keep the UI responsive while loading large libraries.
  • Logging: Added a "Debug Logging" toggle in settings and a quick-access button to open your platform-specific log folder for easier troubleshooting.

Fixed

  • Linux Pathing: Resolved issues where network shares connected via Dolphin (kio-fuse) were not being correctly mapped to iTunes XML paths.
  • Thread Safety: More robust analysis threading to prevent UI hangs during large library imports.
  • Empty States: Friendly placeholders now appear when no data is found for a specific period or category.

1.2.0-RC

20 Dec 05:35

Choose a tag to compare

1.2.0-RC Pre-release
Pre-release

TunesBack v1.2.0 Release Candidate

This Release Candidate introduces a new logging system, multiple improvements to the main app, and a complete redraw of the “wrapped” cards using PIL library. The redrawn cards now more closely resemble Spotify’s styled “wrapped” cards.

How to find this and future development builds: https://github.com/mooseses/TunesBack/actions

Improvements

New Logging System

  • Added a file-based logging system. Logs are now written to platform-specific directories (AppData/Library/Cache), with support for directly opening log directory straight from the app.

Screenshot 2025-12-19 at 6 16 16 AM
New "Enable Debug Logging" checkbox with external link to log directory

Tab Editing UI

  • Lets you choose which views (Songs, Albums, Artists, Genres, New Finds, Skipped, Years) are shown across the top of the results area. This helps clean up the UI and focus on the information you care about.
  • Automatic behavior: TunesBack shows a slightly different set of tabs when you compare two snapshots versus when you view a single snapshot. For example, the "New Finds" tab only makes sense in compare mode and will be disabled or hidden in single-library mode.
  • How to change tabs: Click the "Edit" button (pencil icon) to open the tab editor. Check the tabs you want visible and uncheck the ones you don’t. Press Save to apply your choices.

Screenshot 2025-12-19 224808
Click the pencil icon to choose the visibility of your tabs

image
Tabs/categories selection

Wrapped Cards Redraw

We put in the effort to completely redraw the new Wrapped cards to match the “Spotify Wrapped” style. This is the most time consuming part of the update and we hope you enjoy the new style!

Cards Overview

  • Top Albums
    A tiled gallery of your top 5 albums with large cover art and a compact ranked list.

  • Top Genres
    Bold, typographic genre tiles rendered as stacked “bubbles” for your top genres.

  • Listening Age
    A styled numeric card showing your calculated listening age with a contextual subtitle and color accent based on age.

  • Top Songs (List)
    A clean ranked list of your top songs with small cover thumbnails and song/artist lines.

  • Top Song (Single)
    A hero-style single-song card. Large cover, title, artist and total plays.

  • Minutes Listened
    A stats card showing total minutes (with formatted digits) and a days-converted summary.

  • Summary Card (NEW)
    A composite overview: stylized year artwork, top-artist spotlight (artwork), top artists & songs lists, minutes, and top genre. Shuffles between 5 background shapes. Accent color determined by you calculated listening age.

Notes

  • The order of items displayed in all Wrapped cards is determined by the “Ranked By” selector. You’ll need to click the “Generate” button again if you want to change how they are ranked.
  • If artwork is missing, check the “Enable Debug Logging” option to see why it is missing.
  • You might notice that some card types (such as Top Artists) are missing, and some images may be missing the squiggly lines seen in the original. We are working on adding the Top Artists card back in future releases while figuring out how to draw these squiggly lines, as they are not easy to replicate.
  • Your top artist artwork is set to display the most-listened-to album by that artist, since TunesBack is completely offline and doesn’t use third party databases or tagging services, so we have to be a little bit creative.

Known limitations & notes

  • Path resolution is best-effort for unmounted network shares; if you still see missing art, ensure network volumes are mounted and accessible from the OS. Enable the shiny new "Enable Debug Logging" option to see exactly why your album art is missing.
  • As expected, artwork will not display if you have moved your entire music library and the XML entry does not match your current music library directory. We hope to come up with a solution to address this in future releases. (Not guaranteed)
  • Artwork extraction still depends on the audio file’s tags. Using “Get Album Art” in iTunes will not work because iTunes shuffles the album art retrieved this way and places it in a temporary folder, making it very difficult to extract. We recommend manually tagging album art or using third-party software.
  • Asian characters will not show in this beta version. We're working out a fallback mechanism for fonts that support Asian text in the next beta or in the final release.
  • We plan to push the final release version before Christmas, so stay tuned!

We Want Your Feedback!

Help us improve the app by opening a ticket Here.

1.2.0-b1

07 Dec 21:37

Choose a tag to compare

1.2.0-b1 Pre-release
Pre-release

TunesBack v1.2.0-b1 Pre-Release

This pre-release introduces a significant overhaul to the analytics engine and visualization capabilities. Key additions include a comprehensive "Wrapped" card generator and a novel "Listening Age" metric based on music psychology. We have also completely re-engineered the "New Finds" tracking logic for accuracy and implemented cached artwork rendering for instant UI performance.

Compatibility Note: This build is optimized and tested for Windows. The macOS and Linux versions are currently experimental and may exhibit issues with file path resolution and font rendering.

How to find this and future development builds: https://github.com/mooseses/TunesBack/actions


Key Highlights

Introducing Wrapped Cards

Generate and export high-quality, shareable visual summaries of your listening habits.

  • Top Songs & Albums: Visual lists with embedded album artwork.
  • Top Genres: A breakdown of your most consumed categories.
  • Artist Spotlight: A dedicated card for your most-played artist.
  • Listening Age: A unique metric analyzing the "era" of music you gravitate toward.
  • More card types to come!
image

Listening Age Metric

We have designed a new metric that calculates the "age" of your music taste based on local metadata rather than using demographic data provided by data harvesting corporations like Spotify.

How the Calculation Works
The algorithm relies on the "reminiscence bump," a psychological concept suggesting people connect most strongly with music discovered during formative years (typically late adolescence).

  1. Data Aggregation: The system scans the library history and bins play counts by the original Release Year of every track.
  2. Peak Era Identification: It applies a sliding window analysis to identify the specific 5-year span where you have the highest density of listening activity.
  3. Formative Year Assumption: The algorithm assumes the midpoint of this 5-year peak represents your "musical prime," hypothetically set at age 18.
  4. Projection: The calculation determines the difference between the peak era and the current year to assign a "Listening Age."

Example: If a library is dominated by music released between 2010 and 2015, the algorithm identifies ~2012 as the peak. Assuming the user was 18 in 2012, the system calculates a Listening Age of roughly 31 in 2025.

Below is a graph demonstrating how this new algorithm works:

Listening_age

Smarter "New Finds" Tracking

The "New Finds" tab has been re-engineered to eliminate false positives caused by metadata edits.

  • Previous Behavior: Correcting a typo or changing an album title would cause the system to identify tracks as "New" because the metadata signature changed.
  • Improved Logic: The system now tracks the unique Persistent ID assigned by iTunes/Apple Music.
  • The Result: If you rename a song or edit tags, TunesBack recognizes it is the same file from the previous snapshot. A track is now classified as "New" only if its unique ID was completely absent from the library at the start of the selected period.

UI & Performance Improvements

  • Album Art Integration: Results lists now render album artwork alongside track details.
  • Performance Caching: Implemented an artwork caching system to ensure instant responsiveness when switching tabs, eliminating lag from file extraction.
  • Expanded Analytics: Added specialized tabs for Genres, New Finds, Skipped Tracks, and Years.
  • Tab Editor: Users can now customize visible tabs to declutter the dashboard.

Technical Fixes

  • Path Resolution: Integrated robust urllib parsing to handle Windows local paths, URI schemes, and network shares correctly during metadata extraction.
  • Font Handling: Added automatic system font detection (e.g., Arial on Windows) to ensure text renders correctly on generated images.

We Want Your Feedback!

Help us improve the app by opening a ticket Here.

v1.1.0 Release

05 Dec 01:33
be8cf5a

Choose a tag to compare

🎉 TunesBack v1.1.0 Release

Added

  • Linux (x86_64) and macOS (Universal) support. More architectures to come.

Changed

  • Refactored folder scanning and XML parsing helpers into tighter, easier‑to‑read functions while preserving behavior.
  • Simplified analysis execution path (no background thread/cancel button) to make runs more predictable and easier to debug.
  • Streamlined sidebar and header layout; window configuration is now unified across platforms instead of having multiple platform branches.
  • Improved handling of empty datasets so KPI cards and lists show friendly placeholders instead of failing on missing rows.

Fixed

  • More robust handling of edge cases in snapshot selection (start/end dates and comparison toggle states) to avoid inconsistent dropdown states.

v1.0.0 Release

01 Dec 03:00
be8cf5a

Choose a tag to compare

🎉 TunesBack v1.0.0 Release

We are thrilled to launch the first major release of TunesBack! This application allows you to analyze and visualize your long-term iTunes listening history using your XML library snapshots.

Highlights

  • Snapshot Comparison: Easily calculate play count and time growth between any two saved library dates.

  • Modern UI: Features a custom, dark/light theme-ready interface built on Flet/Flutter.

  • Top Rankings: See your top artists, albums, and songs ranked by total time listened or play count.

Availability

⚠️This version is currently available for Windows only as it is still WIP for other platforms.

We wish to expand support for macOS and Linux soon.