robert5733 wrote: ↑Fri Aug 11, 2023 7:03 pm
When CCC does a full export, it is getting the covers, fanart and .xml from the media folder and saving it in the CMC_CCC folder? It is then on the constant lookout for changes to media folders, or just MM changes?
Yes, that is correct. And CCC does not look in the media folders, just MM changes.
Both CCC and CME pull data directly from the My Movies API. The main difference is where the data is stored after exporting.
CME stores the data (XML and artwork) in your media folders. This is why CME is good for portable collections. You can copy a few movies onto a portable drive and the metadata comes along for the ride, and then scan it while on the road with CMC and it only shows the movies your brought with you. When CMC scans your media folders, it builds a local CMC Movie DB. To improve speed, both CME and CMC can operate in a changes-only mode, so where only titles modified in My Movies get exported via CME, and any media folder changes get caught by CMC.
As the data flows from My Movies > CME > Media Folders > CMC, there's an opportunity for changes in your media folders to appear in CMC, even if it isn't in My Movies.
CCC stores the XML data directly into a CMC format DB, and the artwork in the local CCC directory that becomes a network share. It does NOT write to your media folders at all. In addition, CCC exports MORE data than CME, which at first seems odd since they both pull from the same My Movies API, but the main reason is that by going straight into the CMC DB, data for offline/virtual titles can be exported. CME can't do this since there's not a media folder to write for offline/virtual titles. Then when CMC syncs, it's simply grabbing the latest data directly from the CMC format DB that CCC created, so CMC doesn't look in your media folders either.
As data flows from My Movies > CCC > CMC directly, any changes you make to your media folders won't appear in CMC, unless you apply those changes to My Movies. That also means any custom/extra artwork you have in your media folders won't come into CMC. Essentially, CMC+CCC = WMC experience. CMC+CME is more like PLEX or XBMC.
Also, another benefit to CMC+CCC is speed. The export of data from My Movies to CCC/CME can take hours (for example, a Full Export on my collection is 2.5 hours with CCC, even longer for CME as it has to write to my server's media folders). CMC's folder scanning is fast compared to My Movies, it can scan & import all my media folders in 5-15 minutes. But CMC can sync with CCC in seconds (i.e. typically < 5 seconds).
For example, I've been testing the new user experience this past week with CMC v7. I already have CCC running, and I go and install CMC on a new PC, point it at CCC, and instantly have my full collection synced. Not 15 minutes, not 5 minutes, not even 1 minute. It's so fast, it feels impossible, even to me. It still boggles my mind that what takes 2.5 hours to go from My Movies > CCC, goes in mere seconds to CMC. Once you experience this, you don't want to use CME anymore...
robert5733 wrote: ↑Fri Aug 11, 2023 7:03 pm
Say I’ve been using CCC for a month and have watched 10 movies. CCC has sent the flag to MM to set them as watched. MM has updated the mymovies.xml as watched. That is the only change made to the movie folder for that movie is the .xml?
It's slightly more complicated. CMC updates CCC that those 10 movies have been watched. CCC supports multiple users (i.e. Wife/Kids/Guests), and so these movies can be tracked at watched for specific users. CCC maintains its own user accounts (these are NOT My Movies users), and Parental Restrictions are available too.
You can link a CCC user account to ALSO update My Movies that a movie is watched. So CCC has the 10 movies watched, and optionally they get marked watched in My Movies too (this always updates the primary My Movies account, as the My Movies API doesn't allow for specifying a particular user to update). And then CCC re-exports those 10 movies as "Changed" (there's bug in My Movies, it doesn't report them as changed, so CCC takes care of it automatically).
And then if you have CMC running on multiple PC's, the CCC data is synced to each PC, so every users Watch History (and Parental Restrictions and display preferences too) are always in sync on all PC's.
Now, if you watch 10 movies with CMC+CME, CMC will create text files in the media folders to flag those movie as watched. CME scans your media folders, and if it sees a flag file, it updates My Movies that the movie is watched. Also, due to that bug mentioned above, CME will re-export those 10 movies as if they were changed, so that the watched history is exported back to the XML file.
Note that if you are using both CCC and CME, the watch history can become out of sync with each other. For example, if you watch in CMC+CME, then the XML files get updated, but CCC does not. If you watch in CMC+CCC, then CCC gets updated, but CME and the XML files do not. This is because of that My Movies API bug, it doesn't report these titles as changed when the Watched flag is changed. An occasional FULL EXPORT in both CCC and CME can always sync this back up if it becomes a problem.
robert5733 wrote: ↑Fri Aug 11, 2023 7:03 pm
When CME does an export, it writes new mmtitle.xml, fanart, and covers to the media folders? (if force export is enabled) (CMC_CME won’t be used to watch movies, so no watched status updates will be flagged there. If used for travel, I copy the CMC_CME folder and movies wanted to flash, take them along and delete them after, so CMC_CME never knew anything happened)
This sounds correct. Your portable collection is isolated, so anything you watch there won't be reflected in CME/CCC/My Movies.
Note, you can easily toggle a movie between Watched/Unwatched, per user account, in the CMC GUI. The "Clear" button on the remote, also the Escape key on your keyboard, will toggle whatever movie you have highlighted. You can also open a movie's details and go to the last tab, Actions, to toggle. If you do this with CMC+CCC, then this watched history is stored in CCC, synced back to My Movies if you have that user linked, and also syncs over to all CMC+CCC PC's.
robert5733 wrote: ↑Fri Aug 11, 2023 7:03 pm
Say that now I got a new movie. I put it on the server and update MM and save meta data. I now need to open CMC_CME to update the mmtitle.xml, covers, etc. CME now sees the new movie as well as the 10 watched movies have changed .xml data. It will want to export these 11 titles. It exports, which changes the time stamp on the files.
Correct. And the changed time on the files is what allows CMC's Smart Sync to detect changes only.
robert5733 wrote: ↑Fri Aug 11, 2023 7:03 pm
Now I open CMC_CCC and it sees these 11 titles as changed/added and does an export, are any changes made to media folder (This would create an endless loop), or is it only changes to the CMC_CCC folder?
Yes, this is also correct. No changes to the media folder, as explained above. Only changes to the CMC_CCC folder.
But I would suggest a better method here. Leave CCC running all the time. This is needed to allow CMC PC's to sync to CCC. If CCC is running, then Watched History, User Account changes, collection changes, etc., may be synced to all PC's. And if you let CCC check for MM changes every 5 minutes (default interval, configurable), then essentially as soon as you make a change in My Movies, it will appear within minutes in CCC, and then on each CMC PC as soon as they sync next. It makes everything feel real-time, always up to date, just like WMC worked.
Note, if CCC is not running, then watched history events are queued up in CMC, waiting until the next sync when CCC is running again. So CMC+CCC will operate in a standalone mode when CCC is offline, very similar to CMC+CME. This is not ideal, it is just a fail safe so you can still use CMC when CCC is not running. But the design is to have CCC running all the time (on one PC only, shared to all PC's running CMC).
Similarly, if My Movies is stopped/offline/down/crashed, CCC will queue changes waiting for the next time My Movies is running. CCC can still sync the last exported collection changes and any Watched history events to all CMC PC's. CCC is the man-in-the-middle, he's still working even if My Movies is down, sharing data with all CMC PC's, and then when My Movies gets back from vacation it will sync up all changes in both directions.
One last thing I need to mention, since you're planning to use both CME and CCC - don't run them at the same time. My Movies is single threaded - it can only support requests from one user/program at a time. So if CCC is talking to My Movies, CME can't. And if CME is talking, then CCC can't.
I use both apps myself. I keep CCC running 24/7, scanning for changes every 5 minutes, and keeping all my CMC PC's synced up with the latest changes. About once a month, I stop CCC and launch CME, and do a Changes Only export to update my media folders. I personally only do this as a backup - should Binnerup close shop and My Movies ever die, I like the fact that I have XML metadata and artwork in my folders, so CMC will still work. Obviously your frequency for running CME will be different, maybe you'll do it weekly, or quarterly, or only before trips, whatever works for you. But just make sure stop CCC before running CME, otherwise if they both talk to MM at the same time, everything grinds to a halt and timeout errors can occur.
I know that was a lot, probably too much info. Take your time to digest it, hopefully it was clear and will answer your questions.