GrimReaper 4926 Posted April 4 Author Posted April 4 53 minutes ago, user24 said: Agree, now that I have tried it. I'm happy to revert back to your order. The GUI looks better in your original order. I just need to get used to the process Let me think about that one a bit. I should have something workable this afternoon (CET time), as I'm AFAIK for the better part of today.
user24 369 Posted April 4 Posted April 4 6 minutes ago, GrimReaper said: If you want, I can apply same logic to RELEASETYPE Aaahhh - that explains it - I was testing both RELEASETYPE and ROONALBUMTAG as if they were both multi-field. Now, from your explanation, it makes sense with the errors I was getting. Yes, normal use-case for me would be only one RELEASETYPE as a standard entity and various ROONALBUMTAG tags to suit anything and everything non-standard. So your usability assumption was correct. But, it may(?) be better if both had the same logic. (Reason - MusicBrainz release types system which I may want to use in the future - because I may be able to map them into "omnibus" tags???) I need to try some mapping experiments - I have an idea - but it will take a while to test it properly. 11 minutes ago, GrimReaper said: I should have something workable this afternoon No hurry at all - I need at least a full day uninterrupted to try the mapping... which will likely be tomorrow now...
GrimReaper 4926 Posted April 4 Author Posted April 4 (edited) The more complex the code introduced, the more likely it is some unexpected/unintended results will occur down the line. That said: v0.8 - Complete GUI overhaul (you won't be able to skip over Import Mode now ) emby_album_tag_importer.py Edited April 4 by GrimReaper 1
GrimReaper 4926 Posted April 4 Author Posted April 4 (edited) GUI was getting overwhelmed with all the stuff crammed in, needed some breathing room. v0.9 - GUI reworked emby_album_tag_importer.py Edited April 4 by GrimReaper 1
GrimReaper 4926 Posted April 5 Author Posted April 5 (edited) v1.0 - MUSICBRAINZ_ALBUMTYPE tag support added - Export Log function added emby_album_tag_importer.py Edited April 5 by GrimReaper 1
user24 369 Posted April 5 Posted April 5 (edited) V1.0 RELEASETYPE Mapping test... Using Importer - Bulk Cleared all Album Tags in Emby (45 "The Beatles" Albums) - extremely easy and fast to do Using Mp3tag - rewrote all RELEASETYPE tags as short single descriptors (somewhat similar to MusicBrainz): Using Importer - mapped these tags to "omnibus" tags: (first go at this - no problems) Using custom Group By - all Albums appeared in their relevant groups in Emby: Note: Doing this manually in Emby, one Album at a time, (e.g.) 1min per Album = 45min. With Importer - probably 5min max!!! Then, tried a scenario where I change my mind and want to split Soundtracks away from Compilations... Using Mp3tag - not required now, as Albums have single descriptors already. Using Importer - remap the tags: Using custom Group By - these Albums then appeared in their new groups in Emby: Time taken - perhaps 1-2min??? Only problem was I could not figure out how to "Save mappings". Clicking this did nothing. Clicking "Load mappings" opens up a window to access saved files - but I had nothing previously saved to try. Closing Importer and opening again (didn't shut down PC) retains the previous mapping settings. Perhaps I am missing a step in the process somewhere? I'll give it another go later on... plenty of other combinations and permutations to try... This is going to be SO EASY to properly 'album tag' my whole library and import into Emby now! Edited April 5 by user24 1
GrimReaper 4926 Posted April 5 Author Posted April 5 (edited) 4 hours ago, user24 said: V1.0 RELEASETYPE Mapping test... Using Importer - Bulk Cleared all Album Tags in Emby (45 "The Beatles" Albums) - extremely easy and fast to do Using Mp3tag - rewrote all RELEASETYPE tags as short single descriptors (somewhat similar to MusicBrainz): Using Importer - mapped these tags to "omnibus" tags: (first go at this - no problems) Using custom Group By - all Albums appeared in their relevant groups in Emby: Note: Doing this manually in Emby, one Album at a time, (e.g.) 1min per Album = 45min. With Importer - probably 5min max!!! Then, tried a scenario where I change my mind and want to split Soundtracks away from Compilations... Using Mp3tag - not required now, as Albums have single descriptors already. Using Importer - remap the tags: Using custom Group By - these Albums then appeared in their new groups in Emby: Time taken - perhaps 1-2min??? Thanks for extensive testing, glad it's working with no apparent issues. 4 hours ago, user24 said: Only problem was I could not figure out how to "Save mappings". Clicking this did nothing. Clicking "Load mappings" opens up a window to access saved files - but I had nothing previously saved to try. Closing Importer and opening again (didn't shut down PC) retains the previous mapping settings. Perhaps I am missing a step in the process somewhere? Mappings are always saved into the small helper file (mappings.json) in the same folder as the script; the file is shared between RT and ROON mapping sessions. Pressing Save just writes the current mapping rows into it. If you want, I could call a file picker on Save, just thought to save few mouse clicks there. If you want multiple mapping sets - just copy current mappings.json and rename it for future loading. Or I could add "Mappings saved" msg in the modal upon successful save, so it gives an indication that pressing that Save button actually caused something to occur? On Load mappings, It calls for a file picker, reads any json file you selected, and overwrites mappings.json with whatever file you loaded. The loaded mappings become the new saved state. Edited April 5 by GrimReaper
GrimReaper 4926 Posted April 5 Author Posted April 5 (edited) v1.1 - Mapping Save/Load status messages added - Delete all rows button added - Mapping input field is a combo-box now (you can both type-in or use dropdown; you'll get suggestions as all unique tags collected based on current album selection) emby_album_tag_importer.py Edited April 5 by GrimReaper
GrimReaper 4926 Posted April 5 Author Posted April 5 (edited) Was playing a bit with colors to better indicate workflow/selection, tell me which version works better. v1.1b emby_album_tag_importer.py Edited April 5 by GrimReaper 1
GrimReaper 4926 Posted April 5 Author Posted April 5 v1.1b2 - GUI reworked (Mapping modals behavior adjusted) emby_album_tag_importer.py
user24 369 Posted April 5 Posted April 5 This is small quick follow-up test on V1.0 (will catch up soon) Found the JSON file. I suppose I was initially expecting a pop-up window like "Save As" rather than "Save". It seems to Save ok (e.g.) (Hmmm - this has actually given me a vague idea for a completely different project I'm working on, where I need to map Album Artists to their IDs). 11 hours ago, GrimReaper said: On Load mappings, It calls for a file picker, reads any json file you selected, and overwrites mappings.json with whatever file you loaded. The loaded mappings become the new saved state. Yep. Found this out the hard way. I need to read the instructions!!! Just me getting used to how it works. Moving on to the newer versions now... 1
user24 369 Posted Sunday at 09:29 PM Posted Sunday at 09:29 PM 9 hours ago, GrimReaper said: Was playing a bit with colors to better indicate workflow/selection, tell me which version works better. Well, this was a big change!!! If I was only ever updating a few Albums, or even all (e.g.) "The Beatles" albums in bulk, then the standard white background would be fine, because any silly mistakes could quickly be corrected. BUT real-life use-case (as per images above) is more likely to be updating at top folder-level (e.g) "Bb (a-m)". Therefore green/red is the way to go. It's a good idea! But see below re: color... Two possible improvement changes: 1. CUSTOM tag in orange is too close to red in the color spectrum, now clashes with green, and seems like a "warning" signal. Now that green is the background, all three tag selections would possibly be better if they were 'above' green - ROYGBIV - from left to right? Please can you pick the best tones that you think will work. Second thought - perhaps Blue for all three or even just the Gray/White palette(???), as the position and name delineates which tag has been selected, and they are all are tags, as such. Maybe simple is better - or we end up with a rainbow!!! 2. Just a thought - but I'm not too fussed either way - RELEASETYPE, ROONALBUMTAG. CUSTOM possibly dont't need the "Tag" after them inside the buttons. There is plenty of room, but it may look better without? You be the judge. Thanks!
GrimReaper 4926 Posted Sunday at 10:18 PM Author Posted Sunday at 10:18 PM (edited) 50 minutes ago, user24 said: Therefore green/red is the way to go. It's a good idea! Just wanted you to say that; after 30 mins testing on colored version, opening plain one was literal WFT moment - you'll se after some usage. Anyway, that'll be the branch for further development. 50 minutes ago, user24 said: 1. CUSTOM tag in orange is too close to red in the color spectrum, now clashes with green, and seems like a "warning" signal. Now that green is the background, all three tag selections would possibly be better if they were 'above' green - ROYGBIV - from left to right? Please can you pick the best tones that you think will work. Second thought - perhaps Blue for all three or even just the Gray/White palette(???), as the position and name delineates which tag has been selected, and they are all are tags, as such. Maybe simple is better - or we end up with a rainbow!!! You are right, there's actually no reason for METHOD buttons to be accented at all, let alone in three colors - likely a legacy mental map from some of the previous iterations - not even a single blue (tested), plain white/black is in line with general theme and works just fine. 50 minutes ago, user24 said: 2. Just a thought - but I'm not too fussed either way - RELEASETYPE, ROONALBUMTAG. CUSTOM possibly dont't need the "Tag" after them inside the buttons. There is plenty of room, but it may look better without? You be the judge. I'm fine either way, maybe I'm slightly more inclined towards having word Tag there, but I won't be using it anyway so I'm not bothered. v1.2 - GUI refined (color accents dropped, button tags) emby_album_tag_importer.py Edited Sunday at 10:20 PM by GrimReaper
user24 369 Posted Monday at 12:56 AM Posted Monday at 12:56 AM 16 hours ago, GrimReaper said: - Mapping input field is a combo-box now (you can both type-in or use dropdown; you'll get suggestions as all unique tags collected based on current album selection) Still catching up... Yes, so if I choose All Albums for an Artist, then I get all the options: The mapping 'tick' notification upon "Save" is useful. Here's something like a more real version that I'd be keeping for use and updating as necessary: Tried the export log file - no problems. Many of these enhancements seem very professional-grade now. Let me know if there is any other specific function update you want me to try that I may have missed? Otherwise, I'm going to start working through my "Top 100" Album Artists and see how things progress. Cheers! 1
user24 369 Posted Monday at 03:02 AM Posted Monday at 03:02 AM (edited) @GrimReaper Please could you help check/confirm the following sequence, when you get a spare moment - no immediate hurry... Process Mode - ADD Tags Import Mode - REPLACE Tags Tag Method - RELEASETYPE Tag Method - Map specific RELEASETYPE... The RELEASETYPE is mapped successfully and overwrites what was there. But I think (I have tried a few times) this also deletes any existing ROONALBUMTAG tags as well. My General assumption - as you work down the steps is that the REPLACE function should only apply to the underlying tag group that is selected either RELEASETYPE or ROONALBUMTAG or CUSTOM, but not all three together. I also tried the reverse - REPLACE ROONALBUMTAG and then RELEASETYPE gets deleted. I may be doing something wrong, or this may be how it is currently configured to work. The GUI implies to me that only the one that is selected should be replaced. Am I interpreting correctly??? If possible, my preference would be to just replace the selected tag grouping. There is always CLEAR to reset everything. Thanks. Edited Monday at 04:29 AM by user24
GrimReaper 4926 Posted Monday at 05:43 AM Author Posted Monday at 05:43 AM (edited) 2 hours ago, user24 said: @GrimReaper Please could you help check/confirm the following sequence, when you get a spare moment - no immediate hurry... Process Mode - ADD Tags Import Mode - REPLACE Tags Tag Method - RELEASETYPE Tag Method - Map specific RELEASETYPE... The RELEASETYPE is mapped successfully and overwrites what was there. But I think (I have tried a few times) this also deletes any existing ROONALBUMTAG tags as well. My General assumption - as you work down the steps is that the REPLACE function should only apply to the underlying tag group that is selected either RELEASETYPE or ROONALBUMTAG or CUSTOM, but not all three together. I also tried the reverse - REPLACE ROONALBUMTAG and then RELEASETYPE gets deleted. I may be doing something wrong, or this may be how it is currently configured to work. The GUI implies to me that only the one that is selected should be replaced. Am I interpreting correctly??? If possible, my preference would be to just replace the selected tag grouping. There is always CLEAR to reset everything. Thanks. Hmmmm, not sure I interpreted all of that correctly, as if I did I'm afraid that would not be feasible, so I think it would be best if one real-case scenario was provided to assure we're on the same page here (as there's so much underlying logic implemented in the script now that one wrong assumption might have multiple consequences): - Track has this and this RT tags - Track has this and this ROON tags - item (in Emby) had this and this tags (or was blank) - This Import mode was selecletd - This Tag method was selected - These are the results I got (Item in Emby had these tags now after process run) - This is what I expected (Item in Emby to have these tags after process run) We can discuss afterwards, once clear picture is obtained. Thanks Edited Monday at 05:46 AM by GrimReaper
user24 369 Posted Monday at 06:06 AM Posted Monday at 06:06 AM 16 minutes ago, GrimReaper said: We can discuss afterwards, once clear picture is obtained. OK, leave it with me for a while. Best if I just keep working through using it for real now, as opposed to repeatedly testing out the separate functions on a limited basis? A good stable logical workflow might emerge that works well every time, and I'll know what to expect OR I might hit some more random unknowns?
GrimReaper 4926 Posted Monday at 06:15 AM Author Posted Monday at 06:15 AM 3 minutes ago, user24 said: OK, leave it with me for a while. Best if I just keep working through using it for real now, as opposed to repeatedly testing out the separate functions on a limited basis? A good stable logical workflow might emerge that works well every time, and I'll know what to expect OR I might hit some more random unknowns? OK, but to clarify current usage limitations: the only difference between ADD and REPLACE modes is what is done with the existing tags in Emby: they're either retained or deleted on Process run, as per mode selection, regardless of the method selected below. I.e. Emby doesn't know the source of the tags it has, it only replies with "These are the tags currently available on the album, what should I do with them?" when queried. ADD mode retains them, REPLACE mode wipes them all before importing/adding manually the new tags according METHOD selection. 1
user24 369 Posted Monday at 06:56 AM Posted Monday at 06:56 AM 26 minutes ago, GrimReaper said: Emby doesn't know the source of the tags it has You have explained it well enough. Thanks! That clarifies things nicely. It's somewhat like the diagram I sent you. Mp3tag - separate fields Importer - separate selection Emby Default pages - combined (it's the same "Tag" field in Emby - duh!) Emby Custom page - split page view So even though that's the process flow, in real-use I do: 1, 2, 4 and don't even bother looking at 3, it becomes somewhat invisible and irrelevant (but it's not). So my brain then thinks the tags remain separate all the way through. Funny (but stupid) how you can mislead yourself. 1
user24 369 Posted 20 hours ago Posted 20 hours ago @GrimReaper Just a FYI progress update – and well, the more I use this, the better I am liking it! Still doing a lot of fine-tuning from the music side to streamline the tagging process and get the grouped sections aligned better with my library. I added some custom drop-down menus into Mp3tag – so it’s very quick to add the new tags now: It’s unbelievably super-fast now using the ‘Importer’ to remap the individual tags to the group tags/headings in Emby. There’s no way this would be practical to do with Mp3tag and Emby alone. (I’ll give a separate update on the ‘Importer’ use a bit later on…) I’m also just started experimenting with some new Decade headings to match with the Release Type headings. Will probably scale it down a bit from what I have now: A couple of script changes make it easy to try different scenarios (e.g.) Add: const decadeLabels = { "1950s": "The Rockin' 50s", "1960s": "The Swinging 60s • British Invasion | folk-rock tones | psychedelic color waves", "1970s": "The Classic 70s", "1980s": "The Synthetic 80s", "1990s": "The Indie 90s", "2000s": "The Global 00s", "2010s": "The Trendy 10s", "2020s": "The Emerging 20s", }; (e.g.) Add/change: const label = decadeLabels[decade] ? ` • ${decadeLabels[decade]}` : ""; header.textContent = `${decade}${label} • ${groupAlbums.length}`; I imagine the Custom Release Type sort will be my main ‘go to’ view. It’s already helping me easily see missing Studio Albums from an Artist’s discography. Just compare the new page view directly to the MusicBrainz main Album discography section for well-known popular Artists. Still a lot to tag, organize and experiment with, but so far so good...!!! 1
GrimReaper 4926 Posted 1 hour ago Author Posted 1 hour ago Haven't played with this for a few days, some updates: v1.3 Clear Method section updated (Clear Specific/Replace Specific buttons added, with modals and dropdown selections) Color accents reworked Selection logic refined RT/ROON mapping modals Map to fields are also dropdowns now (unique tags available in Emby based on current selection) emby_album_tag_importer.py
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