INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: MC Server Instance - not picking up tag changes made from standalone WS  (Read 5187 times)

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007

Got a strange one here.

In our layout - all our music (all FLAC) is stored in a single location (\\SERVER\Music). We have a "server" instance on MC running on the HTPC that points to this music location. I also have my own personal workstation (with it's own install of MC 21 and it's own local library) where I do all metadata and tagging pointing to this same location.

Over the last few weeks - I have been fine tuning the ratings of tons of track in the library - under the assumption that when I make ANY change to any song in \\SERVER\Music from my workstation - ALL changes should be updated for ALL tracks since Auto Import on the HTPC is pointing to \\SERVER\Music.

However - today - I was building a few playlists on the HTPC for a dinner party this weekend when I started to notice songs - that I know I have edited in the last week or so (changed ratings specifically from say a 4 to 1) - suddenly showing up in a 4-5 star ratings ONLY playlist.

As a test - I edited a single track from 1 star to 5 stars on my workstation. Then - using Remote desktop - did a manual Import - and yes the rating did change.

Then as a larger test - I updated an entire album on my workstation - with a variety of different ratings. All tags were written correctly as far as I can tell. Then I switch over to the HTPC and deleted that same album from the library (soft delete) - assuming that I could re-import and get the changes I made to the album moments ago.

But when I do a manual import (I have the setting during import to pick up external changes) - while the album comes back in - it presents with ALL the old ratings that were present on the album just before I dropped it from the HTPC MC library?

Does Delete from Library - actually work? And in my test - where in the heck is MC getting the "old ratings" from - if I have forced edited the ratings to be specific values from my workstation? Should MC not be picking up the latest edits of all 18 tracks when I dump an album and then bring it back in via manual import?

Even more odd - when I highlight a track on the HTPC (that I changed from my workstation from a 4 rating to none) and then open the detailed format information for the track (top of the tag pane) - there is no sign of ANY ratings value in there - yet I see a 4 star rating for the song in the pane view.

What is going on here?

VP



Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72444
  • Where did I put my teeth?
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #1 on: August 07, 2016, 12:23:16 am »

Is authentication set on the server?

If not, MC won't sync changes made on the client to it. 
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #2 on: August 07, 2016, 07:16:00 am »

Is authentication set on the server? If not, MC won't sync changes made on the client to it.  

Jim,

Do not need authentication as I never connect/edit/sync changes as a MC "client". In my setup - the HTPC (which is in server mode) and my personal PC - both point to the same single music share (\\SERVER\Music) on the network. But my PC is not (and never has been) a "client" and never will be.

For years I have been able to adjust anything on any song from my station (like changing a rating from 4 to 1) and then watch the server pick up that change on that same song a few moments later. I tested it earlier in the thread. This has worked brilliantly for years - but suddenly now - I am seeing some very odd behavior.

I am seeing specific pockets of songs - like an 18 song comp from Queensrche here is really weird as I pointed out. I can change all the ratings on the songs via my standalone PC (change them ALL to no ratings) then delete the same album from the main Music location via the HTPC (choosing Remove From Media Library - aka Soft delete).

Then I do a manual reimport on the HTPC (MC is set to pick up external changes) but the HTPC brings the songs back in with all the OLD ratings from before.

I just testing this again with another random pick. When I look at this album on my workstation PC - all 20 tracks of this album have a rating of 1. Over on the HTPC - the same 20 songs from same identical location - having ratings all over the place. Some 1, some 2's etc etc.

So I "drop" the entire 20 track album from the HTPC by choosing Remove From Media Library. I wait 10 seconds and then I reimport manually. MC detects and find the 20 songs that were deleted - but when they come back in - I get the same bogus ratings as before - NOT the actual ratings of all 1 - that should be displayed - as I see them over on my PC.

The only thing I have found that truly works is a hard delete. If I highlight the same twenty track album - on my standalone PC - and use RM&C to actually remove the folder and songs over to my local drive - MC offers to remove the actual folder on the file server. I accept that.

Then when I do a manual import on the HTPC - MC detects the folder is gone from the file server and actually does "clean" the 20 songs COMPLETELY from the library.

Then I do the reverse. On my personal PC I use MC Explorer to cruise to the local location that I moved the songs to. Then I use RM & C to move the songs back out the file server location. I then do a manual import on my PC and the files are reimported to my local MC library - WITH the correct ratings (all songs = 1 star)

Then I swing over the HTPC and do a manual import - and the same 20 songs are detected - AND imported - with the correct ratings.

Clearly Remove from Media Library (aka Soft Delete) does not work properly at all as it does not completely remove all traces of a song from the library. Seems like it just strips the tracks from view but in this case - somehow leaving ALL the old entries in the library complete with the old ratings. And then somehow reapplying those old settings to songs that are picked up during import (I have Ignore files previously deleted from library - unchecked).

