		mxPlay Designer's API Description
		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Introduction

2. Plugin Info

3. Module Info

4. Playlist

5. Contact

----------------------------------------------------------------------

*******************
* 1. Introduction *
*******************

Beside making programmer's life easier by creating new replay plugins 
we focused on as free designable skin approach as possible. In the 
next chapters I'll try to describe dangerous places where you can 
get by plugin designing.

One general rule applies to all forms: leave object number's which 
are listed in header file INTACT !!! I think I don't have to explain 
why - if the scrolling infoline has number #22 and you change it to 
#10 which is the object number of playtime you can imagine the result.

So be very careful by this job. The best approach is to re-edit 
existing objects. Especially Resource Master users be careful - this 
application change object numbers even by copy&paste! However, 
there's an option under "Miscellaneous..." called "Locked object 
numbers" which keeps object numbers as they are even when you delete 
someone.

About, Splash, License, Panel and minimized icon doesn't need any 
special care - just change what you like but don't forget to keep 
original values (buttons, version string, ...)

For the others: don't forget the size of some (esp. text) objects is 
remembered and used by mxPlay - for example if you make a text field 
for module parameter name too short, mxPlay will use this, truncated, 
name! In practice it could have some not very nice effects for 
example for two 'long_name_1' and 'long_name_2' after truncating to 
'long_nam' you will always see the value of 'long_name_1' in both 
fields since mxPlay will think you ask again for the same value!

Ah, nearly I forgot: default design tool we use is ResourceMaster 
3.65 since we find it as modern and poweful tool for RSC handling. I 
mention it for the case you wonder what those *.RSM files are. You 
can buy it directly from Armin Diedering, www.ardisoft.de for a 
REALLY little money.


******************
* 2. Plugin Info *
******************

- everything between POS_START and POS_END will be hidden and 
  everything under POS_END will be moved up

- disabled boxes mean "slots" for parameters. That means place for 
  "Option: value" duo (left and right arrow isn't used at this moment 
  since I'm not sure about implementing something like Module Info 
  dialog in this one, too) or up/down arrow if there's more 
  parameters than slots. If you're bored with clicking on the arrows 
  (your favorite plugin has many parameters) just add another 
  disabled box, that's all, really.

- except the thing above "parameters area", font size and arrows/bool 
  check icon there isn't much to do ;)


******************
* 3. Module Info *
******************

- Module Info and OK button are centered.

- BACKGROUND box represents a "slot area" for module parameters, it's 
  much easier for me (and probably for you, too) to track this 
  object's height and add apropiate number of slots. So you don't 
  need to put here anything except the one predefined "quattro" 
  (parameter string - arrow - value string - arrow) and everything 
  other will be handled by application.

- you can add some icons to the right and bottom side of dialog, they 
  will be moved according to BACKGROUND box by resizing.


***************
* 4. Playlist *
***************

...and the sweetiest one at the end ;)

- BACKGROUND box: same as by Module Info, however, it's good if you 
  fill all slots by hand (i.e. you add text objects) since new dialog 
  re-creation occurs up to first dialog resize.

- the first two text entries have a special meaning: text colour of 
  the first entry will be used as mark for the currently played file 
  and the colour from the second entry will be used for "normal" 
  files in playlist window. So you can't use different colour for 
  every entry for example since colours of entries 2 to N will be 
  overwritten.

- on the dialog borders you can specify some objects: 4 icons to 
  edges and 4 main boxes as fillers. Main boxes means every box can 
  contain child objects (boxes, too) so you can make nice effects 
  with them.

- all objects under and on the right to BACKGROUND will be moved as 
  resize occurs. Be careful with edge icons - for right-sided 
  icons their x corrdinate has to be bigger than BACKGROUND x + width!


**************
* 5. Contact *
**************

Since I'm the author of this API it comes to me as very easy and 
understable. However, since Xi asked me a lot of time one lame 
question after another ;), I know it could a little bit tricky, so 
don't hesistate to contact me with ANY your question, I'm open to 
answer even the most primitive one you can imagine ;) The main goal 
is to motivate people to draw as many skins as possible. So don't 
wait, take your new MXP skin and send it to me!

You can reach me 7 days of week at:

mikro@hysteria.sk

In case of some unexpected things (server crash etc) you can contact 
Xi, the author of every skin in this release:

xi@napri.sk



... happy skinning!

      -----------         Don't forget to visit    -----------
      -----------        http://mxplay.atari.org   -----------

MiKRO / Mystic Bytes                      -XI- / Satantronic
http://mikro.atari.org                    http://satantronic.atari.org
http://msb.neostrada.pl

      -----------         Don't forget to visit    -----------
      -----------            http://atari.sk       -----------
