{"id":62,"date":"2026-10-08T21:10:30","date_gmt":"2026-10-08T21:10:30","guid":{"rendered":"https:\/\/wordpress.theicealphawolfden.com\/?p=62"},"modified":"2026-10-08T21:10:31","modified_gmt":"2026-10-08T21:10:31","slug":"62","status":"publish","type":"post","link":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/","title":{"rendered":""},"content":{"rendered":"\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>PROJECT UPDATE \u00b7 BEFORE THE FLATPAK EDITION<\/strong><\/p>\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">A small vacation project became a full library tool.<\/h2>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I started with a simple idea: make my audiobooks easier to manage. By this update, the tool could scan my collection, organise authors and series, edit metadata, track reading, and prepare files for the rest of my setup.<\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">This is the final update I posted about that earlier version, before I moved on to creating a Flatpak version of the program.<\/p>\n\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">When I began during my vacation, I expected a small utility. The project kept growing because each improvement made another part of the library easier to work with. Around four weeks of trial and error went into fixing bugs, improving the interface, and getting the different pieces to work together.<\/p>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>BROWSE THE COLLECTION<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Authors, series, and recognisable artwork in one visual overview.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>KEEP MY OWN RECORD<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Total-book counts, read counts, comments, and links to my reviews.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>ORGANISE THE FILES<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Editable tags, consistent names, and generated metadata files.<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">The library finally looked like a library<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The main overview gave me a way into the collection through authors and covers. Instead of starting with a directory full of filenames, I could recognise the person or book I was looking for and work from there.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/cXp0BWL4\/Update-library-overview.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:1897px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/cXp0BWL4\/Update-library-overview.png\" alt=\"Original audiobook-manager library overview showing a grid of author cards with portraits or cover images, number badges, and the Start Library Scan button.\" width=\"1897\" height=\"823\" style=\"display:block;width:100%;max-width:1897px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The earlier manager\u2019s library overview: author cards, artwork, count badges, and a Start Library Scan control. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/cXp0BWL4\/Update-library-overview.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The screenshot shows author cards using a mixture of portraits, cover art, and placeholder images. That visual approach mattered to me: familiar artwork makes a large collection easier to browse, while the library scan brings the local files into the manager\u2019s overview.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">From an author to the series<\/h3>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Opening an author took me to their series. In the Bruce Sentar example, the collection includes <em>A Mage\u2019s Cultivation<\/em>, <em>Ard\u2019s Oath<\/em>, <em>Dragon\u2019s Justice<\/em>, <em>Dungeon Diving<\/em>, <em>First Immortal<\/em>, <em>Legendary Rule<\/em>, <em>Returner\u2019s Defiance<\/em>, and <em>Saving Supervillains<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/whwDvf8n\/Update-author-overview.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:1028px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/whwDvf8n\/Update-author-overview.png\" alt=\"Original Bruce Sentar album overview showing eight series cards, including Dragon\u2019s Justice and Dungeon Diving, with counts and green reading-status badges.\" width=\"1028\" height=\"250\" style=\"display:block;width:100%;max-width:1028px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">Bruce Sentar\u2019s series in the earlier manager, with collection counts and reading-status badges beside the covers. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/whwDvf8n\/Update-author-overview.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The series cards show counts and reading-status badges alongside their covers. I wanted both the size of the collection and my progress to be visible. Having a book in the library and having finished it are two different things.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">What this version could do<\/h2>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">Library and book records<\/h3>\n\n\n<ul class=\"wp-block-list has-text-color\" style=\"color:#e6eef2\">\n\n<li><strong>Scan the audiobook library<\/strong> and build the overview from my local collection.<\/li>\n\n\n<li><strong>Display authors, series, and covers<\/strong> so I can browse visually.<\/li>\n\n\n<li><strong>Track total books and books read<\/strong> to keep inventory and completion separate.<\/li>\n\n\n<li><strong>Edit metadata<\/strong>, including titles, authors, years, and tags.<\/li>\n\n\n<li><strong>Add comments and review links<\/strong> so the information stays easy to find.<\/li>\n\n<\/ul>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">Automation and file organisation<\/h3>\n\n\n<ul class=\"wp-block-list has-text-color\" style=\"color:#e6eef2\">\n\n<li><strong>Generate metadata files<\/strong> for the Plex and Jellyfin setup I was preparing.<\/li>\n\n\n<li><strong>Create NFO and XML files<\/strong> as part of the metadata workflow.<\/li>\n\n\n<li><strong>Rename files consistently<\/strong> to make the collection easier to follow.<\/li>\n\n\n<li><strong>Convert and clean up genre tags<\/strong> instead of leaving inconsistent labels.<\/li>\n\n\n<li><strong>Auto-tag books using GPT<\/strong> to help with the tagging work.<\/li>\n\n<\/ul>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">The details belonged beside the book<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The book view brought the useful information together. In the example below, <em>Mana Master<\/em> and <em>Mana Beast<\/em> sit under <em>A Mage\u2019s Cultivation<\/em>, with their covers, metadata, duration, read controls, and saved review links.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/1GyG6Jcv\/Original-2025-screenshot-02.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:735px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/1GyG6Jcv\/Original-2025-screenshot-02.png\" alt=\"Original A Mage\u2019s Cultivation book view showing Mana Master and Mana Beast covers, title and author metadata, duration, Read and Edit Metadata buttons, and review-link fields.\" width=\"735\" height=\"903\" style=\"display:block;width:100%;max-width:735px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">Mana Master and Mana Beast in the earlier book view, with metadata, read controls, editing buttons, and saved review links. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/1GyG6Jcv\/Original-2025-screenshot-02.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I could inspect an entry and correct its information from the same place. That was the point of the editor: I wanted the title, author, grouping, tags, and comments to reflect the collection I was trying to organise. A review link also meant I could return to my writing without searching for it again.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The earlier interface uses <strong>album<\/strong> and <strong>track<\/strong> labels inherited from audio metadata. In this setup, the album groups a series and the book cards occupy positions within that grouping.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">The files mattered as much as the screen<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">A tidy interface was only part of the job. I also wanted consistent filenames and useful metadata alongside the actual audio. The folder screenshot shows numbered MP3 files, matching artwork and NFO files, a folder cover, and an <code>expected.txt<\/code> file.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide\" style=\"margin:30px 0\"><a href=\"https:\/\/i.ibb.co\/kVJSjd35\/Original-2025-screenshot-09.png\" target=\"_blank\" rel=\"noopener\" style=\"display:block;max-width:905px;margin:0 auto\"><img src=\"https:\/\/i.ibb.co\/kVJSjd35\/Original-2025-screenshot-09.png\" alt=\"Original file-manager view showing A Mage\u2019s Cultivation MP3 audiobooks, corresponding JPG and NFO files, Folder.jpg, and expected.txt.\" width=\"905\" height=\"510\" style=\"display:block;width:100%;max-width:905px;height:auto;margin:0 auto;border-radius:10px\" loading=\"lazy\" decoding=\"async\" \/><\/a><figcaption style=\"color:#bdcfd6;font-size:0.88em;line-height:1.6;margin-top:12px\">The local folder layout from the original update: numbered MP3 files, matching images and NFO files, Folder.jpg, and expected.txt. <a style=\"color:#a9dd8a\" href=\"https:\/\/i.ibb.co\/kVJSjd35\/Original-2025-screenshot-09.png\" target=\"_blank\" rel=\"noopener\">View full size<\/a>.<\/figcaption><\/figure>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Generating metadata files, cleaning genre tags, and renaming files reduced the amount of repetitive organisation I had to do by hand. The aim was to prepare a collection that made sense both inside my manager and in the players I used.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>How that connects to Plex and Jellyfin<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">Embedded tags and separate metadata files serve different purposes. <a style=\"color:#a9dd8a\" href=\"https:\/\/support.plex.tv\/articles\/200381093-identifying-music-media-using-embedded-metadata\/\">Plex documents embedded tags for music libraries<\/a>, and <a style=\"color:#a9dd8a\" href=\"https:\/\/jellyfin.org\/docs\/general\/server\/media\/books\/\">Jellyfin documents reading audiobook metadata from audio-file tags<\/a>. Which generated files another server uses depends on its library type, supported formats, and configuration. Generating NFO or XML files does not, by itself, guarantee that every field appears in both players.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#f4f8fa\">GPT helped me turn the idea into something useful<\/h2>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">I do not fully understand every line of code. GPT handled most of the technical parts, and I want to be honest about that. I brought the idea and the problems I wanted solved, then kept working through the bugs and interface changes until the program felt useful for my collection.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">GPT also helped with automatic tagging. For me, that belonged alongside the metadata editor and genre cleanup: another way to make a large library less tedious to organise.<\/p>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">By this point, the earlier version finally felt stable enough for the way I used it. That was a satisfying moment after weeks of trial and error. I could see the library, work with its information, and keep a clearer record of my listening.<\/p>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>It began as a small tool. It became the library system I wanted to use.<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">The useful part was how the pieces worked together: browsing, editing, tracking, and organising my collection from one place.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group alignwide has-text-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:14px;color:#e6eef2;background-color:#172f39;padding-top:24px;padding-right:24px;padding-bottom:24px;padding-left:24px\">\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\"><strong>The next chapter: the Flatpak version<\/strong><\/p>\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#e6eef2\">This post closes the updates about that earlier version. After it, I moved on to creating a Flatpak version of the program. That later stage belongs in its own post; the screenshots here preserve how the manager looked before that move.<\/p>\n\n<\/div>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#bdcfd6\">All four screenshots come from the original update. They show the earlier application and file layout. Book-cover artwork and author photographs appearing inside the screenshots belong to their respective rights holders.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PROJECT UPDATE \u00b7 BEFORE THE FLATPAK EDITION A small vacation project became a full library tool. I started with a simple idea: make my audiobooks easier to manage. By this update, the tool could scan my collection, organise authors and series, edit metadata, track reading, and prepare files for the rest of my setup. This [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":64,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAow86rODA:productID":"","footnotes":""},"categories":[510,511],"tags":[471,513,496,512,514,495,517,520,515,519,518,516,521],"snowpaw_game":[],"class_list":["post-62","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-audiobooks","category-php-audibook-program","tag-audiobook-library","tag-audiobook-manager","tag-audiobooks","tag-automation","tag-custom-tools","tag-file-renaming","tag-gpt-coding","tag-hobby-coding","tag-jellyfin-metadata","tag-metadata-editor","tag-personal-development","tag-php-project","tag-plex-metadata"],"snowpaw":{"managed":true,"game_id":"","game_ids":[],"games":[],"review_game_ids":[],"cover_sizes":[{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek-300x169.png","width":300},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/64-ec8b536e4cb1-480.webp","width":480},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/64-ec8b536e4cb1-768.webp","width":768},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek-1024x576.png","width":1024},{"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/iawd-covers\/64-ec8b536e4cb1-1200.webp","width":1200}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>- The Ice Alpha Wolf Den<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"- The Ice Alpha Wolf Den\" \/>\n<meta property=\"og:description\" content=\"PROJECT UPDATE \u00b7 BEFORE THE FLATPAK EDITION A small vacation project became a full library tool. I started with a simple idea: make my audiobooks easier to manage. By this update, the tool could scan my collection, organise authors and series, edit metadata, track reading, and prepare files for the rest of my setup. This [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/\" \/>\n<meta property=\"og:site_name\" content=\"The Ice Alpha Wolf Den\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-08T21:10:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-08T21:10:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek-1024x576.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kiba Snowpaw\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kiba Snowpaw\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/\"},\"author\":{\"name\":\"Kiba Snowpaw\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"headline\":\"No title\",\"datePublished\":\"2026-10-08T21:10:30+00:00\",\"dateModified\":\"2026-10-08T21:10:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/\"},\"wordCount\":1061,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png\",\"keywords\":[\"audiobook library\",\"audiobook manager\",\"audiobooks\",\"automation\",\"custom tools\",\"file renaming\",\"GPT coding\",\"hobby coding\",\"Jellyfin metadata\",\"metadata editor\",\"personal development\",\"PHP project\",\"Plex metadata\"],\"articleSection\":[\"Audiobooks\",\"PHP Audibook Program\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/\",\"name\":\"- The Ice Alpha Wolf Den\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png\",\"datePublished\":\"2026-10-08T21:10:30+00:00\",\"dateModified\":\"2026-10-08T21:10:31+00:00\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/2026\\\/10\\\/08\\\/62\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png\",\"contentUrl\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png\",\"width\":1672,\"height\":941},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#website\",\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/\",\"name\":\"The Ice Alpha Wolf Den\",\"description\":\"Game reviews, photography and audiobooks\",\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/#\\\/schema\\\/person\\\/9aa16d0f1046d121317e4de844c396f1\",\"name\":\"Kiba Snowpaw\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\",\"caption\":\"Kiba Snowpaw\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\\/\\\/theicealphawolfden.com\"],\"url\":\"https:\\\/\\\/wordpress.theicealphawolfden.com\\\/index.php\\\/author\\\/admin2183\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"- The Ice Alpha Wolf Den","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/","og_locale":"en_GB","og_type":"article","og_title":"- The Ice Alpha Wolf Den","og_description":"PROJECT UPDATE \u00b7 BEFORE THE FLATPAK EDITION A small vacation project became a full library tool. I started with a simple idea: make my audiobooks easier to manage. By this update, the tool could scan my collection, organise authors and series, edit metadata, track reading, and prepare files for the rest of my setup. This [&hellip;]","og_url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/","og_site_name":"The Ice Alpha Wolf Den","article_published_time":"2026-10-08T21:10:30+00:00","article_modified_time":"2026-10-08T21:10:31+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek-1024x576.png","type":"image\/png"}],"author":"Kiba Snowpaw","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kiba Snowpaw","Estimated reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/#article","isPartOf":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/"},"author":{"name":"Kiba Snowpaw","@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"headline":"No title","datePublished":"2026-10-08T21:10:30+00:00","dateModified":"2026-10-08T21:10:31+00:00","mainEntityOfPage":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/"},"wordCount":1061,"commentCount":0,"publisher":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"image":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png","keywords":["audiobook library","audiobook manager","audiobooks","automation","custom tools","file renaming","GPT coding","hobby coding","Jellyfin metadata","metadata editor","personal development","PHP project","Plex metadata"],"articleSection":["Audiobooks","PHP Audibook Program"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/","url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/","name":"- The Ice Alpha Wolf Den","isPartOf":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/#primaryimage"},"image":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png","datePublished":"2026-10-08T21:10:30+00:00","dateModified":"2026-10-08T21:10:31+00:00","inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/2026\/10\/08\/62\/#primaryimage","url":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png","contentUrl":"https:\/\/wordpress.theicealphawolfden.com\/wp-content\/uploads\/2026\/10\/Fra-lille-projekt-til-stort-lydbogsbibliotek.png","width":1672,"height":941},{"@type":"WebSite","@id":"https:\/\/wordpress.theicealphawolfden.com\/#website","url":"https:\/\/wordpress.theicealphawolfden.com\/","name":"The Ice Alpha Wolf Den","description":"Game reviews, photography and audiobooks","publisher":{"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.theicealphawolfden.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wordpress.theicealphawolfden.com\/#\/schema\/person\/9aa16d0f1046d121317e4de844c396f1","name":"Kiba Snowpaw","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g","caption":"Kiba Snowpaw"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/2a2f88455e1cd93bebe8b4c59c91ce4dd186615e2aea0ca5fd25fa96bffa14e8?s=96&d=mm&r=g"},"sameAs":["http:\/\/theicealphawolfden.com"],"url":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/author\/admin2183\/"}]}},"_links":{"self":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/comments?post=62"}],"version-history":[{"count":1,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/62\/revisions"}],"predecessor-version":[{"id":65,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/posts\/62\/revisions\/65"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/media\/64"}],"wp:attachment":[{"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/media?parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/categories?post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/tags?post=62"},{"taxonomy":"snowpaw_game","embeddable":true,"href":"https:\/\/wordpress.theicealphawolfden.com\/index.php\/wp-json\/wp\/v2\/snowpaw_game?post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}