Q: Does the version of MC on all stations ideally need to be the same? The only change I made between yesterday (discovery of oddball tags) and two or three weeks back when I started to update ratings - was the actual MC version. The HTPC has running 21.0.76 while my PC was running 21.0.90.

HTPC always was set to the "stable" track with auto updating turned off.

I will try some more detective work today and report back.

Cheers!

VP
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #3 on: August 07, 2016, 08:49:49 am »

Confirmed a bug now that is occuring within the library import mechanism in MC 21.0.90:

Here is a screencap (Ratings Correct On Personal PC) of a single song as it appears within my standalone library using 21.0.90.

I purposely set the ratings to a value of 2 stars and watched MC clearly state that tag changes had been saved. (file is sitting on the server file share). Song has a correct ratings on screen and the detailed ratings data appears correct within the Vorbis info when I view the detailed information. Vorbis data block is 786 bytes

Then I swing over to the HTPC - and click Auto Import Now (to start a manual import) - the HTPC "server" version of MC does recognize that this file has been changed (by my manual edit from my PC) and proceeds to "update" it's own library.

But when I examine the file data that the HTPC version of MC actually brought in - it is NOT importing the data from the file correctly. (See Ratings Bug on HTPC)

While the ratings "stars" seem to be correct in the pane view - the Vorbis detail of this file - does not contain any shred of info regarding the ratings value. Vorbis data block as detected by the HTPC is only 774 bytes.

But this is a singular file - existing in only a single location - but being accessed by two completely separate instances of MC.

How is it possible that the Vorbis data is different when viewed via MC 21.0.90 on my PC and MC 21.0.90 from the HTPC?

VP



Logged

Ferdi

  • World Citizen
  • ***
  • Posts: 195
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #4 on: August 08, 2016, 08:41:41 pm »

I am a bit surprised to read that this scenario is not supported. From my understanding, it's two features of MC that come into play:
Feature 1: save changes to file (rating, names, ...). This flag is explicitly set in the 'fields' options.
Feature 2: auto import = detect changes, re-read files

To me it looks as if either not all changes are written to the file, or that auto import is not catching all changes. Not?
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #5 on: August 08, 2016, 09:06:20 pm »

To me it looks as if either not all changes are written to the file, or that auto import is not catching all changes. Not?

From all I can see (especially the Vorbis block - if this is what MC is reading for the tag changes in FLAC files) - the changes appear to be correct - but MC is not reading the "ratings" items correctly in one specific case.

I can now confirm that a rating reduction - from 5 stars down as low as 1 star - work fine. It's when the rating is reduced to zero stars - the problem is clear. Media Center cannot properly update the target track in a media server library to zero stars. Even after a forced Auto Import Now (or even a Update Library From Tags command) - the rating value remains at whatever value it was formally.

In every test I have done - now with three different tools (in addition to MC) - when a FLAC file (on a network drive) rating is made to be zero stars from anything higher - MC cannot refresh the file to be zero stars within it's library.

UPDATE: I just testing a scenario that involves a third party app.

Using MC 21.0.90 on my machine - I set the rating on a specific track on the server share to NO stars. Then I fired up Tag and Rename and browsed out to the server to load up the album in question. Tag and Rename shows zero stars for a rating. Then I changed the track to five stars using MC - T & R then displays the track with 5 stars. Then 3 stars. Then 1 star and then no stars again. T&R picks up all changes and displays them perfectly every time.

So - this clearly shows that something is wrong with MC when doing an auto import on FLAC files if a third party app can read changes made by MC and then display them correctly.

VP
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72444
  • Where did I put my teeth?
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #6 on: August 09, 2016, 01:32:29 am »

I am a bit surprised to read that this scenario is not supported. From my understanding, it's two features of MC that come into play:
Feature 1: save changes to file (rating, names, ...). This flag is explicitly set in the 'fields' options.
Feature 2: auto import = detect changes, re-read files

To me it looks as if either not all changes are written to the file, or that auto import is not catching all changes. Not?
Both copies of MC have read/write access to the files, and without file locking, that's not good.
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #7 on: August 09, 2016, 06:37:18 am »

Both copies of MC have read/write access to the files, and without file locking, that's not good.

My tests already show that if I can change a series of files with MC and then read those same files a scant minute later with a third party tool - and it correctly reads and displays the new ratings - this has nothing to do with read/write access.

Not to mention the fact that my HTPC instance of MC correctly reads/displays and updates every other field at any time with 100% accuracy. This is a bug with reading the ratings values and nothing more.

If the HTPC version of MC was completely failing to read other fields or posting a message saying the files are read only and it could not access them - I might consider contention. But there is no contention - especially when I am running "Auto Import Now" on demand.

VP
Logged

DJLegba

  • Citizen of the Universe
  • *****
  • Posts: 995
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #8 on: August 09, 2016, 06:45:06 am »

Both copies of MC have read/write access to the files, and without file locking, that's not good.

