Tordex Community
WM missing icons - using 2 WM in TLB - Printable Version

+- Tordex Community (http://forum.tordex.com)
+-- Forum: True Launch Bar plugins (http://forum.tordex.com/forum-4.html)
+--- Forum: Plugins bugs (http://forum.tordex.com/forum-17.html)
+--- Thread: WM missing icons - using 2 WM in TLB (/thread-627.html)

Pages: 1 2


- Q Section - 02-21-2003

Hello Everybody,
We are trying to use 2 Weather Monitors in the TLB. They are both set up exactly the same except for the url of the provider. The first displays perfectly but the second only displays the weather numbers without any weather icons. We are using WM 1.2beta and Full 32 Custom skin with TLB 2.2.
FYI - the urls are:
First - http://www.aws.com/aws_2001/asp/obsForecast.asp?id=PSDNA&obs=full

Second - http://www.aws.com/aws_2001/asp/obsForecast.asp?id=LKBNV&obs=full
Thanks for any help.

HMSS Q Section


- shapeshifter - 02-21-2003

I've tried the setup you described with no problems whatsoever. The only differences I could see are that I'm using a slightly newer version of TLB (not likely to affect this, but you never know), and I tested using weather underground. Since you use a different url for your weather provider, I assume you have a different provider file, as well. Could you post that here so that we could have a look? Maybe the problem is there.


- Q Section - 02-21-2003

Hello shapeshifter

Here is the file:

[options]
name = instaweather.com
starturl=http://www.instaweather.com/
SendCookies = 0
;TemperatureUnits values F or C
TemperatureUnits = F
HaveHumidity=1
; PressureUnits values
; 0: hundreds of Pascals (hPa)
; 1: Atmosphere (atm)
; 2: Pounds per Square Inch (psi)
; 3: Inches of Mercury (inches Hg)
; 4: millimeters of Mercury (mm Hg)
PressureUnits = 3
HavePressure=1


[Temperature]
find0 = "<b>Temperature</b>"
find1 = "<b>"
delim = "<"

[Humidity]
find0 = "<b>Humidity</b>"
find1 = "<b>"
delim = "<"

[Pressure]
unit = in Hg
find0 = "<b>Pressure</b>"
find1 = "<b>"
delim = "<"

[Conditions]
find0 = "Forecast for"
find1 = "<td"
find2 = alt="
delim = "

[Sun]
Mostly Clear
Sunny
Clear

[Clouds]
Cloudy

[Clouds2]
Overcast
Cloudiness

[Fog]
Foggy

[Mix]
Mix

[PartlyCloudy]
Partly Cloudy
Mostly Sunny

[Partly Cloudy2]
Mostly Cloudy

[Rain]
Rain

[Rain2]
Showers

[Snow]
Snow

[Snow2]

[Storm]
Thundershowers

[Wind]
Windy

[Lightning]
Thunderstorms

[Chancerain]
Chance of Rain
Chance of Showers

Do not be bothered about all the icon notations - we are in the process of trying to build an ALL inclusive weather icon library (for ANY eventuality).

BTW - how can we include a screen capture here in this post? We have a good screen capture utility and a file with the capture but how can one render it here?

Thanks

HMSS Q Section


- shapeshifter - 02-21-2003

Quote:Do not be bothered about all the icon notations - we are in the process of trying to build an ALL inclusive weather icon library (for ANY eventuality).

I'm not bothered by the icon notations, but it seems weather monitor is. I loaded two instances of the plugin, set both to use your provider file and Full 32 Custom skin. I even used the urls you posted. Using this configuration I was able to duplicate your problem. The icon for the second url (Disneyworld) did not show up... at first. Looking deeper into it, the current conditions (the varibale that drives the icon) were reported as "Chance of Storms", a condition not listed anywhere in the provider file or skin.ini file. Once you add this to the provider file, it should show up. However, some of the sections you have added to your provider file (such as Clouds2 and Chancerain) do not have counterparts in the default Full 32 Custom skin file, which could also cause problems. Each conditions group in the provider file needs to have an icon associated with it with a line like "Clouds2=clouds2.png" in the skin.ini file. Make sure you have an image named clouds2.png in the icons subdirectory of your skin's directory for this to work properly.
An easier way to associate a condition with an icon (that does not require editing either the skin.ini or the provider file) is to right click the plugin, and select change icon. This will bring up a dialog box wih all the skin's icons; simply pick one to associate with the listed weather condition. The plugin will add a line to the skin.ini file that will associate that specific condition with the icon you selected.

As for screen captures, there are a couple of ways to attach them to your post. First, if you have access to some webspace, upload the capture, then use the "Image" button above where you type your post to insert a link to that image in your post. You can also add a picture (or any file) to the end of you post by using the "File Attachments" area below the post's edit area. Just click "Browse..." and navigate to the file on your computer you wish to upload.

Just out of curiosity, who is this "we" you keep refering to?


- Q Section - 02-22-2003

Hello shapeshifter

The 'we' to whom we refer could be construed as all the people who work in the 'Q Section' of Her Majesty's Secret Service and specifically they who work on code, computers and data processing or it can be construed as Garrett & Mariam. Big Grin Big Grin Big Grin

Meanwhile, let us post here some of the code that is still giving problems. (Really the code gives no problems - it is only our lack of brains that is the problem!) First we checked and the icon list in the instaweather.ini file (in the providers folder) is exactly the same as the skin.ini file (in the skins folder inside full white>large). We are attempting to do the same exact thing at work and home. The work computer is 98SE, IE5.5SP2, TLB2.2, WM1.1. The home computer is 98SE, IE5.5SP2, TLB2.2, WM1.2beta. We have exactly the same set up except you notice the two WM versions. We will eventually get them synchronized to be the same version. The older 1.1 has different icons than 1.2b so we are keeping them all for now to really coustomize the icons at a later date.

Both work and home had the same prob but now home has both icons working and everything is peachy fine! At work the second icon for WDW is still out so these file parts are from work, ok?

Now from the providers file is instaweather.ini:
[options]
name = instaweather.com
starturl=http://www.instaweather.com/
SendCookies = 0
;TemperatureUnits values F or C
TemperatureUnits = F
; PressureUnits values
; 0: hundreds of Pascals (hPa)
; 1: Atmosphere (atm)
; 2: Pounds per Square Inch (psi)
; 3: Inches of Mercury (inches Hg)
; 4: millimeters of Mercury (mm Hg)
PressureUnits = 3
HavePressure=1
HaveHumidity=1

[Temperature]
find0 = "<b>Temperature</b>"
find1 = "<b>"
delim = "<"

[Humidity]
find0 = "<b>Humidity</b>"
find1 = "<b>"
delim = "<"

[Pressure]
find0 = "<b>Pressure</b>"
find1 = "<b>"
delim = "<"

[Conditions]
find0 = "Forecast for"
find1 = "<td"
find2 = alt="
delim = "

[Sun]
Mostly Clear
Mostly Sunny

[Chance of Storms]
Chance of Storms

[Mostly Cloudy]
Mostly Cloudy
Cloudiness

[Thunderstorms]
Thunderstorms

[Clouds]
Clouds

[Lightning]
lightning

[Mix]
mix

[PartlyCloudy]
Partly Cloudy

[Rain]
rain

[Snow]
snow

[Wind]
wind

Now from the skins>full white file is skins.ini:
[options]
name=Full
author=TrueSoft
email=support@tsoftcentral.com
url=http://www.truelaunchbar.com

[Layout-0]
Sun = small\sun.gif
Chance of Storms = small
t_chancestorms.png
Clouds = small\clouds.gif
Lightning = small\lightning.gif
Mix = small\mix.gif
PartlyCloudy = small\partlycloudy.gif
Rain = small\rain.gif
Snow = small\snow.gif
Wind = small\wind.gif
Unknown = small
r.gif
BackGround=small\bg.png
Size = 48 22
IconPos = 0 2
ShowTemperature = 1
TemperaturePos = 24 1
ShowPressure = 1
PressurePos = 24 8
ShowHumidity = 1
HumidityPos = 24 15
NumbersPic = small
umbers.png
PercentPic = small\percent.png
PointPic = small\point.png

[Layout-1]
Sun = large\sun.png
Chance of Storms = large
t_chancestorms.png
Mostly Cloudy = large
t_mostly_cloudy.png
Thunderstorms = large
t_tstorms.png
Clouds = large\clouds.png
Lightning = large\lightning.png
Mix = large\mix.png
PartlyCloudy = large\partlycloudy.png
Rain = large\rain.png
Snow = large\snow.png
Wind = large\wind.png
Unknown = large
r.gif
BackGround=large\bg.png
BackGroundPos= 0 0
Size = 80 35
IconPos = 2 3
ShowTemperature = 1
TemperaturePos = 44 3
ShowPressure = 1
PressurePos = 44 14
ShowHumidity = 1
HumidityPos = 44 24
NumbersPic = large
umbers.png
PercentPic = large\percent.png
PointPic = large\point.png
FPic = large\d.png
CPic = large\d.png

And now from the skins>full white>large file are these icons:
bg.png
clouds.png
d.png
lightning.png
mix.png
nr.gif
nt_chancetstorms.png
nt_Mostly_Cloudy.png
nt_tstorms.png
numbers.png
partlycloudy.png
percent.png
point.png
rain.png
snow.png
sun.png
wind.png

And there it is. Where did we go wrong???
Thanks again for your help. Smile

HMSS Q Section


- shapeshifter - 02-22-2003

Try removing the spaces in both the provider file headings (i.e. [ChanceOfStorms] instead of [Chance of Storms]) and skin file aliases (i.e. ChanceOfStorms = small
t_chancestorms.png instead of Chance of Storms = small
t_chancestorms.png). Not sure if this maters or not, but it's the only thing I can see from looking through the code that might cause some (or maybe all) the conditions icons to not be displayed.


- Q Section - 02-22-2003

shapeshifter - FLASH - update

At work the conditions description changed on the AWS weather page we are using and so guess what? The new condition from the web page changed to 'Clearing' and temporarily we have the 'Clearing' description set to display the 'Sun' icon. The Sun icon now displays in the second WM! perhaps there is something wrong with some of the icons. The icons were grabbed from the AWS web page using the 'Save Picture As...' . These are gif's and when the icons are in the computer we open them using Irfanview, we then resize them to the same size as all the preexisting icons and then save them as a png file. Perhaps all the added icons need to be checked.

Well it is off to experiment some more (and changing the spacing, too). We will keep you posted.

HMSS Q Section


- Q Section - 02-22-2003

latest update

We now have tried taking the current condition (Clearing) and put it one-by-one under each bracketed description [] in the providers>instaweather.ini. Well...some icons worked and some did not. The icons were just now checked again for proper size and file type. They are all uniform.

The icons that did not work were:
Clouds2
Fog
PartlyCloudy2
Snow2
Storm
Chancerain

The ones that did work were:
Sun
Clouds
Mix
PartlyCloudy
Rain
Snow
Lightning

Hmmm??? Any ideas? All else we have figured out, we think. ???

HMSS Q Section


- shapeshifter - 02-23-2003

Very interesting.. perhaps the condition headers the weather monitor plugin recognizes is hard-coded. All the sections that work were available in the default wunderground.ini provider file, and all the ones that don't work were not. Doesn't sound like a coincidence to me Wink
If you would like to try changing the headers in you provider file, here's a list that will work:
[Sun]
[Clouds]
[Mix]
[PartlyCloudy]
[Lightning]
[Rain]
[Snow]
[Wind]

Alternately, you can use the right-click, change icon method I described previously to associate an icon with a specific weather condition anytime a non-recognized condition (no icon) is displayed. You only have to do it once, and the next time that weather condition comes up, the correct icon will be displayed.

I just realized another option that could solve your problems without having to wait for unrecognized conditions. What's going on behind the scenes when you use the right-click, change icon trick is that weather monitor creates a header in your current skin.ini file that references your current provider file (if there isn't one already). Then it adds a line equating the current condition (even if it has spaces) with the selected icon. The result is something like this:
Code:
[instaweather.ini]
Chance of Storms=rain2.png
It's a little bit more work, but you could take advantage of this syntax and add all the conditions from the unrecognized provider file headers and the icons that should represent them directly into the skin.ini file. Once this is done, it would probably be a good idea to delete the duplicate data from the provider file.

Let us kow if this helps.


- Q Section - 02-23-2003

Ahaaa! We just looked at the weathermon.dll in the WM file. It has specific coding only for those icons you mentioned. So... how can more icons be added to the dll? BTW - we are just about to register the TLB but before we do the 'Change Icon' option is not available for non-registrants.

HMSS Q Section


- Yuri Kobets - 02-23-2003

You can add more icons into skin only. Copy all icons (in PNG format) into icons subfolder of the skin. Then write in skin.ini the strings in format:

Code:
[<provider file name>]
<weather condition text> = <icon file name>

See the shapeshifter's post:
Code:
[instaweather.ini]
Chance of Storms=rain2.png
....

the number of icons is unlimited.

BTW Change Icon feature works only in registered version of TLB.


- Q Section - 02-23-2003

Hello
We did this:

1)providers>instaweather.ini
[Fog]
Fog

2)skin.ini
Fog = large\fog.png

