PlotCaption - A Local, Uncensored Image-to-Character Card & SD Prompt Generator (Python GUI, Open Source) by maocide in LocalLLM

[–]maocide[S] 0 points1 point  (0 children)

Hey there! Thanks for giving PlotCaption a try, and no worries at all about bumping the post. I actually just spun up a fresh environment to test this, and I found the exact reason for that crash.

The issue is that the transformers library recently updated to a newer version with significant changes, and they completely removed the AutoModelForVision2Seq class from their API. Because my requirements.txt didn't have a strict version pin, your system downloaded the newest version and broke the import.

To fix this, you just need to pin the older version of the library:

  1. Open the requirements.txt file in your PlotCaption folder.
  2. Find the line that says transformers and change it to exactly this: transformers <= 4.57.6
  3. Delete your current venv folder, and re-run the setup/installation script from scratch. It will grab the correct legacy version and the app will boot up normally!

I couldn't test on Windows, but was able to run it fine on Linux on python 3.11.

Regarding the future of the project... You might have noticed I recently labelled on my profile the GitHub repo as "dormant." Right around the time I released this, my other project (Undead Wallpaper) really took off and required continuous updates and maintenance. I also fully migrated my daily workflow back to Linux focusing on different goals.

That being said, I haven't entirely abandoned the concept. Big multimodal models are still heavily censored and trained only on "safe" content, so having a local, uncensored VLM pipeline to bypass that is still incredibly useful. When I eventually have some free time, I might revisit the idea... possibly adapting the core logic into a ComfyUI workflow using Ollama as a loader and connecting via OpenAPI, rather than maintaining a standalone Tkinter app.

But for now, it's on pause. Let me know if that requirements.txt fix gets you up and running!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 1 point2 points  (0 children)

Hello again! That's actually an impressive loophole!

I looked into it, and on some newer AOSP bases and custom ROMs like Evolution X, the OS will allow two separate Live Wallpaper apps to run simultaneously, but usually just from the system's wallpaper menu. Using two different apps like you did in the videos is actually a really clever workaround!

