Skip to Content
It is currently September 15th, 2019, 4:55 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: November 9th, 2008, 2:15 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
THIS POST WAS EDITED SIGNIFICANTLY ON SEPTEMBER 7 2011 DUE TO A LOT OF CHANGES I AM MAKING WITH THE SCRIPT. DO NOT DOWNLOAD AND USE THE ZIP FILE ON THIS POST (I am unable to delete it right now) SINCE IT NO LONGER WORKS WITH THE NEW WUNDERGROUND SITE LAYOUT. I AM WORKING ON A NEW PHP SCRIPT FOR THIS PROJECT (and should be ready soon) SINCE I NO LONGER USE WINDOWS. FOLLOW MY MOST RECENT POSTS FOR THE LATEST PROGRESS.

I have no Idea which category this would fit in, feel free to move it if in the wrong category.

That's right! I see many of you would like SOME WAY to have your weather station pull weather conditions for your area, but I can guarantee some of you would not want to constantly read the weather out yourselves. THE SOLUTION IS HERE! This script I have developed using VBScript is fully customizable and uses Balabolka, a FREEWARE text-to-speech converter.

Before you begin, here's what you need (edited for the new php script that will come out soon):

*ZIP file (when released), all files inside extracted into its OWN empty directory on Windows.
*You need SAM Broadcaster with PAL Scripting support
*PHP version 5 or higher (additional PHP requirements are unknown yet)... PHP must be installed so that you can execute PHP from a command prompt.
*Balabolka (this is FREEWARE and can be downloaded at http://www.cross-plus-a.com/balabolka.htm)
*A text-to-speech engine (included in Windows XP+)
*Administrative privelages
*Windows XP/Vista (someone please tell me the status of the script on Windows 7 when the new php script is released)
*Windows Task scheduler
*A constant internet connection (DSL / Cable highly recommended)
*A C: hard disk drive

Since I no longer have Windows, it is up to you to test what I make on a Windows platform and return to me swiftly with the errors it causes (or indicate it runs fine).

Please post comments or questions about this script here. I might be a little slow with response.

A demo of the new PHP script can be heard at http://wrrj.hopto.org and after you enter the SSL website and accept certificates (they're self signed by me and I always make sure it is not compromised so it's safe to continue), click the play button on the media player on the right.
NOTES:
*I use Linux... therefore the voice you hear will NOT be the voice you use on Windows.
*Also because I use Linux, WRRJ does NOT run on SAM broadcaster... instead it runs on Rivendell Audio 2.0.2. However this php script should work just as well for SAM broadcaster.

<ADDED November 10 2008 558PM>
If you want me to check out your radio station with the installed script, please email me the link to your station and when the weather is broadcasted. DO NOT post the link here or it could be considered spam. Also, if for some reason your weather script is not working properly, PLEASE let me know either by email or by this forum.


Last edited by xanaftp on September 7th, 2011, 3:08 pm, edited 6 times in total.

Top
 Profile  
Reply with quote  
PostPosted: November 20th, 2008, 9:04 am 
Offline
Senior User
Senior User

Joined: April 4th, 2007, 11:39 pm
Posts: 162
Location: Melbourne, Australia
Ok dont know what I am doing wrong but we dont the weather underground wont allow zipcodes for Australia any way to get this to work with text like Perth, Western Australia?

Any help would be great we have been looking for this.

_________________
http://radio.bonush.com
Radio Ad Network for YOU!
Launching in Early 2010.


Top
 Profile  
Reply with quote  
PostPosted: November 22nd, 2008, 4:02 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
Unfortunately the zipcode is for US zipcode only, sorry I completely forgot to mention that.

Unfortunately, Australia is not supported with HAMWeather, so severe weather alerts and the area forecast discussion will be unavailable. I will find a workaround so you can get weather alerts for places other than the US.

I have designed a special script for you to use for your area. Please use this script instead of the main wundergroundannounce.vbs script included in the zip file. This script works without errors, however because my main script only supports US places for the most part, there are a couple very minor bugs in the script. It should not affect how it generates or the weather information extracted.

It is allready ready-to-use, however you can still edit it to your needs.

There is a small issue with the 36-hour forecast for non-US places. It does read the forecast, but between the degrees and the letter F or C to indicate fahrenheit or celsius, the thing also processes "&amp;deg;". I do not right now know how to prevent that from being read, but I'll work on it.

NOTE THIS FILE WILL ONLY BE ATTACHED TO THIS POST UNTIL DECEMBER 6.

IF YOU DO NOT LIVE IN PERTH, AUSTRALIA, DO NOT DOWNLOAD THIS SCRIPT. THIS SCRIPT WAS MADE SPECIALLY FOR THIS AREA AND CANNOT EASILY BE CONFIGURED FOR A DIFFERENT LOCATION.

Anyone else who has a non-US zipcode please contact me and I'll try to make a special script for your area.

NOTE: Please rename "wundergroundannounce2.vbs" to "wundergroundannounce.vbs" and replace this script with the one included in the zip file.

If you are looking for the script to give you JUST a text file of the weather, not generate using Balabolka, I can make it do that for you, just let me know and I'll take down the script off of this post, make the changes, and then put it back up. All scripts DO automatically create a text file with the weather information. The default location it saves to is C:\weather.txt, but the readme file in the main zip folder on my first post will tell you how to change the location of the text file.


Last edited by xanaftp on December 6th, 2008, 12:52 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: November 29th, 2008, 3:39 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
I have constructed a new PAL script routine you can use for presenting the weather on your internet radio station using the wundergroundannounce.vbs script in the main zip file above. The pros of this script include:

*Weather is read out within 2-5 seconds of when you want it to, instead of waiting until the current song is finished.
*The song that is playing will be paused and then resumed after the weather is read out... it will not be forgotten about
*You can add background music to the weather update to play quietly behind the automated voice.
*You can have a "jingle" before the weather update
*You can have a station identification after the weather update
*You can have multiple different jingles and background music to use... one is selected randomly.

The cons are:

*The weather update will NOT show up in the Now Playing list because it is played on the Aux decks.
*Both aux1 and aux2 are used, and the loop control must be disabled on both or something will continuously play over and over again.
*There can be on occasion a 1-2 second pause where nothing is playing
*On occasion SAM will freeze for about a quarter of a second during the execution of this PAL script.
*<ADDED NOVEMBER 30 2008> Unless you stop the script during a live broadcast, it could interrupt your live broadcast.

BEFORE USING THIS PAL SCRIPT:
*Make sure Aux1 and Aux2 do not have loop enabled before a weather broadcast.
*Go in the equalizer for Aux1 and Aux2. Under AGC and settings, Turn off the "bypass all" button. (this is optional but recommended so the weather isn't read out too quietly or the music is too loud)
*Create the following categories in your SAM directory:
-weather1 (place all intro-jingles to the weather update here)
-weather2 (place the SINGLE audio file generated by Balabolka which contains the weather here. You only need to do this once, you DO NOT have to do this before every weather update)
-weathermusic (place all background music you would like to use for the weather update. It is strongly recommended all songs are greater than 3 minutes 30 seconds to avoid a "cut off" of music towards the end of the weather report. There is no limit to how long as the background music will stop and eject automatically after the weather is done being read out. If your song isn't that long and you would like to use it, use a freeware program like Audacity to edit the music file and have the music play twice or three times in the audio file.)

Now that you are ready to go, here is the PAL script. Customize it to your likings. If you have any problems with it, PLEASE let me know ASAP!:

Code:
PAL.Loop := True; //we want the script to run continuously unless manually stopped
var liner : TSongInfo; //we will use liner to tell the Aux decks what to play
var activedeck : TPlayer; //we will use activedeck to determine which deck is currently playing
PAL.LockExecution; //we are going to lock SAM for a few milliseconds so we can quickly get these commands executed
activedeck := activeplayer; //set the activedeck variable as the deck playing a song
ActivePlayer.pause; //now pause that deck
Aux1.eject; //clear the aux decks and free them from queues
Aux2.eject;
liner := CAT['weather1'].ChooseSong(smRandom, NoRules); //in the weather1 category, place an introduction jingle to the weather update
Aux1.QueueSong(liner); //queue it in Aux1
Aux1.play; //play it
liner := CAT['weather2'].ChooseSong(smRandom, NoRules); //weather2 category will contain the generated audio file from the wundergroundannounce.vbs file and balabolka. It is the text-to-speech audio file that reads out the weather
Aux2.QueueSong(liner); //prepare it in aux2
PAL.UnlockExecution; //unlock SAM
while Aux1.Status=0 do  begin  end; //wait until the intro jingle is done playing
PAL.LockExecution; //we are going to lock SAM for a few milliseconds so we can quickly get these commands
Aux2.play; //then play the weather file
liner := CAT['weathermusic'].ChooseSong(smRandom, NoRules); //now we are going to select a music file from the weathermusic category. Put all the background music you want in this category, and one will select randomly to play quietly while the weather is being read out.
Aux1.QueueSong(liner); //queue the background music in Aux1
Aux1.volume := 75; //set aux1 at a quiet volume level so the music doesn't overpower the weather
Aux1.play; //play the background music
PAL.UnlockExecution; //unlock SAM
while Aux2.Status=0 do  begin  end; //wait until the weather file is done
PAL.LockExecution; //we are going to lock SAM for a few milliseconds so we can quickly get these commands
aux1.eject; //remove the background music
Aux1.volume := 255; //set aux1 back to normal volume
//If you wish to have a station identification play here, put it here. Use the commented-out example as a guide.
//IF DayOfWeek(Now) = Sunday THEN
//BEGIN
//liner := CAT['sabbathintro'].ChooseSong(smRandom, NoRules);
//END;
//IF DayOfWeek(Now) = Monday THEN
//BEGIN
//liner := CAT['meditationintro'].ChooseSong(smRandom, NoRules);
//END;
//IF DayOfWeek(Now) = Tuesday THEN
//BEGIN
//liner := CAT['tellusintro'].ChooseSong(smRandom, NoRules);
//END;
//IF DayOfWeek(Now) = Wednesday THEN
//BEGIN
//liner := CAT['wolframintro'].ChooseSong(smRandom, NoRules);
//END;
//IF DayOfWeek(Now) = Thursday THEN
//BEGIN
//liner := CAT['thankfulintro'].ChooseSong(smRandom, NoRules);
//END;
//IF DayOfWeek(Now) = Friday THEN
//BEGIN
//liner := CAT['freakyintro'].ChooseSong(smRandom, NoRules);
//END;
//IF DayOfWeek(Now) = Saturday THEN
//BEGIN
//liner := CAT['singalongintro'].ChooseSong(smRandom, NoRules);
//END;
//If you wish to have station identification, uncomment the next three lines that are commented
//aux1.queuesong(liner);
//aux1.play;
PAL.UnlockExecution;  //unlock SAM
//while Aux2.Status=0 do  begin  end;
activedeck.play; //after the jingle is done (if requested in the script, otherwise after the weather is done), resume the paused song in the active deck
PAL.WaitForTime('NEXT15'); //wait until the next quarter hour to begin the next weather update


Again this script is used in action on my internet radio station. See my first post for the link.


Top
 Profile  
Reply with quote  
PostPosted: December 31st, 2008, 2:41 am 
Offline
Senior User
Senior User

Joined: December 23rd, 2005, 4:03 pm
Posts: 172
OK... I first have to commend the author of BOTH of these scripts...

For the PAL to run the items in AUX... a couple of questions...

IS there a way to allow SAM to wait for the end of the song playing before fireing off the weather? It sounds pretty hokey to pause a song, drop in a weather report, and then pick up the song where it left off...

Secondly... for those stations that have a jingle that has the bed already attached, is there a way to tell the system to start playing the Intro Jingle in Aux 1, wait 13 seconds then start the weather report file... and on end of weather report file, fire the close shotgun then standard crossfade/fire into the next song in the queue?

I know... Getting complicated here... but if this is possible, it might be a great idea for us to script this out so we can go ahead and make this sound perfect (and consider all the other applications for this as well...)

RH

_________________
Robert Hantson
Owner
The World Wide Radio Network
http://www.theworldwideradionetwork.com
Voiceovers - Jingle Production - Audio Production - Web Design and More!
Proud to be running SAM!
------------------------------
Image


Top
 Profile  
Reply with quote  
PostPosted: January 2nd, 2009, 5:33 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
Thank you very much for your comment. These scripts did require quite a bit of work and I'm glad to have developed them.

Quote:
IS there a way to allow SAM to wait for the end of the song playing before fireing off the weather? It sounds pretty hokey to pause a song, drop in a weather report, and then pick up the song where it left off...


As a matter of fact, yes. I don't personally like it that way as some of my songs last 6 minutes long which can delay the weather for a long time. However this was originally how the script was developed before I made alterations to pause the song immediately at the quarter of the hour to play weather.

If you wish to use the new PAL script I posted in my previous post, this can get a little tricky. For now do this:

Find "var activedeck : TPlayer;"
Then after that, insert the following line:
Code:
PAL.WaitForPlayCount(1);


PLEASE NOTE: This is only a temporary method. Even by using this, the next song will play for a split second before it's paused and the weather is read out. (because PAL executes one command per second). I will try to find a method which pauses the decks IMMEDIATELY after a song is finished playing and I'll return to you when I get the method.

If you wish to use the old PAL Script which is included in the zip file in my first post, you don't have to do anything; that script uses the queue instead of the aux decks, so the weather is queued to play right after a song is finished. However new methods like background music and station identification are not available in that old PAL Script.

Please don't fret I am working hard to find a method to use the new PAL Script with the queue and regular decks. However at this time with the way it works that is impossible; it has to use the aux decks.

Quote:
Secondly... for those stations that have a jingle that has the bed already attached, is there a way to tell the system to start playing the Intro Jingle in Aux 1, wait 13 seconds then start the weather report file...


Yes. Find the following lines of code in the new PAL script from my previous post.

Code:
liner := CAT['weatherandtraffic1'].ChooseSong(smRandom, NoRules);
//Queue.AddFile('C:\WRRJ\quickcast\qintroduction.wav',ipTop);
Aux1.QueueSong(liner);
Aux1.play;
liner := CAT['weatherandtraffic2'].ChooseSong(smRandom, NoRules);
Aux2.QueueSong(liner);
PAL.UnlockExecution;
while Aux1.Status=0 do  begin  end;
PAL.LockExecution;
Aux2.play;
liner := CAT['weathertrafficmusic'].ChooseSong(smRandom, NoRules);
Aux1.QueueSong(liner);
Aux1.volume := 75;
Aux1.play;
PAL.UnlockExecution;


Then replace all of that with the following:

Code:
liner := CAT['weatherandtraffic1'].ChooseSong(smRandom, NoRules);
//Queue.AddFile('C:\WRRJ\quickcast\qintroduction.wav',ipTop);
Aux1.QueueSong(liner);
Aux1.play;
liner := CAT['weatherandtraffic2'].ChooseSong(smRandom, NoRules);
Aux2.QueueSong(liner);
PAL.UnlockExecution;
PAL.WaitForTime('+00:00:13');
PAL.LockExecution;
Aux2.play;
liner := CAT['weathertrafficmusic'].ChooseSong(smRandom, NoRules);
Aux1.QueueSong(liner);
Aux1.volume := 75;
Aux1.play;
PAL.UnlockExecution;


Again please note due to the fact that PAL only executes one command per second, and putting the wait command inside a LockExecution could make SAM freeze up, it might be between 13 and 14 seconds when the weather file initializes.

(Sorry but I misunderstood you when you said "that has the bed already attached" and "and on end of weather report file, fire the close shotgun". If you could please explain what you mean. Thanks.)

Quote:
then standard crossfade/fire into the next song in the queue


Yes that can be done. I do not know of a method offhand at this time and I'll research it and reply when I find something.

However personally I think this can only be done in the decks rather than the Aux's, and I've been looking up a method to use the new PAL Script with the decks rather than entirely with the Aux's. It's been taking me a while to figure it out and I'm still figuring things out. So far no luck... but I've run into many "no luck" situations with the weather script, but I found workaround after workaround and eventually a combination of workarounds led to the success of the script.

These are all "bits and pieces", meaning they do not "fit" with each other. I will try to develop a new PAL Script that will integrate all of the requested changes you would like to it. I'll try to get something in by January 4 or 5.

However if I do not reply by January 5, I might not reply for a week and a half after that date; school resumes January 5 and Exams are the following week... so I need to study hard. Sorry for the inconvenience.


Top
 Profile  
Reply with quote  
PostPosted: January 19th, 2009, 6:48 pm 
Offline
New User
New User

Joined: July 21st, 2008, 2:08 pm
Posts: 9
this is a good idea and all.... but is there a way you could make it so that we can select news feeds from say... the BBC for it to ready out? That would be really cool!
Let me know ;)


Top
 Profile  
Reply with quote  
PostPosted: January 20th, 2009, 10:43 pm 
Offline
Senior User
Senior User

Joined: December 13th, 2006, 8:45 pm
Posts: 118
is there anywhere in the vbs script to turn the volume up on the wav file?
when i checked it with adobe audition it seems the default needs at least a 6db raise in volume.
or do i need to make the change in balabolka.


Top
 Profile  
Reply with quote  
PostPosted: January 22nd, 2009, 6:52 pm 
Offline
New User
New User

Joined: January 22nd, 2009, 6:45 pm
Posts: 9
ok, forgive me but i downloaded the wundergroundannouce.zip file but I dont see the wundergroundannounce.vbs anywhere. All I have is the script10minutereports and the wundergroundannouce that when i try to open doesn't. It appears as a console. Any ideas? Also, how do I implement my voice or the voice of someone on a mp3 file?


Top
 Profile  
Reply with quote  
PostPosted: January 22nd, 2009, 9:54 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
I'm terribly sorry for not responding in a long time... I've been very busy with school and other things, and I continue to be so I'm delayed a little bit on this script.

Quote:
this is a good idea and all.... but is there a way you could make it so that we can select news feeds from say... the BBC for it to ready out? That would be really cool!
Let me know ;)


Yes! I'll try to develop a script for you when I get the time. do you want it as part of the current weather script (what I mean is having the news read out along with the weather), or do you want the script separate? Seconly, what source(s) do you want the script to read from?

Quote:
is there anywhere in the vbs script to turn the volume up on the wav file?
when i checked it with adobe audition it seems the default needs at least a 6db raise in volume.
or do i need to make the change in balabolka.


I do not know right now if you can increase the volume of Balabolka via. the command line (because that's how the script uses Balabolka). HOWEVER, you CAN increase the volume via. the PAL script (this will only work if you're using the PAL script I posted on the forums, not the one in the zip).

FIND:
"Aux2.play; //then play the weather file"
ADD THE FOLLOWING ABOVE THAT LINE:
"Aux2.volume := 255;" The default volume in SAM is 255, this does NOT mean 255dB, I do not know what it means. Increment the number 255 a little bit at a time until the volume of the weather file is adequate for you.

THEN FIND:
"while Aux2.Status=0 do begin end; //wait until the weather file is done"
UNDERNEATH YOU WILL SEE:
"PAL.LockExecution; //we are going to lock SAM for a few milliseconds so we can quickly get these commands"
UNDERNEATH THAT LINE, ADD:
"Aux2.volume := 255;" Set the Aux2 volume back to default after the weather is done being read out. DO NOT change this "255" number, leave it at 255 so Aux2 will reset back to default volume for other things.

Quote:
ok, forgive me but i downloaded the wundergroundannouce.zip file but I dont see the wundergroundannounce.vbs anywhere. All I have is the script10minutereports and the wundergroundannouce that when i try to open doesn't. It appears as a console. Any ideas? Also, how do I implement my voice or the voice of someone on a mp3 file?


Hmm I'm kind of stumped on that one. Are you sure you got the Windows Scripting Engine version 5.5 or higher? You automatically do if you have Internet Explorer version 5.5 or higher. You need to have a Windows operating system as well. If both are true, let me know. You can try an executable version of the wundergroundannounce.vbs file, but please note it is NOT editable... you will have to provide me with the configuration you want in this forum or my email xanaftp@gmail.com and I must put those options in before converting to exe.

I'm not sure exactly what you mean by implementing your voice or the voice of someone else on an mp3 file. If you mean creating an intro jingle to the weather with your voice, you can use Audacity, a freeware audio program downloadable off of the internet. It can export as mp3 (a freely-available dll library is required... Audacity will give the details after you select to export your audio as an mp3.)
If you mean using your voice as the text-to-speech engine voice, this is extremely complicated and I do not recommend doing it. It is very time-consuming, and a lot of costs are involved (as far as I know). I know because I've tried. If anyone can tell me otherwise please let us know here.


Top
 Profile  
Reply with quote  
PostPosted: January 22nd, 2009, 11:09 pm 
Offline
New User
New User

Joined: January 22nd, 2009, 6:45 pm
Posts: 9
FIND:
"checkpoint 2"
underneeth, you will see a createtextfile command. Change the path in the quotations to the path you want the weather text file to be created. A text file is necessary for Balabolka to convert to speech.

I don't understand this part. What path do I put? Can you give me an example?


Top
 Profile  
Reply with quote  
PostPosted: January 24th, 2009, 11:14 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
The script commands Balabolka to convert a text file, which the script creates containing the "speech" for the virtual meteorologist (your text-to-speech engine), into a wav file.

The path you type in will be the path where the script will save this text file. There is also another place that asks where you want the script to place the converted wav file at.

Examples may include a simple location such as "C:\weather.txt" and "C:\weather.wav" where, after the script runs, you can just go into C:\ to locate the audio file Balabolka made of your text-to-speech engine reading the weather.

You may also wish to place the wav file on your desktop, which you would use:
"C:\Users\(your windows account username)\desktop\weather.wav" - Windows Vista
"C:\Documents and Settings\(your windows account username)\desktop\weather.wav" - all other versions of Windows.

If you still do not understand, please let me know. Thanks.


Top
 Profile  
Reply with quote  
PostPosted: January 26th, 2009, 11:47 am 
Offline
New User
New User

Joined: January 22nd, 2009, 6:45 pm
Posts: 9
place the SINGLE audio file generated by Balabolka which contains the weather here: I think this is where I'm having the problem. There is not file generated or I'm not doing it correctly


Top
 Profile  
Reply with quote  
 Post subject: No wav file
PostPosted: January 26th, 2009, 9:15 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
You need to execute the wundergroundannounce.vbs script once before the wav file becomes existant.

1. First, configure the vbs file as such said in the readme file.
2. Execute the script.
3. Allow up to a minute for the script to download the weather, depending on your internet connection.
4. Keep an eye in your taskbar. When you see a "dude" face appear in the taskbar, that is Balabolka beginning to generate the wav file from the weather downloaded. It should turn into a headphones icon when it begins generating, and then when it is done, it should disappear.

Some notes to remember:
*Balabolka will NOT successfully update the weather wav file if at the same time SAM Broadcaster is playing from it.
*SAM Broadcaster will also not play the wav file if at the same time Balabolka is generating it.

For these reasons, it is important to time the script in your task scheduler to run a few minutes before SAM is scheduled to broadcast your weather (preferably 3-5 minutes. Experiment, if Balabolka does not finish before SAM begins playing, have the script run a couple minutes earlier)


Top
 Profile  
Reply with quote  
 Post subject: ERROR
PostPosted: January 26th, 2009, 9:17 pm 
Offline
New User
New User

Joined: November 9th, 2008, 12:28 pm
Posts: 12
I'm terribly sorry, can a moderator merge my previous post with the "now presenting... the automatic weather reader!" topic... I accidently clicked "new topic" instead of "reply". Thanks.


Last edited by FesterHead on January 26th, 2009, 11:19 pm, edited 1 time in total.
Merged by FesterHead


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group