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