The other values are similar ie. Sun = large\sun.png. Sun icon works.

3)icon folder (correct size - 25x25 in png format)
fog.png

By now the fog has dissapated and we now have Mostly Cloudy condition. No icon.
We also have:

4)providers>instaweather
[MostlyCloudy]
Mostlycloudy

5)skin.ini
MostlyCloudy = large\mostlycloudy.png

6)icon folder (correct size - 25x25 in png format)
MostlyCloudy.png

No mostly cloudy icon in display. :0

Any ideas? Thank you all for your patience. When we get it we can help so many others. Big Grin

HMSS Q Section


- Q Section - 02-23-2003

Addenda

Just for fun we changed all instances of MostlyCloudy to Mostly Cloudy (with space between words) in providers and skin.
FYI - the text from the website says:

<img src="icons/nt_Mostly_Cloudy.GIF" alt=
"Mostly Cloudy"></td>

Still no dice.

HMSS Q Section


- Yuri Kobets - 02-23-2003

I know what is incorrect!!!

1) First be sure you are using Weather Monitor version 1.2
If your WM allow you to select skin you posted you are using WM version 1.1 but this version does not support additional icons. (TLB Settings->System Info or use TLB LiveUpdate).

2) Also check the skins. For version 1.2 skin file must have string version = 2 in the [options] section.

