[APP][01-26-09][*VGA+]SplashScreenRandomizer 1.4.0 All form factors & image formats!
Splash Screen Randomizer 1.4.0 Swap for a random splash screen at startup. Supports all major form factors and image formats!
AppToDate should be working for all versions
Updated to 1.4.0 on 01-26-09
Notable Changes
Major form factor support added(QVGA,VGA,WVGA[testers needed]). Screen layout and image importing is now dynamic
IO Mode switches on automaticaly on first run if your phone is windows mobile 6.0 or below (i.e < 5.2.19000)
OpenFile 2.0 included (my extended Mobile Practices codebase)
File attributes on default splash are adjusted to work better with IO Mode
Better error handling added
lots of backend improvements and UI Tweaks
Richer UI coming soon
Intro
Splash Screen Randomizer is comprised of two applications. The first is a very small application[SplScrnRnd] that runs at startup and either replaces your splash screen file or changes the associated registry setting to a random file from a folder of your choice. This gives you a new splash screen each time you boot! The second app[SplScrnRnd Settings], as it's name would suggest is a tool to adjust SplScrnRnd's settings and customize the splash screens that you load. By default you'll be greeted with a random image each time you boot, but you can choose to use a specific screen you like or import your own images and randomize those!
How To Use
When you install Splash Screen Randomizer It will create a folder in \My Documents\Splashes (You can change this folder after install if you want) Depending on which version you download you may have 2 splash screens or 13 in your splashes folder. The normal version only includes the splash screen by black_shadow69 splash.black. While the other has one of nuthin's splash screens, some of mine, and a whole bunch of black_shadow69's.
You can change the Splashes directory, import files, or adjust settings by launching "SplScrnRndStg" From Start --> Programs.
Note to Cooks: At any point, you can change the settings manually by editing the .xml file in the same directory as SplScrnRnd.exe and Randomizer.dll. You can cook SplScrnRnd.exe into your roms without even including SplScrnRndStg.exe or OpenFile.dll
As always you can drag .png or .bmp images into your splashes folder to add them into the loop.
To use an image that is not .bmp or .png:
Method 1
Choose 'Import/Multi...' from the main settings screen
Choose 'Import File' or 'Import Folder' (whichever is appropriate).
SSR will scan the folder or file and will attempt to scale the image appropriately(if you don't like the way it's scaled copy it manually as a .png or .bmp into your Splashes folder).
Method 2
You can also check "Use Specific Screen" to always use a specific splash. This will scale the image and save it to your splashes directory with a .png extension(if it's not already in your splash directory).
Quirks or Issues[01-26-09]
The default version of SSR comes with a splash screen in 320x240(96dpi) and 640x480(192dpi). you can delete one or both if they dont fit your screen. or move it and import it
Note1 you can download splashes.zip and import the entire folder to automatically scale them appropriately for your phone.
Note2 In the next build Ill prompt to automatically resize the default splashes for the current screen on first run.
Multi Mode is not supported in IO Mode
Future Thoughts(Feel Free to add your own)[01-26-09]
Only two versions will be out next. SSR will offer to reformat the splashes for your screen on first start for next build(sound good?)
The interface should scale appropriately now for all form factors, but Ill be creating more custom layouts for each format soon
Rich UI with suport for current WM theme? or would you guys rather have full control of the layout ie. template for controls and images(seems a bit much)?
Credits
Black_Shadow69 Nearly all of the splash screens included in the larger version come from this thread http://forum.xda-developers.com/showthread.php?t=382745
nuthin The larger version also includes a Merlin splash screen I did a while back with a backdrop that was done by nuthin and released with the core kitchen
José Salazar of mobile practices for speeding things up with the base code for the open file control in SSR
http://www.mobilepractices.com/2008/02/custom-openfiledialog-implementation.html
Les Smith of KnowDotNet for speeding things up with the base code for the persistent settings
http://www.knowdotnet.com/articles/cfcsetting.html
l3v5y Registry Tip: See Here
Older Changes
Updated to 1.3.0 on 07-27-08
Added IO Mode - IO mode is for backwards compatibility, it will replace your default screen when the app is run instead of changing the registry setting. If you had problems with the more recent releases of SSR this should smooth things out for you [*See "Quirks Or Issues" for more info*]
Added Support for AppToDate an excellent app to keep your programs up to date.
Recommended Install Method if you use AppToDate to minimize download size
Download Splash Screen Randomizer Without Splashes OR view the attached .txt file and save it in "\Application Data\AppToDate\SplashScreenRandomizerA2D.xml" on your device(The icon will come with the installer after you update)
Download Splashes.Zip and extract them into your splashes folder(default is "\My Documents\Splashes"
Run AppToDate and SSR as usual
Updated From 1.0 to version 1.2.5 on 4-13-08
Changes From 1.0 to 1.2.5
Now use ANY of the major image formats(.bmp,.gif,.jpg,.jpeg,png,.tif) as your splash screen(the image is scaled and saved as a .png in your splashes folder)
The settings screen is now drawn dynamically(i.e. no scrollbars should be displayed when in portrait or landscape mode)
.bmp and .png files will be displayed/randomized if they are in your splashes folder
option added to replace your default splash(original splash is saved to your splashes folder)
Optimized code in several places and reduced overall size
Due to it's size, the default splash included with the smaller version is black_shadow69's black version below
If you had 0.7.5 you should uninstall it first and delete the directory called "SplashScreenRandomizerSetup" in your program files(you don't have to do that from 1.0 on)
Changes From 0.7.5 to 1.0
You can now preview the next boot splash or randomize a new one from settings
You can pick an individual splash screen to use(this will remove the randomizer link from startup until the "single file" option is unchecked)
You can now reset the picture back to the original setting by pressing the "Reset"
The splash are no longer copied from the splash folder to the windows folder. The registry values that point to the file in the windows folder are now changed to point to the file in the splash folder. This does improve startup speed because less io traffic is happening Credit for reg links:l3v5y
The OpenFile dialog has been slimmed down and tweaked a bit to allow context sensitive clicking(i.e. "right click" gives "Enter Folder, Select Folder, and Select File “respectively)
Attachments
SplashScreenRandomizerA2D.xml.txt: This is the AppToDate file i used to test AppToDate support in the version without splashes. You can save it in "\Application Data\AppToDate\SplashScreenRandomizerA2D.xml" and run apptodate to get the newest version that way
SplashScreenRandomizerSetup.1.4.0.New.Updated.1.26.09.CAB is the newest install file for SSR. It includes two splash screens (320x240.splash.black.png and 640x480.splash.black.png) these can be discarded or reimported if they dont fit your screen.
SplashScreenRandomizerSetup.1.4.0.WithSplashes(VGA).New.Updated.1.26.09.CAB is the newest full install file for SSR. It includes 13 splash screens for 640x480(192dpi)
Splashes.zip: Zip of the extra splashes included in the "WithSplashes" versions of SSR 1 is 320x240 96 dpi the other is 640x480 192 dpi (you can import the folder to scale them to your screen)
Enjoy
Nice...werD...Thank you have enclosed me...
I will try the tool...
Thanks again werD.....
very nice idée thank you very much
Pretty cool.
Thank you very much for sharing.
awsome....Now, my prophet have use this apps....
Thanks again werD....
Just an idea... Could you set it to change a registry entry to change the image that is loaded rather than changing the actual image?
This would also allow two different images to be loaded. This would remove the need for swapping files and should in theory be faster, although the code may be slightly more complicated.
Code:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Splash Screen]
"MSBitmap"="\\windows\\welcomehead.96.png"
"MSTimeout"=dword:00007530
"CarrierBitmap"="\\windows\\welcomehead.96.png"
"CarrierTimeout"=dword:00007530
EDIT: I've just written a simple app that should change "MSBitmap" and "CarrierBitmap" values.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
l3v5y said:
Just an idea... Could you set it to change a registry entry to change the image that is loaded rather than changing the actual image?
This would also allow two different images to be loaded. This would remove the need for swapping files and should in theory be faster, although the code may be slightly more complicated.
Click to expand...
Click to collapse
Thanks Good call, i didn't realize it was a reg setting as well
Next version is going great thus far. I came here to release it, but i'm going to wait and do some registry hacking now instead
1.0 Released
Splash Screen Randomizer 1.0. Swap for a random splash screen at startup
Updated From 0.7.5 to version 1.0 on 4-11-08
If you had 0.7.5 you should uninstall it first and delete the directory called "SplashScreenRandomizerSetup" in your program files(you don't have to do that from 1.0 on)
Changes From 0.7.5 to 1.0
You can now preview the next boot splash or randomize a new one from settings
You can pick an individual splash screen to use(this will remove the randomizer link from startup until the "single file" option is unchecked)
You can now reset the picture back to the original setting by pressing the "Reset"
The splash are no longer copied from the splash folder to the windows folder. The registry values that point to the file in the windows folder are now changed. This does improve speed a bit Credit:l3v5y
The OpenFile dialog has been slimmed down and tweaked a bit to allow context sensitive clicking(i.e. "right click" gives "Enter Folder, Select Folder, and Select File"respectively)
Quirks or Issues
The current Welcome splash screen is replaced(instead of backed up) when the program first runs Resolved in 1.0(splash files are no longer copied or replaced)
The assembly incorrectly show 1.0 actual version is 0.7.5 Resolved in v 1.0
Future Thoughts(Feel Free to add your own)
1.0 is here: Depending on the feedback is where I take this one. We may get a bit more dynamic with them or provide static watermarks or we may be done that's really up to you guys
Credits
Black_Shadow69 Nearly all of the splash screens included in the larger version come from this thread http://forum.xda-developers.com/showthread.php?t=382745
nuthin The larger version also includes a Merlin splash screen I did a while back with a backdrop that was done by nuthin and released with the core kitchen
José Salazar of mobile practices for speeding things up with the base code for the open file control in SSR
http://www.mobilepractices.com/2008/02/custom-openfiledialog-implementation.html
Les Smith of KnowDotNet for speeding things up with the base code for the persistent settings
http://www.knowdotnet.com/articles/cfcsetting.html
l3v5y Registry Tip: See Here
OpenNetCf I used their Registry library and got 1.0 converted from IO to Registry in no time http://www.opennetcf.com/
You can download the updates and read the rest of the story here: http://forum.xda-developers.com/showthread.php?p=2101246#post2101246
I've used the .NET CF 2.0 registry functionality which is built into most ROMs and so needs no extra files at all.
The problem with the registry is that I haven't yet found out why it won't read the timeout values. By default they are set so high that only the MSBitmap can be shown.
I have one point to make though, BMP files can be used as well as pngs! They can be anywhere, and can be any size (although a 10MB file might take too much RAM) but only the top left area is shown with one pixel of the file being one pixel of the screen. Undersized images are placed in the top left of the screen.
The load order for the two files is:
MSBITMAP is loaded and displayed
Waits for time set by MStimeout
CarrierBitmap is loaded and displayed'
Waits for time set by Carriertimeout
Overlays MSBITMAP on top of CarrierBitmap (only observed if msBitmap is smaller than carrierBitmap)
Today Screen loads
Changing the timeouts/both registry keys could allow for greater variation in the splash screens.
I'll try and work out why I can't get the reg keys for timeout to work, and I shall also see if transparency in the *.pngs has any effect when the two splash sreens are overlayed.
lol, I was up late last night, i guess i should have dug deeper. cf 2.0 has a lot built in (edit:was hiding in Microsoft.Win32; identical code one less file good call)
I knew MSBitmap was the one getting displayed with the default timeout(or no timeout values at all), but I was setting CarrierBitmap as well in case of some device oddities or differing oem implementations. Please do let me know when you figure out the magic numbers for the dual splash screens i'll gladly open up the option to use multiple randoms or one random and one constant or whatever else we can scheme up.
I'm going to enable bmp in the filter as well, i reckon I'll probably be cleaning up some things from my sunrise coding session too , I'll swap the reg calls over to the built in classes, I also need to speed up the settings classes that call and save data (i haven't had a chance to look too deep into the code yet but I already know i can speed it up significantly), Ive also got some more great new features planned out and in the works so stay tuned.
Again, i appreciate your input please l3v5y keep it up.
What programming language is this written in?
As far as I can tell, the timeouts are in hundredths of seconds, but 30,000 (which is the default value for everything I've checked) seems too long! However, it all depends on how long the ROM takes to boot up. After both timeouts have ended, the MSBitmap is overlayed on top of the CarrierBitmap, so it doesn't matter if the ROM takes longer to boot up than the two timeouts.
I'm guessing it's really obvious, but how do you get the file location from the open file dialog? I have managed to get the dialog do everything BUT give me the file location!!!
I think I have managed to get the timeouts to load/be set properly although I need to test it on my prophet and not just the emulator...
This is in vb.net with some C# mixed in from the openfiledialog and csettings. I dont have much trouble bouncing from one to the other but I tend to use vb.net the most. the dialog had me a little twisted too at first but it's the FileName property. I also added a constructor parameter for directory search and public folder property which made things pretty easy.
Well... I have managed to change the timeout settings from my little front end!
Thanks for the FileName tip it works!
For anyone that's interested, the source and the .exe are attached.
changing the values is no problem. i was just wondering what some good timings were to balance them out. Imaging madness atm over here, was hopin for a short cut
The timings depend on the speed of the boot up process. I'm not being very helpful am I?
All input is appreciated I did a lot of optimizing yesterday and merged the code base for both apps involved with splash screen randomizer(the small module that runs at startup and the settings app that does the heavy lifting). Ive added some new features but in the interest of not overwhelming you guys with almost daily releases, i'd like to get some input on what some other wants might be.
The main feature i've added to the next build so far has been the ability to use ANY major image format(.bmp,.gif,.jpg,.jpeg,png,.tif) as a splash screen. I've been digging it so far, but I was thinking the ability to add a string of text or a logo as a watermark might make it nicer. It could also allow cooks to include multiple splashes with credits and build text without having to do a whole lot of editing(a batch update watermarker maybe?).
..who knows though, I need to focus a bit more on getting WordStreamer to a 1.0 stage, so i'd like to pack in a few lasting features with this next release
Check out the attached pic for a preview of what's to come so far in the next release
Edit: latest build is here http://forum.xda-developers.com/showthread.php?t=383838
Does the splash screen system in WM allow for those formats? How are you going to get multiple (more than two) splashscreens?
EDIT: Should've tried it first! the conversion is working well, although it's not too clear what to do...
Just added 1.2.5..
@l3v5y
I had a custom splash screen button that when clicked showed a form that you could add images and add string text to the image as well. that was pretty straightforward but I took it out in the interest of size a lack of interest in it. I guess i should've just removed the the string option and left the image preview and such enabled. in the next build I'll bring some of those features back
I haven't had a chance to play with multiple splash screens option yet. But short of allowing the user to tweak the timeout values after I find some that work well on my wizard and emus, im not sure how I would need to implement it further other than allowing a few options for which one(if any) remains static while the other changes. Did you have any ideas? what timeout values work well for you? about how long does it take for your phone to boot?
Thanks
1.2.5 is Released
Changes From 1.0 to 1.2.5
Now use ANY of the major image formats(.bmp,.gif,.jpg,.jpeg,png,.tif) as your splash screen(the image is scaled and saved as a .png in your splashes folder)
The settings screen is now drawn dynamicaly(i.e. no scrollbars should be displayed when in portrait or landscape mode)
.bmp and .png files will be displayed/randomized if they are in your splashes folder
option added to replace your default splash(original splash is saved to your splashes folder)
Optimized code in several places and reduced overall size
Due to it's size, the default splash included with the smaller version is black_shadow69's black version below
Future Thoughts(Feel Free to add your own)
1.2.5 is here: Let me know what you think. I decided to leave out the option for adding watermarks and text strings when you make splash screens, If people express a want for it, I'll add it into a future build.
I also thought it might be nice to batch convert and import some pictures to your splashes folder. Let me know what you think
Does anyone know if it's possible to change the settings of the image viewer so that when you edit (and crop) an image, it does not also re-scale the image size.
For instance, I take a picture at 3264x1836.
I then crop (using the default image viewer (gallery)) a section covering approx 80% of the image and the image that gets saved is 702x367.
Unscaled this should have been something like 2800x1400 (or similar).
I want (and need) to be able to control this scaling myself. The reduction in size is so severe in the default editor is pretty much useless for me.
I tried several other photo editors, and they behaved in a similar way. The closest I've got is Resize-Lite - but even that one scales down to 720p settings.
Any ideas?
Just installed MIUI and having the same issue...
never had with cyanogen or sense...
any ideas?
I have been trying to figure this out for some time so I can be rid of as many TouchWiz apps as possible - and after replacing TWiz gallery with the AOSP one I can no longer change the lock screen wallpaper outside of a handful of images that appear to be contained within /system/app/PhotoWall.apk/res/raw
Which include the default dandelion image. However, replacing the jpg files within that APK didn't change my options. There is also a white/red/black squares TMobile thing that has 2 versions in /system/wallpaper/drawable but I tried placing my own image there (making the dimensions the same) and was still not able to select it.
I can't figure out where the dandelion pic is because I can still choose it even though I have replaced it's g1p1.jpg within that PhotoWall.apk file
Anybody know where these things are actually stored so I can choose my own wallpaper once again?
The reason I am not able to choose anymore is that the TWiz interface options for selecting Lock Screen wallpaper apparently only want to let you select it with it's own TWiz Gallery app or this PhotoWall app, thus it won't let me invoke the AOSP gallery app to pick an image.
Thanks in advance!
I've been poking around a little today but still can't figure out why it won't let me load my own jpg files in that app...
Anybody have any suggestions?
I want to know answer as well.
When i change system\framework\........framework-res.apk.......\res\drawable-hdpi\.........keyguard_default_wallpaper.jpg with another same sized 1280 x 1280 jpg file,
IT Never changes it on LOCKSCREEN!
ktmdave7 said:
I want to know answer as well.
When i change system\framework\........framework-res.apk.......\res\drawable-hdpi\.........keyguard_default_wallpaper.jpg with another same sized 1280 x 1280 jpg file,
IT Never changes it on LOCKSCREEN!
Click to expand...
Click to collapse
After changing that did you try picking new wallpaper again? I'm going to have to check that apk out now...
Tried replacing "keyguard_default_wallpaper.jpg" with my own same 1280x1280 size image in drawable-hdpi and drawable-xhdpi but no dice. Still seeing the dandelion pic.
sorry for the bump but I am getting pretty lost here trying to figure out where this thing is stored. I keep digging through random APK's and coming up empty. Any dev's or clever users able to help?
NOTE: This is only instructional information for those looking to make their own 1920x1920 edited HD wallpapers and are tired of looking for 1920x1920 wallpapers. I didn't see a similar thread on here and thought I would share some tips for those who aren't familiar with making/editing their own wallpapers.
So I got tired of searching for wallpapers and just edited desktop wallpapers for myself. I just searched on Google for cool stuff, like zombies, movies, anime, digital art, robots, etc, and found a bunch of 1920x1080 wallpapers. I would also recommend adding HD or 1080p in your search criteria to ensure the best quality. Obviously they are made for desktops, so I used Gimp 2 to edit them, by doing an Image > Canvas Size, switching the width to 1080 so it's then 1080x1080. Then do an Image > Scale Image and upscale them to 1920x1920. It's difficult to do because you're essentially taking a rectangular image and making it into a square image when it's not really designed for that. But if you can find the right images, it should be pretty easy to decide how to resize them and to know what to cut off. I've attached an example below. Once you've resized the image to 1080x1080, scale it to 1920x1920, and then if it needs a Sharpen filter, go to Filter > Enhance > Sharpen. And I found out the hard way that Gimp is different from photoshop, as you can't save files that easily as .png/.jpg/.gif file types. You can't just select Save As, you have to go to File and then Export to save it that way.
You can use Photoshop to do this as well. I just particularly prefer Gimp, but to each their own And you can get Gimp for free, just search for Gimp on google.com and it should be the first or second link there that you can download and install it for free. If you want to see more of the ones I've made, as I've made a good bit, just PM me and I can email you a zip file with all the ones I've made in it. If enough people ask for them, I may just edit this post and see if I can just upload them all on here. Or some of them anyway
Image 1. Shows how to resize
Image 2. Shows how to scale image
Image 3. Shows final image
If you have any questions, let me know. (Tried to make this as detailed as possible if you aren't familiar with Gimp or photo editing)
Hi there,
As the process of creating Icons for Android was very annoying to me (design an icon, export it for 5 densities, change the color to make it "disabled", save it again 5 times ...) I wrote a command-line tool for this task. I guess it will help everyone who doesn't like this time consuming process too I know there are online tools to convert one icon to the right sizes for each density, but have a look at what icon-converter can do:
The main idea is to have one SVG file for each icon. You do not have to have different SVG files for the states (e.g. enabled and disabled) but you can use icon-converter to change one or more colors in the icon.
Having all the SVG's, you can simply write a .sh script to "compile" all the icons at once, meaning that icon-converter creates all PNG's with the given settings (density, colors, scale, even versioning is supported, renaming files so that you can find them after compiling). The PNG's are then stored directly in the right drawable-directories. E.g. when you change an icon which has different states, you only have to execute your script once and do not have to export PNG's by yourself.
Please have a look at this tool, there are some examples online:
iconconverter.android-msapps.com
It runs on Linux and Windows.
Do you have any suggestions to improve the software?
Best
Markus