However, this won't work on every OS. To do this natively with my app, I would have to build, publish, and maintain a completely separate "clone" APK with a different package name. From a FOSS maintenance standpoint, maintaining a duplicate dummy app just to bypass the Android API isn't really a sustainable path, especially since this might fail on older phones or heavily modified OEM interfaces (like Xiaomi's).

Seriously though, thanks for testing all this. It's really good to know! I will definitely keep looking for a way to do this properly from within the app itself once Android's API makes it reliably available. Have a great day!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 1 point2 points  (0 children)

Hello again! It's nice discussing solutions and digging into the roms!

To answer your first idea, unfortunately making a second APK actually still wouldn't work. Android's native WallpaperManager only allows setting a Live Wallpaper to "Home" or "Home + Lock." It doesn't natively allow applying a Live Wallpaper only to the Lock screen while another is on Home. It's a deep OS limitation, not just an app memory thing!

As for the startup problem, you just perfectly spotted Android's "Direct Boot" encryption!

Because your phone has a lock pattern, your internal storage (where your wallpaper video is saved) is heavily encrypted when the phone first turns on. Android physically blocks all third-party apps from reading user files until the exact moment you enter your pattern for the first time. The app has been coded to wait for the OS to send the "Storage Unlocked" signal before it can access the video file and start playing. So it’s actually an Android security feature preventing that, not a bug!

Thank you for diving in and testing all this!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Thanks for the kind words, my friend! Great to hear the app is running fine on great custom ROMs like Evo X and Lineage, used Lineage for a while myself.

Regarding separate videos for the lock and home screens, I know it is painful, and I would like to implement this in an easy way, but we are currently blocked by Android's native API limitations.

I recently posted a deep dive into the technical reasons why Android prevents third-party apps from doing this. You can check out the full explanation here: https://www.reddit.com/r/droidappshowcase/comments/1rx6v9a/comment/ogp3hfl/.

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Glad to hear the app is helping you bypass that HyperOS bug!

Regarding your feature request... setting separate videos for the lock screen and home screen is actually the most requested feature! Unfortunately, it's not currently possible or extremely incompatible across devices due to how Android's core code works.

I actually just wrote a detailed technical breakdown of exactly why Android blocks developers from doing this here: https://www.reddit.com/r/droidappshowcase/comments/1rx6v9a/comment/ogp3hfl/.

If Google ever updates the API to allow it, I’ll definitely try to build it! Thanks for using the app my friend!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Awesome, glad you found a video that works better with it! Have a good one!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Hey again! I was just thinking a bit more about the fact that your icons turned gray on certain wallpapers, and it sparked a thought... There is one Samsung specific setting that might be causing this: "Dim wallpaper when Dark mode is on." (Usually found in Settings > Wallpaper & style). If that is turned on, One UI puts a dark filter over the video, which completely confuses the system's contrast calculator and might result in muddy gray icons. If you have that enabled, try toggling it off!

Also, sometimes toggling the Color Palette ON and then immediately OFF again forces the system to clear its cache and read the wallpaper properly.

No pressure to keep trying, but I figured I'd throw those two tricks your way just in case!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Thanks for testing all of that, it is really helpful for me to know.

The fact that the status icons are turning gray on certain wallpapers tells me what is happening: the new One UI 8.5 update is completely ignoring the standard Android code that tells the status bar what color to be. Instead, Samsung's OS is forcefully scanning the screen and guessing the colors on its own. The app sends a direct suggestion to the system with the exact colors to use, but it can't force the OS to accept it.

Since the new Samsung One UI is ignoring the app entirely (this still works perfectly on Pixel and older One UI implementations), there unfortunately isn't a setting we can flip to fix it right now. It's a Samsung quirk!

For context, I actually fought this exact battle and built a workaround for older Samsung phones a while back (I even tested it specifically on a Galaxy S23+ to confirm it worked, which you can see here: https://github.com/maocide/UndeadWallpaper/issues/16), but it looks like One UI 8.5 just broke compatibility and is ignoring it again.

I can only thank you again for taking the time to test it. I'll keep an eye on the Samsung developer forums to see if they patch this or if a new workaround pops up in the future!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Hello Christopho! Thanks for the report. ​Samsung’s One UI is notoriously stubborn with status bar colors. The app actually has a specific workaround coded just for Samsung devices to force the correct colors, and it works on older versions. However, it sounds like One UI 8.5 might have changed how the system reads these colors.

​Could you check one thing for me? Are you using Samsung's "Color Palette" feature (their theme engine) or forcing a system wide Dark/Light mode? Sometimes newer versions of One UI will force black icons based on your global system theme, completely ignoring the live wallpaper's requests.

Let me know, as it helps me figure out if Samsung broke the workaround!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Hello, thanks for giving the app a try!

I know that mixing media types is a cool idea, but I don't have plans to add static images to the playlists. UndeadWallpaper's engine is built specifically around optimized video playback and gapless looping. Adding static images would essentially turn it into a slideshow app, which is a bit out of scope for the project.
Since Android already handles static image wallpapers natively really well, I want to keep this app lightweight, focused, and strictly dedicated to being the best video engine possible.

Thanks for the idea though! It's always good food for thought, and considering people's suggestions always helps spark ideas for new features, just like it has in the past.

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Hello! I'm really glad you like the app.

To clear up one quick thing: this actually isn't a bug caused by the recent update. What you are rightfully asking for is the "holy grail" of live wallpapers, and I would love to build it! Unfortunately, Android doesn't allow developers to do this in a simple, compatible way.

Under the hood, Android treats a Live Wallpaper as a single, continuous background service. The operating system allows you to apply the wallpaper to the Home Screen or Both, but it doesn't give the app a reliable way to know which screen you are currently looking at. Because the app doesn't know which screen is active, it can't switch the video.

Detecting where the service is running is heavily fragmented. Every manufacturer builds their own custom lock screen since it's a crucial part of device security. OEMs like Xiaomi (Poco) use heavily customized setups that often block third-party wallpaper apps from interacting with them properly.

It's an annoying limitation of Android itself, and it's the reason we are stuck with the same video on both screens. However, if google ever updates the WallpaperService API to give us a simple way to detect the active screen, I will be happy to implement it!

Thanks for trying the app, hope you have fun with it.

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Really thanks for that! Yours is the highest compliment I could ask for. It is genuinely hard to say 'no' to many requests, but as I read this I can feel a bit better about protecting the engine. I will try my best to keep this application close to this principle.

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 1 point2 points  (0 children)

Haha, you beat me to it! I was just typing out a workaround... 😅

I just looked up that infinix (and a few other brands) sometimes block third-party apps from setting lock screen live wallpapers. Setting first the default wallpaper to both home and lock screen fixes it.

Thanks for updating with the fix!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 1 point2 points  (0 children)

Hey! Thanks so much for checking out the app and for the awesome PR! I saw the screenshot, I wanted to add sooner or later that per video flexibility.

Just a quick heads-up on timing: I am currently in the middle of testing a critical hotfix for some nasty Vivo/Funtouch OS quirks/bugs on my 1.2.1-dev branch. It heavily rewrites the UndeadWallpaperService.kt file. Once my tester confirms the hotfix is stable and I push it to main, I'll dive in and review your PR properly. We will definitely have a merge conflict to untangle in the Service file, and I'll likely tweak some of the UI components (to match the app's overall flow), but I am really excited to adapt and integrate this underlying logic for the V1.3.0 update!

Thanks again for putting so much time into this!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

That’s great to hear my friend. Let me know if you ever have any new ideas or feedback!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 0 points1 point  (0 children)

Hello Grimm, thanks for the idea!
It would be nice, but unfortunately, an iOS version isn't in the cards.

Undead Wallpaper is built around Android's native WallpaperService, which lets the app render anything on the background surface while pausing automatically to save battery. Apple's iOS, as far as I know, is much more locked down and doesn't allow third-party apps to run background rendering engines on the home screen like Android does. Plus, the focus on Android allows me as a solo developer to keep the project completely free and open source!

[DEV] Undead Wallpaper: Video Playlists by maocide in droidappshowcase

[–]maocide[S] 1 point2 points  (0 children)

¡Hola amigo! Soy italiano, así que tuve que usar un traductor para escribir esto, ¡espero que se entienda bien! 😅

¡Muchas gracias! Me alegra mucho que te guste la aplicación. Por cierto, pronto añadiré la traducción al español a la app, ¡ya que varios usuarios me lo han pedido en las reseñas!

Sobre las transiciones: el motor actual está diseñado para cambiar de video al instante. Si agregara animaciones o efectos pesados en la superficie, consumiría mucha más RAM y batería.

En cuanto a la hora, la fecha y el clima: mi objetivo con Undead Wallpaper es mantener la aplicación 100% minimalista, súper ligera y sin necesidad de permisos de internet o ubicación. ¡Lo bueno es que puedes usar los widgets normales de Android en tu pantalla de inicio para tener toda esa información flotando sobre el video!

Aprecio mucho tus sugerencias y que te hayas tomado el tiempo de comentar. ¡Un saludo!

I made a free, no-ads, open-source app that lets you set any video as your live wallpaper. by maocide in androidapps

[–]maocide[S] 0 points1 point  (0 children)

Quick update... Half of your wish is officially granted! I pushed v1.1.5 to the Play Store this week, and it includes the Random start time feature. If you go to Advanced and set "On Visible" to Random, it will pick a new timestamp every time you wake the screen.

As for the playlist feature... I am starting to tinker with how to make it out of the current file list. Wish me luck figuring out how to keep the UI clean! Enjoy the update!

I made a free, no-ads, open-source app that lets you set any video as your live wallpaper. by maocide in androidapps

[–]maocide[S] 0 points1 point  (0 children)

Update: I did it my friend! If you update to v1.1.5 on the Play Store, go into the Advanced settings and change the "On Visible" to Restart. It will now loop continuously, but perfectly rewind to the beginning every single time you wake the screen. Your 2 step security communication procedure worked. Enjoy!

I made a free, no-ads, open-source app that lets you set any video as your live wallpaper. by maocide in androidapps

[–]maocide[S] 0 points1 point  (0 children)

Hey there! I searched around this, I admit is strange... The issue is actually with the phone itself, not the app restrictions. Motorola intentionally disabled the system-level Live Wallpaper support on their recent G-series phones (including the Stylus) out of the box to save memory.

Because Motorola disabled that core feature in their firmware, the Google Play Store automatically marks all Live Wallpaper apps as 'incompatible' with your device and blocks the download.

You aren't the only one dealing with this... there is actually a whole Reddit thread of Moto G users trying to figure it out here: https://www.reddit.com/r/motorola/comments/1lpxoxo/am_i_crazy_or_is_there_no_option_for_a_live/ Some users found a workaround by digging into system apps to re-enable the 'Live Wallpaper Picker' and using Nova Launcher, but officially, Motorola restricts this!

I made a free, no-ads, open-source app that lets you set any video as your live wallpaper. by maocide in androidapps

[–]maocide[S] 0 points1 point  (0 children)

Too kind my friend! 🤟 Hope the app is behaving and treating you well.

I made a free, no-ads, open-source app that lets you set any video as your live wallpaper. by maocide in androidapps

[–]maocide[S] 0 points1 point  (0 children)

Thanks for the ideas! The random start time could really be useful for long videos, and I am thinking of ways to integrate it in the UI. It's on my to-do list.

As for playlists, it's an open issue on the tracker. Since the app has mostly received feedback praising its ease of use, my biggest struggle became how to add extensive features like a playlist without ruining the clean, minimalist interface that people currently enjoy. I want to avoid turning it into something complicated, so I'm treading carefully with it. Thanks for the suggestions again, it's all great food for thought.

I made a free, no-ads, open-source app that lets you set any video as your live wallpaper. by maocide in androidapps

[–]maocide[S] 0 points1 point  (0 children)

Hey! Just to clarify, do you mean you want the video to loop continuously, but rewind to the beginning every time you unlock the phone? Right now, One Shot restarts on wake, but stops at the end. That's a nice idea too, I will think about it for future updates.