Every skin for version 1.2 must contain subfolder icons where you store all icons for weather conditions. And you do not need to add "icons/" to the icon file name.

3) In the provider file you cannot add more section like [Rain2] etc. WM ignore all these sections. (See also Weather Monitor home page)

4) In the skin.ini you must write text exactly like in tooltips. In your case:
Code:
Mostly Cloudy = mostlycloudy.png

-------------------------
3) and 4) items are only if you are now shure you are using the last version of the weather monitor.
Also before updating WM delete weather buttons from toolbar.


- shapeshifter - 02-23-2003

Ok, once again, the only recognized headers for conditions in the provider file are as follows:
[Sun]
[Clouds]
[Mix]
[PartlyCloudy]
[Lightning]
[Rain]
[Snow]
[Wind]
NOTE: [Fog], [MostlyCloudy], and [Mostly Cloudy] are not in this list, therefor weather monitor will ignore them and all weather conditions in that section.

If you have a weather condition (as reported by the web site, such as "Mostly Cloudy") that does not fall into one of the 8 listed categories in the provider file you can still associate an icon with it so that weather monitor knows what to display. This is done in the skin.ini file, under a header that bears the same name as the provider file you are using. Again, the sample code looks like:
Code:
[instaweather.ini]
Mostly Cloudy = large\mostlycloudy.png
Where "instaweather.ini" is the provider file you are using, "Mostly Cloudy" is the condition being reported by the web page (verbatim, spaces included), and "large\mostlycloudy.png" is the path and file name of the icon you wish to use. The icon path is relative to the skin.ini file and weather monitor 1.2 only supports icons in png format.

To be clear, here is how the "Conditions" are translated from the web page to your plugin: Stage One, the plugin retrieves the HTML code from the url you specified. Next, the settings in the provider file's [Conditions] section are used to extract the text that becomes your "Conditions". Then, the plugin searches through each of the 8 conditions sections in the provider file ([Sun], [Clouds], etc) for your specific "Conditions". If there is a match, the plugin looks for a line that associates that condition section with an icon in the skin.ini file (i.e. Sun = large\sun.png). If this association is made, that icon is set as the active icon. Stage Two, the plugin looks in the current provider file's section of the skin.ini (i.e. [instaweather.ini]), if it exists, for an icon associated with your current "Conditions" (i.e. Mostly Cloudy = large\mostlycloudy.png). If there is a match, that icon becomes active, overriding any icon set in Stage One. If there is no active icon set in either stage, no icon is displayed.

I hope this clears things up.