Code Monkey home page Code Monkey logo

rocksdanister / lively Goto Github PK

View Code? Open in Web Editor NEW
13.9K 13.9K 1.0K 270.19 MB

Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3.

Home Page: https://rocksdanister.com/lively

License: GNU General Public License v3.0

C# 84.06% Inno Setup 15.94%
ai csharp desktop desktop-wallpaper dynamic-desktop dynamic-wallpaper fluent-design live-wallpaper screensavers wallpaper wallpaper-app wallpaper-changer wallpaper-engine wallpaperengine wallpapers widgets windows-10 windows-11 windows-app winui

lively's People

Contributors

dejohansson avatar everything411 avatar hui-shao avatar pegasy avatar rocksdanister avatar thecakeisnaoh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lively's Issues

Separate properties files & default values for web walpaper customisation..

Currently property values of web wallpaper customisation paramters are stored in the LivelyProperties.json file in the parent wallpaper folder.

If more than one instance of the wallpaper is run (in multiple screen system) simultaneously, the latest value is stored discarding the other wallpaper instance's value.

Solution:

What I'm thinking of doing is making a copy of the LivelyProperties.json file:

SaveData\wpProperties\{Parent wallpaper foldername}\{Display device name}\LivelyProperties.json

Parent wallpaper foldername is unique since its randomly generated when wallpapers are installed.

Display device name can change due to driver install etc, but its very rare.

This also means I can provide a Restore To Default button to restore values to default by replacing the properties files with the original.

livelySubProcess pathData is wrong

If user ends livelywpf.exe using taskmgr/av kills it/unhandled-exception and if web/external-application based wallpapers are running, they will continue to run & will not terminate.

Just need to update the pathData from "LivelyWallpaper" to "Lively Wallpaper"

private static string pathData = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "LivelyWallpaper");

This is not a big deal seeing as v0.6.5.0 onwards this was an issue and nobody had problem, so not updating imediately.

stuck in safe mode

Hi, my lively is stuck in safe mode and wont start on boot automatically anymore. How do I clear this flag?

Here's my errorlog if this helps:

2020-05-08 09:11:37.3728|INFO|livelywpf.SystemInfo|Lively v0.9.5.5 en-US  64Bit:False
2020-05-08 09:11:37.3889|INFO|livelywpf.SystemInfo|Portable build: False
2020-05-08 09:11:37.4498|INFO|livelywpf.SystemInfo|OS: Microsoft Windows 10 Pro 10.0.18363
2020-05-08 09:11:38.4775|INFO|livelywpf.SystemInfo|CPU: Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz
2020-05-08 09:11:38.5096|INFO|livelywpf.SystemInfo|GPU: Intel(R) UHD Graphics 630
2020-05-08 09:11:38.5096|INFO|livelywpf.SystemInfo|GPU: NVIDIA GeForce RTX 2070
2020-05-08 09:11:39.3482|DEBUG|livelywpf.MainWindow|Detected Displays:- Screen[Bounds={X=0,Y=0,Width=3440,Height=1440} WorkingArea={X=0,Y=0,Width=3440,Height=1400} Primary=True DeviceName=\\.\DISPLAY1
2020-05-08 09:11:39.3482|DEBUG|livelywpf.MainWindow|Detected Displays:- Screen[Bounds={X=3440,Y=174,Width=1920,Height=1080} WorkingArea={X=3440,Y=174,Width=1920,Height=1040} Primary=False DeviceName=\\.\DISPLAY2
2020-05-08 09:11:39.3482|DEBUG|livelywpf.MainWindow|Detected Displays:- Screen[Bounds={X=-1920,Y=192,Width=1920,Height=1080} WorkingArea={X=-1920,Y=192,Width=1920,Height=1040} Primary=False DeviceName=\\.\DISPLAY3
2020-05-08 09:11:39.3482|INFO|livelywpf.MainWindow|Display(s) wallpapers to load:-\\.\DISPLAY1
2020-05-08 09:11:39.3482|INFO|livelywpf.MainWindow|Display(s) wallpapers to load:-\\.\DISPLAY2
2020-05-08 09:11:39.3482|INFO|livelywpf.MainWindow|Display(s) wallpapers to load:-\\.\DISPLAY3
2020-05-08 09:11:39.3482|INFO|livelywpf.MainWindow|Restarting/Restoring All Wallpaper(s)
2020-05-08 09:11:39.3672|INFO|livelywpf.MainWindow|Setting up wallpaper:-C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\hglpjcv3.q0b\ribbon.html
2020-05-08 09:11:39.7296|INFO|livelywpf.MainWindow|Setting up wallpaper:-C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\hglpjcv3.q0b\ribbon.html
2020-05-08 09:11:39.7427|INFO|livelywpf.MainWindow|Setting up wallpaper:-C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\hglpjcv3.q0b\ribbon.html
2020-05-08 09:11:40.0686|INFO|livelywpf.SetupDesktop|Cefsharp Handle:- HWND132678
2020-05-08 09:11:40.0846|INFO|livelywpf.SetupDesktop|Sending WP -> Screen[Bounds={X=-1920,Y=192,Width=1920,Height=1080} WorkingArea={X=-1920,Y=192,Width=1920,Height=1040} Primary=False DeviceName=\\.\DISPLAY3
2020-05-08 09:11:40.0846|INFO|livelywpf.SetupDesktop|Cefsharp Handle:- HWND132658
2020-05-08 09:11:40.1246|INFO|livelywpf.SetupDesktop|Relative Coordinates of WP -> -1920 0 1920 1080
2020-05-08 09:11:40.1246|INFO|livelywpf.SetupDesktop|Coordinate wrt to screen ->0 192 1920 1080
2020-05-08 09:11:40.1246|INFO|livelywpf.SetupDesktop|Sending WP -> Screen[Bounds={X=3440,Y=174,Width=1920,Height=1080} WorkingArea={X=3440,Y=174,Width=1920,Height=1040} Primary=False DeviceName=\\.\DISPLAY2
2020-05-08 09:11:40.1436|INFO|livelywpf.SetupDesktop|Relative Coordinates of WP -> 3440 5360 1920 1080
2020-05-08 09:11:40.1436|INFO|livelywpf.SetupDesktop|Coordinate wrt to screen ->5360 174 1920 1080
2020-05-08 09:11:40.1697|INFO|livelywpf.SetupDesktop|Cefsharp Handle:- HWND132640
2020-05-08 09:11:40.1697|INFO|livelywpf.SetupDesktop|Sending WP -> Screen[Bounds={X=0,Y=0,Width=3440,Height=1440} WorkingArea={X=0,Y=0,Width=3440,Height=1400} Primary=True DeviceName=\\.\DISPLAY1
2020-05-08 09:11:40.2046|INFO|livelywpf.SetupDesktop|Relative Coordinates of WP -> 0 3440 3440 1440
2020-05-08 09:11:40.2046|INFO|livelywpf.SetupDesktop|Coordinate wrt to screen ->1920 0 3440 1440
2020-05-08 09:11:40.2666|INFO|livelywpf.SetupDesktop|searching workerWOrig..
2020-05-08 09:11:40.2666|INFO|livelywpf.SetupDesktop|searching again shell_tray..
2020-05-08 09:11:48.9745|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\1h25kx5m.pbu\sparks.html web
2020-05-08 09:11:48.9745|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\1hmabjcr.b03\triangle.html web
2020-05-08 09:11:48.9855|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\242tny3g.eod\index.html web_audio
2020-05-08 09:11:48.9855|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\2elw0opr.keh\index.html web
2020-05-08 09:11:48.9855|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\33355vpr.tlr\Index.html web
2020-05-08 09:11:48.9855|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\3kvukeqz.tsw\totem.html web
2020-05-08 09:11:48.9855|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\a4ij400r.t3e\cloud.html web
2020-05-08 09:11:48.9855|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\achuvtv0.2ls\magneto.html web
2020-05-08 09:11:48.9975|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\djcze13f.mlq\eternal_light_version2.mp4 video
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\fcyn5jal.wj2\index.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\gyl1gr5r.hq4\waves.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\gzmbwao1.2ii\index.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\hglpjcv3.q0b\ribbon.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\huryleus.43p\index.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\kjmvxfbx.epw\cinemagraph.mp4 video
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\pfchnl4j.ug1\fish.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\s1qdxgqn.hhx\index.html web
2020-05-08 09:11:49.0466|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\tqowwv21.wbu\index.html web
2020-05-08 09:11:49.0626|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\upqwyiur.c4g\index.html web
2020-05-08 09:11:49.0626|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\xqglwoqq.wc2\index.html web
2020-05-08 09:11:49.0626|INFO|livelywpf.MainWindow|Loading Wallpaper (wp dir):- C:\Users\adamg\Documents\Lively Wallpaper\wallpapers\y35u3cls.oyy\index.html web
2020-05-08 09:11:49.0626|INFO|livelywpf.MainWindow|Loading Wallpaper (absolute path):- https://www.shadertoy.com/view/lscczl url

Span wallpaper paused when only one monitor is obscured

Environment

I have a wallpaper loaded on Span mode.

Expected behaviour

When I full-screen an app on one monitor the wallpaper should continue to play in the background.

Actual Behaviour

When I full-screen an app on one monitor the wallpaper pauses on the other monitor as well and goes black (see #20). Moving focus to the empty monitor by clicking on the desktop or a window causes the wallpaper to resume until focus returns to the full-screen app.

image

Rainmeter compatibility

Rainmeter docks and widgets are a perfect compliment to Lively wallpaper, but often with most Rainmeter skins, when interacted with, the lively wallpaper cuts to a black screen. The picture and animation don't return until the wallpaper is clicked on. I assume this code was intentional to optimize computer performance in other applications, but for Rainmeter, it would be nice to leave wallpaper animations running while interacting with widgets. Is there a way to make Rainmeter more compatible with Lively Wallpaper?
ezgif com-optimize (1)

Dual monitor problems with background usage

I've noticed an issue, if you use more than one monitor, even though both monitors are in use, the program only stops the background on one screen. You can see this if you peek the at the desktop using the bottom right "peek at desktop feature". One screen turns black and the other keeps animating, and this thus eats resources to an in use screen.

slight blink on mp4 loops

When I use any mp4 file, it has a slight blink when the video loops. I've converted the same mp4s to gif and the blink goes away, so it seems to be related to mp4 files. Codec is H.264/MPEG-4 AVC on all these files.

Increase preview .gif capture resolution

Currently preview animated gifs for wallpapers are created by capturing 192x108 resolution 60 screenshots for 4seconds.

This can be increased to 384x216 or higher(add variable in SaveData config file) for future use when the UI design changes and higher resolution previews might be required.

Some videos don't work / Appear correctly

I've made my own animated background. However when trying to apply it as a background, it's just a black image. This has happened specifically when I exported my video as a .mov, using the H.264 codec, with lossless compression, bringing the file size to 110 MB.

With some lossy compression, bringing the file size to around 8 MB, it finally shows an image, however it now appears brighter then it should except for the last frame.
Snipaste_2020-05-08_16-04-52

I've tried switching the video player from Media Foundation to DirectShow, but with the exact same results.
One other thing I've noticed is when I downloading a animated background online with the same format, it displayed on lively exactly the way it should. So kinda lost on what is causing the problem.

Portable build: Check windows startup registry filepath

If different portable build is run without removing the registry filepath of lively in windows startup will still point to previous lively location even if the UI appears checked.

This is because I'm only checking if the livelywpf key exists on startup entry, not its value.
Current workaround is to uncheck and check "Start with Windows" toggle on the latest portable build after update.

TODO: Verify file location also, not just if the lively key exists

private static bool CheckStartupRegistry()

This should not be an issue with installer build.

Keyboard interaction

Keybord input support, similar to mouse interaction: #30
Warning will be shown before enabling this feature.

GPU is running at 100%

Is it normal for GPU to run at 100% when using lively. Mine runs at 100% on certain lively wallpapers.

Display disconnect behavior change.

Currently wallpaper is removed from the list if the display in which its running is disconnected.

wallpapersToBeLoaded = wallpapersToBeLoaded.Except(toBeRemoved).ToList(); //new list

I think its better to retain the settings, and restore in the event display is reconnected.
Screen class Devicename is very unreliable and will not generate same name for same display always, so will need to extract further information to ensure its the same display; also show greyed out display image in display layout window.

Custom Path for CEF

As I am using Onedrive, every folder in %Documents% gets synchronized, including the wallpapers and CEF. I only have the free version of 1drive, so I would really like to use those >220MB in a better way. How can I change the path to CEF and the other stuff to something like %APPDATA%\Local\Programs\Lively Wallpaper\external\cef?

Cannot set wallpaper with type "Web Audio Reactive"

Currently i can't set wallpaper with type "Web Audio Reactive", set from Library (Fluids), from Lively .zip wallpaper (Fluids v2) or using wallpaper creation in "Type" tab -> Audio Visualizer -> HTML, still not working just show default windows wallpaper.

But drag html file or use "Type" tab -> Web -> HTML will show wallpaper creation dialog and i can set wallpaper, but without Audio Visualizer.

Trying both Installer and portable version, same problem.

Lively version: v0.9.5.0
Windows version: Windows 10 1909 10.0.18363

Here is log file, look like lively not find Cefsharp Handle.
logfile.txt

Display static wallpaper when cef is paused.

Currently I'm minimizing the browser to let cef know to stop rendering, the side effect is the wallpaper region becomes black; there does not seem to be a function to stop rendering in non-headless cef as far as I can see.

Need to find a better solution, off the top of my head I can think of some ideas:

  • Saving a previous image buffer(?) right before being minimized and displaying it.
  • Injecting some JS code to block execution in webpage?
  • Get pid of all of cef's BrowserSubprocesses and force pause it (like to avoid this if I can.)

How to use an openframeworks or processing ap as background.

Bit of a noob here.
But since web is a terrible environment for motion design i was wondering how one whould go about running an openframeworks app or processing ap instead and how you whould format the files in the zip.

THX for making this,
U my hero.

traymenu wallpaper peek/changer.

Wallpapers will be listed in lively system-tray menu, with a quick preview of each wallpaper appearing on screen as you hover over the menu items.

Wallpaper not changing.

When even i try to change the wallpaper it just doesn't work and goes back to normal desktop unless it has audio which will start playing. The only solution i found is to load the wallpaper i want then reboot or log out then start the app again and it will loud up fine.

Volume Sliders for Audio Output

Currently it's possible to Enable or Disable audio on Video, Browser, Streams and Aplications used as a wallpaper, but would be really nice to have sliders to control volume!
Imagine booting up the computer and having as wallpaper that nice Chill Music Stream art with some nice quite music on the background from the stream :)

Wrong wallpaper size on second display

Downloaded the software yesterday. I'm running Windows 8.1. It didn't display the wallpaper with the appropriate size on my second monitor. Instead of full screen, it shows up in reduced size. Upon closer inspection, it might be the size of my first monitor. Setting the layout to "Span" does fill the second display correctly, while "Duplicate" and "Per Display" don't.

While trying different wallpapers and layouts, the issue seemed to have corrected itself. Later, it resumed its glitchy behaviour, after restarting the program. I haven't managed to make it work properly since (though "Span" does still work as intended).

Feature Request: Automatically change wallpaper based on weather and sunrise/sunset times

Hi there, thanks for all your work on what looks like a great app! I found your work via an old reddit post of yours about having wallpaper change depending on time of day and weather. It looked like that got spun off into RePaper, but when I went to to download it, it suggested getting this project instead. I did so assuming it had the same features, but it looks like that's not the case (unless I'm misreading settings somewhere). I tried rePaper but it looks like instead of selecting a wallpaper, it does some (pretty impressive) weather overlay effects instead. I personally don't need you to replicate those into Lively, I can see they're two distinct products. But it would be great if you could add the original concept to Lively.

Just to give a concrete example, I've got a number of photos I use for desktop photos that were taken at different times of day and in different weather. I'd be happy to set them each manually to "day-clear," "night-clear," "night-rain," etc. and I'd love for Lively to choose my wallpaper corresponding to the actual weather and day/night time where I am now. Any chance that feature could be added?

Thanks again!

Smartscreen warning

Basically the lively installer is blocked by windows smartscreen filter, can be bypassed by clicking More Info -> Run anyway.

https://support.microsoft.com/en-in/help/17443/microsoft-edge-smartscreen-faq

SmartScreen also checks the files that you download against a list of files that are well known and downloaded by many people who use Internet Explorer. If the file that you're downloading isn't on that list, SmartScreen will warn you.

It will go away after some amounts of download, but the problem is as I update my application with new version, the new installer will also get flagged unless I sign & let windows know its the same application.

Microsoft recommended EV Certificate is expensive, there are some free alternatives for foss projects.. after looking at it the documentation requirement is huge though, lots of work, not sure if I want to spend time on it...will have to look into it later.

Some old discussion on it: MonoGame/MonoGame#3189

Delete wallpaper property copy file.

When wallpaper is deleted from Library, also delete the copy of its property file: #23

Since I forgot to do this already in release, might be better to do a quick scan during application startup to check if any of the folder in wpdata is missing compared to installed wallpaper folder & delete them.

Refactoring & cleanup

Maintaining and adding features to current code is nightmarish at best.
Trying to clean everything up and write better code in refactoring fluent branch

There won't be any new lively update for the time being unless its some critical problem fix.

Screen-saver/Display-sleep not working with video wallpaper

Since media foundation is using windows mediaplayer instance:

Open windows media player rightclick empty area top - > Tools - > Options and then select Allow screen saver during playback.

fixes the issue, would be nice to do this in lively itself; currently not sure how.
For now added instructions on wiki: https://github.com/rocksdanister/lively/wiki/Common-Problems

Mpv player has this issue, could not find a flag for it: https://mpv.io/manual/master/

Mediakit does not have this issue.

strange value on audioArray

i got this
image
and this my code
$("#console").html(audioArray[0]+" - "+audioArray[1]+" - "+audioArray[2]+" - "+audioArray[3]+" - "+audioArray[4]+" - "+audioArray[5]+"<br/>Bass : "+bass);
is am i wrong?

EDIT : on every audioArray 0 2 4 6 8 etc the value only 1 and 0, every 1 3 5 7 etc large value and all same..

Automatically use high performance graphics card on gaming laptops.

I have a gaming laptop that has two GPUs, a low power integrated Intel GPU, and a high power NVIDIA GPU. By default any given program is run with the lower powered GPU to save power, since it's a laptop. This means that some desktops are slow. I can override the default setting in the NVIDIA control panel, but it is possible to indicate that your program should use the high powered GPU.

I found this page and this pdf which describe how to do so.

Basically, you export a global variable named NvOptimusEnablement as 1.
The example code given is

extern "C" {
     __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

Unfortunately, as far as I can tell, you can't do this kind of export by default in C#. The only thing I found is a library: DllExport, but I'm not sure it works with variable exports.

I totally understand if you don't want to add a library to your project just for this one thing. Alternatively, you could add a section to the README, something like: "If lively is slow on your laptop, check to see if it's running on the right graphics processor.

Video stuttering/choppiness

Noticed micro stuttering/frame skipping(?) for some video files.

How to reproduce:
Playback of jellyfish-3-mbps-hd-h264.mkv using Media Foundation/Mediakit.

Attempts to fix the issue:

  • Made a separate binary build of videoplayer: No Success.
  • Re-encoded the video file to x264 vbr 30/60fps: No success.
  • Tried playing it using external mpv video player: Success
  • Tried without adding the video window as workerw childwindow: No Success.
  • Tried adding load to gpu to verify whether its downclocking issue: No Success.
  • Tried turning off HW Accel for wpf: No Success.

I think this problem is due to some wpf feature like variable framerate?, needs further testing.

Looks like I was right lol, found this ancient article: https://rhnatiuk.wordpress.com/2008/12/21/wpf-video-playback-problems/

Windows N missing media pack

Windows N doesn't include the media pack (windows media player), which causes an error of lively when loading a video (as it uses the windows integrated media player, I believe). An external media player (VLC for example) should be integrated/connectable.

Mouse interaction

Basically using hooks to capture mouse data & forwarding using PostMessage to the wallpaper HWND.
Clicks will be disabled when not on desktop, movement will still be forwarded.

Once its ready you can just use usual functions in Javascript(for webpage) or your code of choice to retrieve mouse location & clicks.

Preview (web wallpapers): https://youtu.be/mhhmV-DSjGY

//Sample code
UInt32 lParam = Mouse.Y;
lParam <<= 16; 
lParam |= Mouse.X;
PostMessageW(HWND, WM_LBUTTONDOWN, (IntPtr)0x0001, (IntPtr)lParam);

Reference: https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-lbuttondown

Commandline support - Method to automate choosing between desktops.

I think it would be handy to have a way to change visualizations through some sort of automatable system. It could be:
Rest API
Command line parameter
shortcut keystroke
etc.

I think that would allow for some interesting 'home automation' scenarios..for instance I could then work to integrate it with home assistant, and then tell alexa 'set halo scene' and have my desktop change to a halo background....

This could also enable stuff like 'if I detect netflix on the tv, change background to a movie poster' scenarios.

Right now I am not sure if there is a way to do this or not.

Auto-update Youtube-DL when present

If the youtube-dl executable is present on the Documents\Lively Wallpaper\external\mpv\ folder, maybe youtube-dl could be run at Lively startup with the "-U" flag. This flag replaces the current executable with the new updated version.

EDIT: Maybe not at each startup, because of startup time, but atleast once a day.

Failed to load stream on v0.8.0.0

mpv and youtube-dl are installed correctly, but still show this error message box immediately.
I'd tried restart the system but nothing helps.
Try to follow the instruction but there's hardly to find the method about adjusting waiting time in wiki.

Screenshot for the message box :
The wallpaper is taking too long to start

logfile.txt (surprisingly there's empty in the Documents\Lively Wallpaper\ErrorLogs) :

2020-02-09 18:12:45.6824|INFO|livelywpf.MainWindow|Setting up wallpaper:-https://www.youtube.com/watch?v=VgXwSdJNks8
2020-02-09 18:12:45.7685|INFO|livelywpf.SetupDesktop|Error: could not get windowhandle after waiting..
2020-02-09 18:12:45.7685|INFO|livelywpf.SetupDesktop|Error: could not get windowhandle after waiting..
2020-02-09 18:12:45.7685|ERROR|livelywpf.SetupDesktop|System.InvalidOperationException: Cannot process request because the process (13504) has exited.
   at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
   at System.Diagnostics.Process.Kill()
   at livelywpf.SetupDesktop.<SetWallpaper>d__34.MoveNext()

cef video support

I would like to be able to overlay the Rain effect on my own imported video wallpapers and images if at all possible.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.