[APP][01-26-09][*VGA+]SplashScreenRandomizer 1.4.0 All form factors & image formats!

Search This thread

werD

Senior Member
Mar 14, 2007
128
2
[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



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
 

Attachments

  • SplashScreenRandomizerA2D.xml.txt
    417 bytes · Views: 571
  • SplashScreenRandomizerSetup1.4.0.New.Updated.1.26.09.CAB
    295.1 KB · Views: 1,363
  • SplashScreenRandomizerSetup1.4.0.With.Splashes(QVGA).New.Updated.1.26.09.CAB
    1.6 MB · Views: 1,233
  • SplashScreenRandomizerSetup1.4.0.With.Splashes(VGA).New.Updated.1.26.09.CAB
    1.6 MB · Views: 828
  • Splashes_640x480.zip
    1.4 MB · Views: 913
  • Splashes_320x240.zip
    1.5 MB · Views: 909
Last edited:
  • Like
Reactions: Cheque

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
30
Bristol
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.
settings001.jpg
 
Last edited:

werD

Senior Member
Mar 14, 2007
128
2
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.

Thanks Good call, i didn't realize it was a reg setting as well :eek:

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 ;)
 

werD

Senior Member
Mar 14, 2007
128
2
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 :p that's really up to you guys

Credits




You can download the updates and read the rest of the story here: http://forum.xda-developers.com/showthread.php?p=2101246#post2101246
 

Attachments

  • ScreenCap1_1.0.JPG
    ScreenCap1_1.0.JPG
    31.3 KB · Views: 254
Last edited:

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
30
Bristol
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.
 
Last edited:

werD

Senior Member
Mar 14, 2007
128
2
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.
 
Last edited:

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
30
Bristol
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...
 

werD

Senior Member
Mar 14, 2007
128
2
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.
 

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
30
Bristol
Well... I have managed to change the timeout settings from my little front end!
Thanks for the FileName tip it works! :D

For anyone that's interested, the source and the .exe are attached.
 
Last edited:

werD

Senior Member
Mar 14, 2007
128
2
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 ;)
 

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
30
Bristol
The timings depend on the speed of the boot up process. I'm not being very helpful am I?
 
Last edited:

werD

Senior Member
Mar 14, 2007
128
2
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 :D


Edit: latest build is here http://forum.xda-developers.com/showthread.php?t=383838
 

Attachments

  • any_image.jpg
    any_image.jpg
    36.9 KB · Views: 31
Last edited:

l3v5y

Retired Senior Moderator
Sep 13, 2007
7,485
44
30
Bristol
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...
 
Last edited:

werD

Senior Member
Mar 14, 2007
128
2
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
 
Last edited:

werD

Senior Member
Mar 14, 2007
128
2
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
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    [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



    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