.\config.xml
  1 <?xml version="1.0" encoding="utf-8"?>
  2 <RadicalChat>
  3         <Version>RadicalChat 1.0.0.1455</Version>
  4         <!--
  5         **************************************************
  6         *       Application skin is defined here.        *
  7         **************************************************
  8         -->
  9         
 10         <!-- location of the stream server -->
 11         <Server>
 12                 <RTMPServerURL>127.0.0.1</RTMPServerURL>
 13                 <RTMPServerPort>1935</RTMPServerPort>
 14         </Server>
 15         
 16         <Skin>
 17                 <!-- global constraints -->
 18                 <GeneralProperties>
 19                         <Name>_GP_</Name>
 20                         <Constraints>
 21                                 <MinWidth>800</MinWidth>
 22                                 <MinHeight>600</MinHeight>
 23                                 <MaxWidth>2000</MaxWidth>
 24                                 <MaxHeight>1500</MaxHeight>
 25                         </Constraints>
 26                 </GeneralProperties>
 27                 
 28                 <BG>
 29                         <SkinObject><Type>BasicPanel</Type>
 30                                 <Name>Background</Name>
 31                                 <!-- every object must be visible -->
 32                                 <Visible>true</Visible>
 33                                 <!-- relative position -->
 34                                 <Position>
 35                                         <Left>0</Left>
 36                                         <Top>0</Top>
 37                                         <Right>100%</Right>
 38                                         <Bottom>100%</Bottom>
 39                                 </Position>
 40                                 <!-- object skin -->
 41                                 <LookAndFeel>
 42                                         <!-- here should be Pattern or NineGrid -->
 43                                         <Pattern>
 44                                                 <Image>./skin/images/walltexture.jpg</Image>
 45                                         </Pattern>
 46                                         <!-- alpha value between 0..1 -->
 47                                         <AlphaBlend>1</AlphaBlend>
 48                                         <!-- Could be one of the following values http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/DisplayObject.html#blendMode -->
 49                                         <BlendMode>normal</BlendMode>
 50                                         <!-- color transformation -->
 51                                         <ColorTransform>
 52                                                 <!--
 53                                                         brightness      Number          The percentage to apply the brightness channel between -1 and 1, where -1 is completely black and 1 is completely white
 54                                                         tintColor       Hexadecimal     A hexadecimal color value representing the color to apply.
 55                                                         tintMultiplier  Number  A decimal value between 0 and 1 representing a percentage to apply with the tintColor value.
 56                                                         redMultiplier   Number  The percentage to apply the color, as a decimal value between 0 and 1.
 57                                                         greenMultiplier         Number  The percentage to apply the color, as a decimal value between 0 and 1.
 58                                                         blueMultiplier  Number  The percentage to apply the color, as a decimal value between 0 and 1.
 59                                                         alphaMultiplier         Number  A decimal value between 0 and 1 representing a percentage to apply the alpha transparency channel.
 60                                                         redOffset       Number  A number from -255 to 255 that is added to the red channel value after it has been multiplied by the redMultiplier value.
 61                                                         greenOffset     Number  A number from -255 to 255 that is added to the green channel value after it has been multiplied by the greenMultiplier value.
 62                                                         blueOffset      Number  A number from -255 to 255 that is added to the blue channel value after it has been multiplied by the blueMultiplier value.
 63                                                         alphaOffset     Number  A number from -255 to 255 that is added to the alpha channel value after it has been multiplied by the alphaMultiplier value.
 64                                             -->
 65                                                 <Color 
 66                                                     redMultiplier="0.1" greenMultiplier="0.5" blueMultiplier="0.8" alphaMultiplier="1"
 67                                                         redOffset="128" greenOffset="128" blueOffset="128" alphaOffset="0"
 68                                                 />
 69                                                 <!-- <Color brightness="0" tintColor="0xFF000000" tintMultiplier="0" /> -->
 70                                         </ColorTransform>
 71                                 </LookAndFeel>
 72                         </SkinObject>
 73                         
 74                         <!-- Panel with performer video -->
 75                         <SkinObject><Type>BasicPanel</Type>
 76                                 <Name>PerformerVideoPanel</Name>
 77                                 <!-- every object must be visible -->
 78                                 <Visible>true</Visible>
 79                                 <!-- relative position -->
 80                                 <Position>
 81                                         <Left>10</Left>
 82                                         <Top>10</Top>
 83                                         <Right>410</Right>
 84                                         <Bottom>360</Bottom>
 85                                 </Position>
 86                                 <!-- object skin -->
 87                                 <LookAndFeel>
 88                                         <!-- here should be Pattern or NineGrid -->
 89                                         <NineGrid>
 90                                                 <SliceImgSequence>./skin/panels/rsp1_0{1-9}.png</SliceImgSequence>
 91                                         </NineGrid>
 92                                 </LookAndFeel>
 93                         </SkinObject>
 94                         
 95                         <!-- Camera gray panel -->
 96                         <SkinObject><Type>BasicPanel</Type>
 97                                 <Name>CameraGrayPanel</Name>
 98                                 <!-- every object must be visible -->
 99                                 <Visible>true</Visible>