The server's OS handles file locking.
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #9 on: August 09, 2016, 06:47:17 am »

The server's OS handles file locking.

Exactly. These files reside on Windows Server 2012 R2 - it is designed to handle any file locking without any notice or care.

VP
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8014
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #10 on: August 09, 2016, 11:45:49 am »

It's when the rating is reduced to zero stars - the problem is clear.

I just tested this two ways.

A.  With MC22 making tag changes alone to files on local disk.  Then MC21 ALONE reading the files that MC22 just changed.  I see the issue.  Tag Dump shows no RATING field at all.  It's gone.  MC21 still shows the rating.  Even doing update Library from Tags does not change this.

B.  Using MC21 alone on local disk.  Set a rating.  Close MC21.  Use KID3 (free cross platform tagging tool) to DELETE the Rating tag.  Close KID3, open MC21.  Again, MC21 does not see the change, because the RATING tag is gone.

If instead I just change the rating tag using KID3, MC21 picks it up.  It seems that when MC sets the RATING to 0, that it also deletes that tag from the FLAC file. So when another MC reads that file again, it does not update the Rating as it's no longer in the file.

Brian.
Logged

Vocalpoint

  • Citizen of the Universe
  • *****
  • Posts: 2007
Re: MC Server Instance - not picking up tag changes made from standalone WS
« Reply #11 on: August 09, 2016, 01:12:44 pm »

I just tested this two ways.

A.  With MC22 making tag changes alone to files on local disk.  Then MC21 ALONE reading the files that MC22 just changed.  I see the issue.  Tag Dump shows no RATING field at all.  It's gone.  MC21 still shows the rating.  Even doing update Library from Tags does not change this.

B.  Using MC21 alone on local disk.  Set a rating.  Close MC21.  Use KID3 (free cross platform tagging tool) to DELETE the Rating tag.  Close KID3, open MC21.  Again, MC21 does not see the change, because the RATING tag is gone.

If instead I just change the rating tag using KID3, MC21 picks it up.  It seems that when MC sets the RATING to 0, that it also deletes that tag from the FLAC file. So when another MC reads that file again, it does not update the Rating as it's no longer in the file.

Brian.

Brian,

Awesome work. Seems like we are getting closer now. Here is my overall take on the scenario - starting from the initial introduction of the file to MC

SCENARIO 1: FIRST IMPORT

Assumption 1: File is created by any number of means or applications. Could MC or could not be MC
Assumption 2: File format is fully supported by MC
Assumption 3: File contains industry standard tags for that specific format. Some tags may have values - some may not

PROCESS

File is moved or copied to a network location being monitored by MC (either via Media Server or standalone instance)
Auto import runs - either by force (Pressing Run Auto Import Now) or by timed interval
File is analyzed and available tag data read and converted to info within the MC library
File now appears in MC library - ready for use

SUMMARY

MC absolutely gets everything right at first import. If the file had a rating - it reflects it correctly within MC
If the file does not have a rating - no rating stars appear on the track in MC
All other tag data looks correct and all is well

SCENARIO 2: Random File Access in the network location either MC or any other tool that can read/change/modify tag data

Assumption 1: No man's library is an island. Files (and file tags) can be changed by any number of ways and methods over any time period
Assumption 2: MC should be more than capable of navigating ANY changes to a file as long as the industry standard tags have been modified correctly
Assumption 3: Update For External Changes is on within the Library area of MC - so it is watching for changes.

PROCESS

File is changed in the network location by a random tool. Tool has the ability to read/modify and write industry standard tags back to the file.
File had a prior rating of 3 but is now changed to zero (no Ratings)
MC Auto import runs - either by force (Pressing Run Auto Import Now) or by timed interval
File is re-analyzed (since it already exists in the library) and available tag data read
The file metadata has no ratings flag or tag data
MC does not know what to do about the missing ratings tag so the ratings data is ignored and not updated in the library
All other relevant tag that was changed - is correctly updated in the MC library
File appears in MC library - but it still has it's old rating of 3

My guess is all is well during the Auto Import routine when ANY files are first imported to the library. But down in the bowels of code - probably somewhere within Library & Folders-Media Import->Update For External Changes - there is a glitch in how to handle the missing ratings tag. MC should Update for External Changes - the same way it does it's initial import

(cue some corny Psuedo Code :):

If (GetRatingsTagValueFromFile <> 0) Then
   'Display rating star value on imported file...
   DisplayRatingStarsValue = GetRatingsTagValueFromFile
Else
   'Display no rating stars
   DisplayRatingStarsValue = conNullStr
EndIf

I am hoping that this will get a little traction with DEV and hopefully a fix can be deployed. I would also hope that this fix would be considered for v21 as well - since of us are not ready to move just yet.

Thanks again to all that have contributed to the investigation.

Cheers!

VP

Logged
Pages: [1]   Go Up