mczachurski / wallpapper

:computer: Console application for creating dynamic wallpapers for macOS Mojave and newer
MIT License
3.31k stars 137 forks source link

ACE XPC Error, Timings Not Working #50

Open defalive opened 3 years ago

defalive commented 3 years ago

Howdy. I am trying to use wallpapper to use the time-based cycling of some wallpapers.

When I run wallpapper, I get this:

`jacobs-mac-mini:wallpapper dzdj$ wallpapper -i PixelDayNight.json -o PixelDayNight.heic Reading JSON file: 'file:///Users/dzdj/Desktop/wallpapper/PixelDayNight.json'...OK. Decoding JSON file...OK (8 pictures). Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/08-Late-Night.png'...OK. Adding image and metadata...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/01-Morning.png'...OK. Adding image...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/02-Late-Morning.png'...OK. Adding image...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/03-Afternoon.png'...OK. Adding image...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/04-Late-Afternoon.png'...OK. Adding image...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/05-Evening.png'...OK. Adding image...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/06-Late-Evening.png'...OK. Adding image...OK. Reading image file: 'file:///Users/dzdj/Desktop/wallpapper/07-Night.png'...OK. Adding image...OK. Finalizing image container...AVEBridge Info: AVEEncoder_CreateInstance: Received CreateInstance (from VT) Assert - (remoteService != NULL) - f: /System/Volumes/Data/SWE/macOS/BuildRoots/2288acc43c/Library/Caches/com.apple.xbs/Sources/AppleAVEBridge/AppleAVEBridge-26.5.1/AppleAVEEncoder/AppleAVEEncoder.c l: 291 AVE XPC Error: could not find remote service Assert - (err == noErr) - f: /System/Volumes/Data/SWE/macOS/BuildRoots/2288acc43c/Library/Caches/com.apple.xbs/Sources/AppleAVEBridge/AppleAVEBridge-26.5.1/AppleAVEEncoder/AppleAVEEncoder.c l: 1960 AVE ERROR: XPC failed AVEBridge Info: connectHandler: Device connected (0x00007fd8dbd28310)AVEBridge Info: stopUserClient: IOServiceClose was successful.

AVEBridge Error: AVEEncoder_CreateInstance: returning err = -12908 OK. Saving data to file 'file:///Users/dzdj/Desktop/wallpapper/PixelDayNight.heic'...OK.`

It seems to be outputting the heic, but the timings don't seem to line up. My assumption is that this is based off of zulu/utc time, so that is what I put in the json.

[ { "fileName": "08-Late-Night.png", "isPrimary": true, "time": "2021-06-11T06:00:01Z" }, { "fileName": "01-Morning.png", "time": "2021-06-11T11:00:00Z" }, { "fileName": "02-Late-Morning.png", "time": "2021-06-11T14:00:00Z" }, { "fileName": "03-Afternoon.png", "time": "2021-06-11T17:00:00Z" }, { "fileName": "04-Late-Afternoon.png", "time": "2021-06-11T20:00:00Z" }, { "fileName": "05-Evening.png", "time": "2021-06-11T22:00:00Z" }, { "fileName": "06-Late-Evening.png", "time": "2021-06-11T00:00:00Z" }, { "fileName": "07-Night.png", "time": "2021-06-11T01:00:00Z" } ]

I wonder if it has to do with the ACE XPC Error that is failing.

I am on a 2018 Mac MIni, Xcode 12.5 (12E262) and MacOS 11.3.1.

mczachurski commented 3 years ago

You can generate your file and then run: wallpapper -e PixelDayNight.heic. That command extract metadata saved in heic file. macOS also it's not changing wallpaper precisely in time saved in wallpaper.

However for that kind wallpaper (morning/evening etc.) it's much better to use sun coordinates. Then the wallpaper is independent of the season (in summer, morning is at a different time than in winter.).

ic0056 commented 3 years ago

Don't know if you got this working but I got the same error and I compared the metadata (with -e) from a working .heic with my non working one and they are exactly the same. I have no idea why but when I open my non-working .heic (by non working I mean it doesn't change over time) in preview, export it as a .heic again, it started working.

Naenyn commented 2 years ago

I have this same problem. Having never seen heic metadata, mine seems reasonable:

---------------------------------------------------
Metadata key: tiff:Orientation
    value: 1
---------------------------------------------------
Metadata key: apple_desktop:h24
[APPERANCE]
    image index: 1, dark
    image index: 0, light
[TIME]
    image index: 0, time: 0.25
    image index: 1, time: 0.75
---------------------------------------------------
Metadata key: iio:hasXMP
    value: True

However, mine doesn't appear to change. On a side note, the dropdown for wallpaper choice (where I would normally choose 'Dynamic') is also very confused. image This is with v1.7.2 from homebrew on Big Sur. Any ideas?

Sidharth-Shreedhar commented 2 years ago

So to fix the glitched selector, I found a neat trick. In the Library folder within the System folder, there is another folder called "Desktop Pictures", and from what I found, It has special properties for System Preferences. If you copy and paste that folder (maybe not the contents, as it is like 4-5GB in size) to the Library folder that is NOT in System, you can eliminate this glitch. This trick worked on Mojave, Catalina, and Big Sur in the latest patch. I'm not sure about the timings though, as I have also been frustrated to my wit's end with the incorrect timings this program spits out. I'm going to open a new issue on that manner.

gravyraveydavey commented 2 years ago

I had the same issues as above - managed to fix them by

  1. using the altitude + azimuth method rather than system clock method
  2. removing the 'isForDark', 'isForLight', and 'isPrimary' keys from the JSON before generating the heic file
    Looks like these keys are what confuses the wallpaper dropdown - without them the dropdown works as intended and identified the wallpaper as a dynamic one.

The timings are still messed up with the altitude + azimuth method though - the wallpaper is changing, but looks like it's following US time (rather than London, where I set the lat long coords. But maybe I just screwed that bit up)