100                                 <!-- relative position -->
101                                 <Position>
102                                         <Left>{ListOfUsersPanel.Right}+15</Left>
103                                         <Top>{ListOfUsersPanel.Top}+10</Top>
104                                         <Right>{PerformerVideoPanel.Right}-5</Right>
105                                         <Bottom>100%-5</Bottom>
106                                 </Position>
107                                 <!-- object skin -->
108                                 <LookAndFeel>
109                                         <!-- here should be Pattern or NineGrid -->
110                                         <NineGrid>
111                                                 <SliceImgSequence>./skin/panels/rsp2_0{1-9}.png</SliceImgSequence>
112                                         </NineGrid>
113                                         <AlphaBlend>0.75</AlphaBlend>
114                                         <ColorTransform>
115                                                 <Color tintColor="0x999999" tintMultiplier="0.3" />
116                                         </ColorTransform>
117                                 </LookAndFeel>
118                         </SkinObject>
119                         
120                         <!-- My camera -->
121                         <SkinObject><Type>BasicPanel</Type>
122                                 <Name>CameraPreviewPanel</Name>
123                                 <!-- every object must be visible -->
124                                 <Visible>true</Visible>
125                                 <!-- relative position -->
126                                 <Position>
127                                         <Left>105</Left>
128                                         <Top>100%-125</Top>
129                                         <Width>147</Width>
130                                         <Height>128</Height>
131                                 </Position>
132                                 <!-- object skin -->
133                                 <LookAndFeel>
134                                         <!-- here should be Pattern or NineGrid -->
135                                         <NineGrid>
136                                                 <SliceImgSequence>./skin/panels/rsqshadow2_0{1-9}.png</SliceImgSequence>
137                                         </NineGrid>
138                                 </LookAndFeel>
139                         </SkinObject>
140                                 
141                         <!-- Input text panel -->
142                         <SkinObject><Type>BasicPanel</Type>
143                                 <Name>InputTextPanel</Name>
144                                 <!-- every object must be visible -->
145                                 <Visible>true</Visible>
146                                 <!-- relative position -->
147                                 <Position>
148                                         <Left>{ListOfUsersPanel.Right}+10</Left>
149                                         <Top>{ListOfUsersPanel.Top}</Top>
150                                         <Right>{PerformerVideoPanel.Right}</Right>
151                                         <Bottom>100%-85</Bottom>
152                                 </Position>
153                                 <!-- object skin -->
154                                 <LookAndFeel>
155                                         <!-- here should be Pattern or NineGrid -->
156                                         <NineGrid>
157                                                 <SliceImgSequence>./skin/panels/rsp2_0{1-9}.png</SliceImgSequence>
158                                         </NineGrid>
159                                 </LookAndFeel>
160                         </SkinObject>
161                         
162                         <!-- Panel with list of users -->
163                         <SkinObject><Type>BasicPanel</Type>
164                                 <Name>ListOfUsersPanel</Name>
165                                 <!-- every object must be visible -->
166                                 <Visible>true</Visible>
167                                 <!-- relative position -->
168                                 <Position>
169                                         <Left>{PerformerVideoPanel.Left}</Left>
170                                         <Top>{PerformerVideoPanel.Bottom}+10</Top>
171                                         <Right>130</Right>
172                                         <Bottom>100%-5</Bottom>
173                                 </Position>
174                                 <!-- object skin -->
175                                 <LookAndFeel>
176                                         <!-- here should be Pattern or NineGrid -->
177                                         <NineGrid>
178                                                 <SliceImgSequence>./skin/panels/rsp2_0{1-9}.png</SliceImgSequence>
179                                         </NineGrid>
180                                 </LookAndFeel>
181                         </SkinObject>
182                         
183                         <!-- Panel with chat text -->
184                         <SkinObject><Type>BasicPanel</Type>
185                                 <Name>ChatTextPanel</Name>
186                                 <!-- every object must be visible -->
187                                 <Visible>true</Visible>
188                                 <!-- relative position -->
189                                 <Position>
190                                         <Left>{PerformerVideoPanel.Right}+10</Left>
191                                         <Top>{PerformerVideoPanel.Top}</Top>
192                                         <Right>100%-5</Right>
193                                         <Bottom>100%-5</Bottom>
194                                 </Position>
195                                 <!-- object skin -->
196                                 <LookAndFeel>
197                                         <!-- here should be Pattern or NineGrid -->
198                                         <NineGrid>
199                                                 <SliceImgSequence>./skin/panels/rsp2_0{1-9}.png</SliceImgSequence>
200                                         </NineGrid>
201                                 </LookAndFeel>
202                         </SkinObject>
203                         
204                         <!-- Textbox input background -->
205                         <SkinObject><Type>BasicPanel</Type>
206                                 <Name>InputTextBoxPanel</Name>
207                                 <!-- every object must be visible -->
208                                 <Visible>true</Visible>
209                                 <!-- relative position -->
210                                 <Position>
211                                         <Left>{InputTextPanel.Left}+5</Left>
212                                         <Top>{InputTextPanel.Top}+40</Top>
213                                         <Right>{InputTextPanel.Right}-5</Right>
214                                         <Bottom>{InputTextPanel.Bottom}-40</Bottom>
215                                 </Position>
216                                 <!-- object skin -->
217                                 <LookAndFeel>
218                                         <!-- here should be Pattern or NineGrid -->
219                                         <NineGrid>
220                                                 <SliceImgSequence>./skin/panels/rsp5_0{1-9}.png</SliceImgSequence>
221                                         </NineGrid>
222                                 </LookAndFeel>
223                         </SkinObject>
224                         
225                         <!-- image performer camera -->
226                         <SkinObject><Type>BasicPanel</Type>
227                                 <Name>ImagePerformerVideoPanel</Name>
228                                 <!-- every object must be visible -->
229                                 <Visible>true</Visible>
230                                 <!-- relative position -->
231                                 <Position>
232                                         <Left>140</Left>
233                                         <Top>140</Top>
234                                         <Width>128</Width>
235                                         <Height>128</Height>
236                                 </Position>
237                                 <!-- object skin -->
238                                 <LookAndFeel>
239                                         <!-- here should be Pattern or NineGrid -->
240                                         <NineGrid>
241                                                 <Slice1>./skin/images/camera_chat.png</Slice1>
242                                         </NineGrid>
243                                 </LookAndFeel>
244                         </SkinObject>
245                         
246                         <!-- image my camera -->
247                         <SkinObject><Type>BasicPanel</Type>
248                                 <Name>ImageMyCameraPanel</Name>
249                                 <!-- every object must be visible -->
250                                 <Visible>true</Visible>
251                                 <!-- relative position -->
252                                 <Position>
253                                         <Left>165</Left>
254                                         <Top>100%-70</Top>
255                                         <Width>64</Width>
256                                         <Height>64</Height>
257                                 </Position>
258                                 <!-- object skin -->
259                                 <LookAndFeel>
260                                         <!-- here should be Pattern or NineGrid -->
261                                         <NineGrid>
262                                                 <Slice1>./skin/images/video.png</Slice1>
263                                         </NineGrid>
264                                 </LookAndFeel>
265                         </SkinObject>
266 
267       
268                         
269                         <SkinObject><Type>BasicButton</Type>
270                                 <Visible>true</Visible>
271                                 <Name>KickOutButton</Name>
272                                 <OnClick>
273                                         <Action>onUniversalCall_WithSelectedClient</Action>
274                                         <Value>KickOut</Value>
275                                 </OnClick>
276                                 <Position>
277                                         <Left>90</Left>
278                                         <Top>100%-40</Top>
279                                         <Width>36</Width>
280                                         <Height>30</Height>
281                                 </Position>
282                                 <LookAndFeel>
283                                         <Images>
284                                                 <NormalImage>./skin/images/kickout_btn_01.png</NormalImage>
285                                                 <OverImage>./skin/images/kickout_btn_02.png</OverImage>
286                                                 <DownImage>./skin/images/kickout_btn_03.png</DownImage>
287                                         </Images>
288                                 </LookAndFeel>
289                     </SkinObject>
290                   
291                     <SkinObject><Type>BasicButton</Type>
292                                 <Visible>true</Visible>
293                                 <Name>PrivateButton</Name>
294                                 <OnClick>
295                                         <Action>onUniversalCall_WithSelectedClient</Action>
296                                 </OnClick>
297                                 <Position>
298                                         <Left>10</Left>
299                                         <Top>100%-40</Top>
300                                         <Width>80</Width>
301                                         <Height>30</Height>
302                                 </Position>
303                                 <LookAndFeel>
304                                         <Images>
305                                                 <NormalImage>./skin/images/private_btn_01.png</NormalImage>
306                                                 <OverImage>./skin/images/private_btn_02.png</OverImage>
307                                                 <DownImage>./skin/images/private_btn_03.png</DownImage>
308                                         </Images>
309                                 </LookAndFeel>
310                         </SkinObject>
311                         
312                         <SkinObject><Type>BasicButton</Type>
313                                 <Name>ButtonSendMessage</Name>
314                                 <Visible>true</Visible>
315                                 <OnClick>
316                                         <Action>SendTextMessage</Action>
317                                 </OnClick>
318                                 <Position>
319                                         <Left>350</Left>
320                                         <Top>100%-120</Top>
321                                         <Width>56</Width>
322                                         <Height>30</Height>
323                                 </Position>
324                                 <LookAndFeel>
325                                         <Images>
326                                                 <NormalImage>./skin/images/send_01.png</NormalImage>
327                                                 <OverImage>./skin/images/send_02.png</OverImage>
328                                                 <DownImage>./skin/images/send_03.png</DownImage>
329                                         </Images>
330                                 </LookAndFeel>
331                         </SkinObject>
332                         
333                         <SkinObject><Type>BasicButton</Type>
334                                 <Name>ButtonSelectSmile</Name>
335                                 <Visible>true</Visible>
336                                 <OnClick>
337                                         <Action>ShowDialog_SelectEmoticon</Action>
338                                 </OnClick>
339                                 <Position>
340                                         <Left>185</Left>
341                                         <Top>100%-120</Top>
342                                         <Width>36</Width>
343                                         <Height>30</Height>
344                                 </Position>
345                                 <LookAndFeel>
346                                         <Images>
347                                                 <NormalImage>./skin/images/smile_btn_01.png</NormalImage>
348                                                 <OverImage>./skin/images/smile_btn_02.png</OverImage>
349                                                 <DownImage>./skin/images/smile_btn_03.png</DownImage>
350                                         </Images>
351                                 </LookAndFeel>
352                         </SkinObject>
353                         
354                         
355                         <SkinObject><Type>BasicButton</Type>
356                                 <Name>ButtonSelectColor</Name>
357                                 <Visible>true</Visible>
358                                 <OnClick>
359                                         <Action>ShowDialog_SelectColor</Action>
360                                         <!-- Palette can contain at most 20 colors -->
361                                         <Palette>
362                                                 <Color>990000</Color>
363                                                 <Color>FF0000</Color>
364                                                 <Color>CC9933</Color>
365                                                 <Color>FA9100</Color>
366                                                 <Color>000000</Color>
367                                                 <Color>006600</Color>
368                                                 <Color>00CC00</Color>
369                                                 <Color>99CC00</Color>
370                                                 <Color>000066</Color>
371                                                 <Color>0000CC</Color>
372                                                 <Color>0099FF</Color>
373                                                 <Color>9933FF</Color>
374                                         </Palette>
375                                 </OnClick>
376                                 <Position>
377                                         <Left>145</Left>
378                                         <Top>100%-120</Top>
379                                         <Width>36</Width>
380                                         <Height>30</Height>
381                                 </Position>
382                                 <LookAndFeel>
383                                         <Images>
384                                                 <NormalImage>./skin/images/color_01.png</NormalImage>
385                                                 <OverImage>./skin/images/color_02.png</OverImage>
386                                                 <DownImage>./skin/images/color_03.png</DownImage>
387                                         </Images>
388                                 </LookAndFeel>
389                         </SkinObject>
390                         
391                         
392                         <SkinObject><Type>BasicButton</Type>
393                                 <Name>ButtonStartStreaming</Name>
394                                 <Visible>true</Visible>
395                                 <OnClick>
396                                         <Action>ShowDialog_SelectCamera</Action>
397                                         <AutoShowDialog>false</AutoShowDialog>
398                                         <StreamingConfiguration>
399                                                 <!-- Name of the stream -->
400                                                 <StreamName>Stream1</StreamName>
401                                                 <!-- user can stop streaming -->
402                                                 <AVOption_NoCamera>true</AVOption_NoCamera>
403                                                 <!-- User could select one of the following possibility -->
404                                                 <AVOption>
405                                                         <!-- Small text representation for this option -->
406                                                         <Title>Standart configuration</Title>
407                                                         <!-- longer description -->
408                                                         <Description>Standart configuration 320x240 pixels, 10 FPS, high quality, audio 32kbps.</Description>
409                                                         <!-- only one configuration should be default -->
410                                                         <IsDefault>false</IsDefault>
411                                                         <!-- audio setup -->
412                                                         <Audio>
413                                                                 <!-- kbitrate -->
414                                                                 <Kbitrate>32</Kbitrate>
415                                                                 <!-- silence mode, number in interva from 0 to 100 -->
416                                                                 <SilenceLevel>5</SilenceLevel>
417                                                         </Audio>
418                                                         <!-- video setup -->
419                                                         <Video>
420                                                                 <!-- Resolution in which user will be broadcasted to the world -->
421                                                                 <Resolution>
422                                                                         <Width>320</Width>
423                                                                         <Height>240</Height>
424                                                                 </Resolution>
425                                                                 <!-- kbitrate -->
426                                                                 <Kbitrate>320</Kbitrate>
427                                                                 <!-- frames per second -->
428                                                                 <FPS>10</FPS>
429                                                                 <!-- quality min value 10, max value 100 -->
430                                                                 <Quality>80</Quality>
431                                                                 <!-- when the key frame appears -->
432                                                                 <KeyFrameInterval>30</KeyFrameInterval>
433                                                         </Video>
434                                                 </AVOption>
435                                                 <AVOption>
436                                                         <!-- Small text representation for this option -->
437                                                         <Title>Good configuration</Title>
438                                                         <!-- longer description -->
439                                                         <Description>Standart configuration 320x240 pixels, 24 FPS, high quality, audio 32kbps.</Description>
440                                                         <!-- only one configuration should be default -->
441                                                         <IsDefault>true</IsDefault>
442                                                         <!-- audio setup -->
443                                                         <Audio>
444                                                                 <!-- kbitrate -->
445                                                                 <Kbitrate>32</Kbitrate>
446                                                                 <!-- silence mode, number in interva from 0 to 100 -->
447                                                                 <SilenceLevel>5</SilenceLevel>
448                                                         </Audio>
449                                                         <!-- video setup -->
450                                                         <Video>
451                                                                 <!-- Resolution in which user will be broadcasted to the world -->
452                                                                 <Resolution>
453                                                                         <Width>320</Width>
454                                                                         <Height>240</Height>
455                                                                 </Resolution>
456                                                                 <!-- kbitrate -->
457                                                                 <Kbitrate>450</Kbitrate>
458                                                                 <!-- frames per second -->
459                                                                 <FPS>24</FPS>
460                                                                 <!-- quality min value 10, max value 100 -->
461                                                                 <Quality>95</Quality>
462                                                                 <!-- when the key frame appears -->
463                                                                 <KeyFrameInterval>30</KeyFrameInterval>
464                                                         </Video>
465                                                 </AVOption>
466                                                 <AVOption>
467                                                         <!-- Small text representation for this option -->
468                                                         <Title>Extra configuration</Title>
469                                                         <!-- longer description -->
470                                                         <Description>Standart configuration 400x300 pixels, 24 FPS, high quality, audio 32kbps.</Description>
471                                                         <!-- only one configuration should be default -->
472                                                         <IsDefault>false</IsDefault>
473                                                         <!-- audio setup -->
474                                                         <Audio>
475                                                                 <!-- kbitrate -->
476                                                                 <Kbitrate>32</Kbitrate>
477                                                                 <!-- silence mode, number in interva from 0 to 100 -->
478                                                                 <SilenceLevel>5</SilenceLevel>
479                                                         </Audio>
480                                                         <!-- video setup -->
481                                                         <Video>
482                                                                 <!-- Resolution in which user will be broadcasted to the world -->
483                                                                 <Resolution>
484                                                                         <Width>400</Width>
485                                                                         <Height>300</Height>
486                                                                 </Resolution>
487                                                                 <!-- kbitrate -->
488                                                                 <Kbitrate>550</Kbitrate>
489                                                                 <!-- frames per second -->
490                                                                 <FPS>24</FPS>
491                                                                 <!-- quality min value 10, max value 100 -->
492                                                                 <Quality>95</Quality>
493                                                                 <!-- when the key frame appears -->
494                                                                 <KeyFrameInterval>30</KeyFrameInterval>
495                                                         </Video>
496                                                 </AVOption>
497                                         </StreamingConfiguration>
498                                 </OnClick>
499                                 <Position>
500                                         <Left>250</Left>
501                                         <Top>100%-45</Top>
502                                         <Width>100</Width>
503                                         <Height>36</Height>
504                                 </Position>
505                                 <LookAndFeel>
506                                         <Images>
507                                                 <NormalImage>./skin/images/startstreaming_btn_01.png</NormalImage>
508                                                 <OverImage>./skin/images/startstreaming_btn_02.png</OverImage>
509                                                 <DownImage>./skin/images/startstreaming_btn_03.png</DownImage>
510                                         </Images>
511                                 </LookAndFeel>
512                         </SkinObject>
513                         
514                         <SkinObject><Type>HtmlTextArea</Type>
515                                 <Name>RoomName</Name>
516                                 <Visible>true</Visible>
517                                 <Position>
518                                         <Left>{PerformerVideoPanel.Left}+10</Left>
519                                         <Top>{PerformerVideoPanel.Top}+5</Top>
520                                         <Width>400</Width>
521                                         <Height>50</Height>
522                                 </Position>
523                                 <HtmlText>{{FONT SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"}}{{B}}Room name{{/B}}{{/FONT}}</HtmlText>
524                                 <IsTextSelectable>false</IsTextSelectable>
525                         </SkinObject>
526                 </BG>
527                         
528                 
529                 <ML>
530                         
531                         <SkinObject><Type>PerformerVideo</Type>
532                                 <Name>PerformerVideo</Name>
533                                 <Visible>true</Visible>
534                                 <Position>
535                                         <Left>15</Left>
536                                         <Top>55</Top>
537                                         <Width>388</Width>
538                                         <Height>290</Height>
539                                 </Position>
540                         </SkinObject>
541                         
542                         <SkinObject><Type>MyVideo</Type>
543                                 <Name>MyVideo</Name>
544                                 <Visible>true</Visible>
545                                 <Position>
546                                         <Left>155</Left>
547                                         <Top>100%-75</Top>
548                                         <Width>80</Width>
549                                         <Height>61</Height>
550                                 </Position>
551                         </SkinObject>
552                         
553                         <SkinObject><Type>ChatText</Type>
554                                 <Name>ChatText</Name>
555                                 <Visible>true</Visible>
556                                 <EmoticonsEnabled>false</EmoticonsEnabled>
557                                 <HtmlText>{{FONT FACE="Arial" SIZE="18" COLOR="#000000" LETTERSPACING="0" KERNING="0"}}{{B}}EVERYTHING YOU SEE HAS BEEN IMPLEMENTED BY 100 LINES OF PHP CODE: {{FONT COLOR="#0000FF"}}{{a href="./service.php" target="_blank"}}SEE HERE{{/a}}{{/FONT}} AND 500 LINES OF XML SKIN DOCUMENT: {{FONT COLOR="#0000FF"}}{{a href="config.xml" target="_blank"}}SEE HERE{{/a}}{{/FONT}}.{{BR /}}{{BR /}}{{/B}}{{/FONT}}{{FONT FACE="Arial" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"}}This chat is written in Radical Chat Framework for PHP - the first available solution which enable the developers to write flash videoconferencing applications entirely in PHP language without any further knowledge about Flash, Actionscript, RTMP protocol or stream server API. The framework unique design speeds up the video chat development process from 3-6 months to 2-4 days.{{/FONT}}{{BR /}}{{BR /}}{{FONT FACE="Arial" SIZE="12" COLOR="#FF0000" LETTERSPACING="0" KERNING="0"}}Stream server is currently used for development and testing.{{BR /}}{{/FONT}}</HtmlText>
558                                 <UserUIDFilter></UserUIDFilter>
559                                 <NewMessageSound>./skin/sounds/newmessage.mp3</NewMessageSound>
560                                 <PublicMessage>
561                                         <!-- 
562                                                 here you can use 
563                                                 {message.getColor()} - return message color, 
564                                                 {message.sender.getNickName()} - return nick name of the sender, 
565                                                 {message.sender.getUID()} - return uid of the sender, 
566                                                 {message.getText()} - return message body 
567                                                 {datetime.format("string")} - format actual time
568                                                 %a - lowercase am or pm
569                                                 %A - uppercase AM or PM
570                                                 %d - day of month 01-31 (leading 0)
571                                                 %D - day of month 1-31
572                                                 %g - 12-hour 00-11 (leading 0)
573                                                 %G - 12-hour 0-11
574                                                 %h - 24-hour 00-23 (leading 0)
575                                                 %H - 24-hour 0-23
576                                                 %i - minutes 00-59 (leading 0)
577                                                 %I - minutes 0-59
578                                                 %m - numeric month 01-12 (leading 0)
579                                                 %M - numeric month 1-12
580                                                 %N - month (January)
581                                                 %n - month (Jan)
582                                                 %s - seconds 00-59 (leading 0)
583                                                 %S - seconds 0-59
584                                                 %y - 2-digit year
585                                                 %Y - 4-digit year 
586                                         -->
587                                         <Template>{{P ALIGN="LEFT"}}{{FONT FACE="_sans" SIZE="12" COLOR="#{message.getColor()}" LETTERSPACING="1" KERNING="0"}}{{B}}{message.sender.getNickName()}{{/B}}{{/FONT}}{{/P}}{{P ALIGN="LEFT"}}{{FONT FACE="_sans" SIZE="12" COLOR="#{message.getColor()}" LETTERSPACING="0" KERNING="0"}}{message.getText()}{{/FONT}}{{/P}}{{P ALIGN="RIGHT"}}{{FONT FACE="_sans" SIZE="8" COLOR="#000000" LETTERSPACING="0" KERNING="0"}}{datetime.format("%Y.%m.%d %h:%i:%s")}{{/FONT}}{{/P}}</Template>
588                                 </PublicMessage>
589                                 <PrivateMessage>
590                                         <!-- 
591                                                 same as public message with following options
592                                                 {message.receiver.getNickName()}
593                                                 {message.receiver.getUID()}
594                                         -->
595                                         <Template>{{P ALIGN="LEFT"}}{{FONT FACE="_sans" SIZE="12" COLOR="#{message.getColor()}" LETTERSPACING="1" KERNING="0"}}{{B}}{{I}}{message.sender.getNickName()} &amp;gt;&amp;gt; {message.receiver.getNickName()}{{/I}}{{/B}}{{/FONT}}{{/P}}{{P ALIGN="LEFT"}}{{FONT FACE="_sans" SIZE="12" COLOR="#{message.getColor()}" LETTERSPACING="0" KERNING="0"}}{message.getText()}{{/FONT}}{{/P}}{{P ALIGN="RIGHT"}}{{FONT FACE="_sans" SIZE="8" COLOR="#000000" LETTERSPACING="0" KERNING="0"}}{datetime.format("%Y.%m.%d %h:%i:%s")}{{/FONT}}{{/P}}</Template>
596                                 </PrivateMessage>
597                                 <MessagesBufferSize>15</MessagesBufferSize>
598                                 <Position>
599                                         <Left>430</Left>
600                                         <Top>45</Top>
601                                         <Right>100%-10</Right>
602                                         <Bottom>100%-15</Bottom>
603                                 </Position>
604                         </SkinObject>
605                         
606                         <SkinObject><Type>ChatInput</Type>
607                                 <Name>ChatInput</Name>
608                                 <Visible>true</Visible>
609                                 <MaxChars>512</MaxChars>
610                                 <HtmlText>{{FONT SIZE="14" FACE="Courier" COLOR="#995500" LETTERSPACING="0" KERNING="0"}}</HtmlText>
611                                 <MessageSentSound>./skin/sounds/sending.mp3</MessageSentSound>
612                                 <Position>
613                                         <Left>145</Left>
614                                         <Top>410</Top>
615                                         <Right>405</Right>
616                                         <Bottom>100%-125</Bottom>
617                                 </Position>
618                                 <SendTextMessageWhenEnterKeyPressed>true</SendTextMessageWhenEnterKeyPressed>
619                         </SkinObject>
620                         
621                         <SkinObject><Type>ListOfUsers</Type>
622                                 <Name>ListOfUsers</Name>
623                                 <Visible>true</Visible>
624                                 <AllUsers>
625                                         <NickName>All users</NickName>
626                                 </AllUsers>
627                                 <UserUIDFilter>.*</UserUIDFilter>
628                                 <SoundUserEnter></SoundUserEnter>
629                                 <SoundUserLeft></SoundUserLeft>
630                                 <Position>
631                                         <Left>15</Left>
632                                         <Top>410</Top>
633                                         <Right>125</Right>
634                                         <Bottom>100%-15</Bottom>
635                                 </Position>
636                         </SkinObject>
637                         
638                 </ML>
639                 
640                 <FG>
641                         
642                 </FG>
643         </Skin>
644 </RadicalChat>
645