Thanks for the quick response.
On item 1, to be clear I really meant the bit about it being the Library in the user’s home directory, vs the one in the root filesystem - not the bit about colons vs slashes as path separators. I’m not sure which part you were talking about when you said that you “think this is how Mac users usually see things.”
Regarding 3 - yeah, your observations make sense. I had thought about that a bit too (mostly the local CPU being much beefier than the NAS CPU). I think part of my original logic of wanting it running on the NAS had been that the ‘local’ access to the files (from SongKong’s perspective) might help it be faster, but it seems that any benefits from that are offset by the CPU speed. (Aside: I have an app I use to help manage playlists (for exporting to players, USB sticks, etc), and I did find that running it on the NAS made it faster. I don’t generally run it there though, because you then have to deal with attaching the player to the NAS for file sync operations, so, again, a trade off that makes the speed bump not worth it.)
Also regarding 3 - have you thought much about how reporting will work once Steps is supported? I pondered it a bit as I wrote my previous post (i.e., “how should reports work if Paul did decide to support multiple actions on the cmd line?”) and my thoughts were that it might be nice if it could generate one report for all ‘n’ actions performed, but I honestly didn’t give it much thought to see if that even really makes sense from the perspective of what the reports describe. (I use the reports, but they’re quite detailed, and I tend to focus on a small part of them, a bit myopically, just enough to figure out if I can trust what was done, or if I need to examine more closely.). Even aside from the feasibility of logically combining the reports, I had a sense that the technical work of trying to combine the output of multiple steps into one report might make the whole ‘step’ concept distastefully difficult to implement. (i.e., such a right PITA that one might never get around to it!)
Regarding 4. “This workflow never occurred to me…” Totally valid - I get that. Not really the case intended. Two thoughts: 1. Don’t worry about it unless you want to. The script I’ve written takes care of it for me - and you’re more then welcome to point people at it in the forum (or even share it in a tutorial/etc) if anyone else ever asks for the feature - that’s why I shared it. 2. I suppose even on a headless box, someone might have installed a text mode browser (Links or Lynx, if either of those are still supported?) but I guess that wouldn’t really be that practical if each step spat out a report, as each step would likely need to interrupt the batch.
Regarding #5… that’s below - the real meat of this post.
Regarding #6: Makes sense - I agree that other apps (Jaikoz in particular, which I also use) are better suited. Personally, I wouldn’t recommend chasing better manual editing in Songkong unless you get the hunch that it might be very easy to support without risk of nasty surprises. Not worth it. I forget why I even tried it (my first time ever using that feature was just in the last few days), but it’s probably related to me skimming the tutorials, and re-learning the feature existed, and just trying it out, and then deciding a day or so later to actually try it ‘for real’, and then seeing the limitations.
Ok, now to the real work… Regarding #5: I gave you the trimmed version of the notes for this last time
. I’m sure it happens even when SongKong’s GUI is not running. What I’m not sure of is whether it may require a reboot after having tried it while the GUI was running to “flush things out”, but I’m guessing not. It a Java app - not something with hooks into the kernel.
I’ve got some runs below that show the report numbers being used repeatedly, even across different action types. First three using my wrapper script, and then some more using the barebones CLI support provided directly by songkong.sh, and then with a few GUI invocations mixed in, but from the command line.
(The [$HOME] / [My Name] business below is just me redacting my info, not the actual output)
➜ bin pwd
/Applications/SongKong.app/Contents/bin
➜ bin ~/bin/songkong-fix-artists-to-fix.sh
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:[MY NAME] Default:songkong_fixsongs5.properties
Start Fixing Songs
Songs loaded 52: Fingerprinted 0: MusicBrainz 39: Discogs 39: Saved 52
Report Creation 87%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/FixSongsReport00042/FixSongsReport00042.html
Summary:
Processing:0
Songs loaded:52
Songs fingerprinted:0
Songs ignored because already matched:0
Songs matched to MusicBrainz release:39
Songs matched to MusicBrainz song only:0
Songs matched to AcoustId release:0
Songs matched to Acoustid song only:0
Songs matched to Discogs release:39
Songs matched with artwork:39
Songs matched to AcousticBrainz:35
Songs saved:52
Completed:52
Activity Log:40
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:[MY NAME] Script Task:songkong_scripter1.properties
Start Scripter
Songs Loaded 52: Saved 0: Done 0
Report Creation 72%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/ScripterReport00042/ScripterReport00042.html
Summary:
Processing:0
Songs loaded:52
Songs saved:2
Completed:52
Activity Log:0
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:Default:songkong_renamefiles.properties
Start Renaming Files
Songs Loaded 52: Renamed 2: Done 0
Report Creation 98%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/RenameFilesReport00042/RenameFilesReport00042.html
Summary:
Processing:0
Songs loaded:52
Songs renamed:2
Completed:52
Activity Log:0
➜ bin # Now I'll run the 'stock' songkong.sh script directly, with no wrapper.
➜ bin ./songkong.sh -m -p songkong_fixsongs5.properties "/Volumes/Audio/Music/Artists to Fix"
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:[MY NAME] Default:songkong_fixsongs5.properties
Start Fixing Songs
Songs loaded 52: Fingerprinted 0: MusicBrainz 39: Discogs 39: Saved 52
Report Creation 87%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/FixSongsReport00042/FixSongsReport00042.html
Summary:
Processing:0
Songs loaded:52
Songs fingerprinted:0
Songs ignored because already matched:0
Songs matched to MusicBrainz release:39
Songs matched to MusicBrainz song only:0
Songs matched to AcoustId release:0
Songs matched to Acoustid song only:0
Songs matched to Discogs release:39
Songs matched with artwork:39
Songs matched to AcousticBrainz:35
Songs saved:52
Completed:52
Activity Log:40
➜ bin ./songkong.sh -j -p songkong_scripter3.properties "/Volumes/Audio/Music/Artists to Fix"
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:[MY NAME] Script Task:songkong_scripter1.properties
Start Scripter
Songs Loaded 52: Saved 0: Done 0
Report Creation 72%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/ScripterReport00042/ScripterReport00042.html
Summary:
Processing:0
Songs loaded:52
Songs saved:2
Completed:52
Activity Log:0
➜ bin ./songkong.sh -f -p songkong_renamefiles.properties "/Volumes/Audio/Music/Artists to Fix"
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:Default:songkong_renamefiles.properties
Start Renaming Files
Songs Loaded 52: Renamed 0: Done 0
Report Creation 98%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/RenameFilesReport00042/RenameFilesReport00042.html
Summary:
Processing:0
Songs loaded:52
Songs renamed:0
Completed:52
Activity Log:0
➜ bin # Now I'll fire up the GUI, and perform a task to attempt to reset the report numbers
➜ bin ./songkong.sh
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
➜ bin # I ran the rename files task, same folder and profile as above, and it generated the report: http://localhost:4567/RenameFilesReport00042/RenameFilesReport00042.html\?init\=1
➜ bin # It used the same report number, but I'm gonna try it again.
➜ bin ./songkong.sh
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
➜ bin # Same task/profile again, and this time it produced this report: http://localhost:4567/RenameFilesReport00043/RenameFilesReport00043.html\?init\=1
➜ bin # Note that it finally bumped up to 43. I think something in the GUI run ... marked report generation complete? Something like that. Allowing the next run to generate a *new* report instead.
➜ bin # Now I'll run a couple cmd line invocations again
➜ bin ./songkong.sh -m -p songkong_fixsongs5.properties "/Volumes/Audio/Music/Artists to Fix"
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:[MY NAME] Default:songkong_fixsongs5.properties
Start Fixing Songs
Songs loaded 52: Fingerprinted 0: MusicBrainz 39: Discogs 39: Saved 52
Report Creation 87%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/FixSongsReport00044/FixSongsReport00044.html
Summary:
Processing:0
Songs loaded:52
Songs fingerprinted:0
Songs ignored because already matched:0
Songs matched to MusicBrainz release:39
Songs matched to MusicBrainz song only:0
Songs matched to AcoustId release:0
Songs matched to Acoustid song only:0
Songs matched to Discogs release:39
Songs matched with artwork:39
Songs matched to AcousticBrainz:35
Songs saved:52
Completed:52
Activity Log:40
➜ bin # Note that it came out as 44 - supporting my theory that when the GUI invocation that generated 43 completed, it was able to somehow 'tidy up' report 43, so that the next run would fire off a new report. It's beginning to make a bit more sense to me now.
➜ bin ./songkong.sh -j -p songkong_scripter3.properties "/Volumes/Audio/Music/Artists to Fix"
debuglogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_debug%u-%g.log
userlogfile is:[$HOME]/Library/Application Support/SongKong/Logs/songkong_user%u-%g.log
H2 Cache Size is 368640 kb
Using Supplied Profile:[MY NAME] Script Task:songkong_scripter1.properties
Start Scripter
Songs Loaded 52: Saved 0: Done 0
Report Creation 72%
Report Created:[$HOME]/Library/Application Support/SongKong/Reports/ScripterReport00044/ScripterReport00044.html
Summary:
Processing:0
Songs loaded:52
Songs saved:2
Completed:52
Activity Log:0
➜ bin # And now we have report 44 again. Which makes sense if I assume that cmdline invocations never 'complete' the report generation process.
So, That was a bit more ‘consistent’ than what I saw yesterday, but I think I trust the above - it really behaved ‘consistently’, once I had the theory in my head that it’s failing to do something needed at the end of a CLI run that ‘finalizes’ a report. So, my theory is that when you run via CLI, the next run will use the same report number that the CLI run used. If you run via GUI, the next run will use a fresh number.
Hope that helps