xPerT -- PervTalk plugin for Xlobby

Xlobby plugin development

Postby rika on Tue Dec 19, 2006 8:09 am

Holy shi..! You work fast. I will test 8)

Rika
rika
 
Posts: 401
Joined: Fri Apr 02, 2004 5:43 am
Location: Sweden

Postby P3rv3rt B3ar on Thu Dec 28, 2006 6:39 am

New xperimental bugfix version for Scalt here.
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Postby P3rv3rt B3ar on Thu Feb 08, 2007 7:28 am

Ok a minor fix. Just use above link to dl. New version should also work with earlier versions of Xlobby. I was personally having some probs with newest build...
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Postby scalt on Thu Feb 08, 2007 8:03 am

Thanks!

I'll give it a try!
scalt
 
Posts: 75
Joined: Tue Dec 06, 2005 10:53 pm

Postby P3rv3rt B3ar on Sat Feb 10, 2007 12:13 pm

Ok new experimental version containing togglecats should be out there... just use link above.

As already mentioned toggle cat items are implemented as kittens (that is cats which belong to other cats) So to turn one of items existing in your cat in to toggle item, u have to create database which contains states of the toggle, and then dummy kitten of that database. If u present category as icons, u set icons presenting toggle states as kitten coverart. This coverart is switched automaticly when u click cat item to which kitten is tied to, assuming that cat is toggle enabled.

How to tie kitten to cat item?

u add field called _togglecat to cat item and set its value as name of the kitten.

How to toggle enable a cat?

U set click event of cat as a event which contains ToggleCat command.

What is format of ToggleCat command?

Code: Select all

xPerT

ToggleCat

cat



or


Code: Select all

xPerT

ToggleCat

cat>event



or


Code: Select all

xPerT

ToggleCat

cat<fields



or


Code: Select all

xPerT

ToggleCat

cat>event<fields



Where

cat is cat to be toggle enabled.
event is click event which is performed for all non toggling cat items. it is given in form eventgroup>event so example would be SKIN>my_eventgroup>my_event. Note that event can be omitted.
fields are '>' separated list of kitten item fields which are needed to migrate to cat item, with these u implement forexample displayed text. more on this shortly. fields can also be omitted. Note that separator between event and fields is exceptionally '<'.

to give different toggle states a different click action, u define "_toggleaction" field into kitten item, u give event in this field in same format than above specified for events. Note that if you have just defined the event u need to restart xlobby before its usable. If xPerT doesnt find toggleaction defined to particular kitten item, it launches parameter field of the kitten item normally. If kitten item does not have parameter value, xPerT does default behavior which is given by _toggleaction field of cat item itself or if that doesnt exist parameter field of same cat item.

Ok as above was mentioned coverart migrates from kitten item to cat item automaticly, migration of other fields need to be activated in ToggleCat command.

Lets take simple example of this. Lets assume we have single two item cat, items being "stop" and "play/pause" now stop is regular cat item but for play/pause we need to make a kitten cause we want it to toggle. So we create other database with "play" and "pause" items, and create a dummy kitten of this db. Lets assume we set coverart of common symbols for these actions then all we need to do is set "_togglecat" field with value "name_of_dummy_kitten" to our "play/pause" cat item and set click event of our category to launch event which contains ToggleCat command with parameter "name_of_our_cat".

Now lets assume that symbols are all cool and work automaticly, but what we want instead is names of actions "play", "stop" and so on... as mentioned above coverart migrates automaticly from kitten items to cat items, but text fields dont. So lets decide that we add field called "text" to our cat items, and we set this field to be what category is displaying. Now we just need to define similar fields to kitten item and get them somehow to travel to cat item when we click it. So we define field "_toggle_text" to our kitten items and give it values "play" and "pause" to corresponding kitten items. Now to get these fields to migrate to our cat item all we need to do is fix our ToggleCat command parameter to be "name_of_our_cat<text".
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Postby P3rv3rt B3ar on Sun Feb 18, 2007 10:50 am

Ok i have just uploaded mapcat testversion as experimental build. U can use download link above.

Note, also like other experimental versions many traditional xPerT features are broken on this one, so original 0.90 version is still only one recommended for nontest use. Experimental build is only meant for kXd users and people who want to test this or other new features. However my believe is tat i can soon provide new bugfix version which should supercede all earlier versions...

For those of u who havent been following "while we r waiting" thread. Mapcat tries to imitate regular cat but its items are mapped to background making it capable for example presenting category of zones over house blueprint. Since pics tell it better than my words:

Image

I was lazy to take new screenshots, so ill be using same which u already saw on the other thread. Note though that black background there is done by collage cat functionality because of png-bug. I wont be releasing collage cats yet cause theyr implementation is still not ready and i havent yet figured out a way to go around the bug. Using just mapcats u wont be affected by the bug however.

Without further ado lets get into the point.

U generate mapcat by following textfield:

Code: Select all
plugin>xPerT>mapcat>LABEL>CAT>LAYOUT>PIC>X>Y>ICON>ONCLICK


Where: LABEL is name given to mapcat shared with ID field in conjunction with screenname. CAT is name of dummy cat to be presented on mapcat. LAYOUT quarantees that u can reuse same database on different backgrounds to ensure different perspectives to same cat... just make sure u use same LAYOUT name in database for corresponding entries. PIC is filename of picture to be presented on background of mapcat, or map of the cat if u will. X and Y specifie size of the icon, they take values from range 1-1000, where 1000 means 1 times size of background map and 1 1/1000th of size of background map, these values can be overridden in database for individual items. Also it is possible to replace other one of values with keywords "square" and "original", square means that icon will be square size counted from other value and original means that original aspect ratio is presderved. ICON is filename for general icon which is displayed for item when it has no item specific icon specified to it. ONCLICK gives event to launch when cat is clicked in usual notation "Eventgroup>event", NOP stands for no-operation.

as mentioned above ID-field for mapcat item has to be:

Code: Select all
SCREENNAME_LABEL


To get cat items show on the map pure minium is u need to define their location into database, u need to add fields called:

LAYOUT_x

and

LAYOUT_y

and give them values from range 1-1000... again this number gives location relative to background map on given axel. U dont need to give exact location since u can move the dot around in skinedit.

If u want item to be selectable by click on area on the map u need also define field:

LAYOUT_area

format of data of field is point1,point2,...,pointN in other words comma separated list of points, where point is given x/y, where x and y can take values from range [-1000,1000], these are relational to the center point of icon given by LAYOUT_x and LAYOUT_y fields. Note that on pure minium u need to give atleast three points, any less wont obviously describe two dimensional area.

U can just give area value of

Code: Select all
100/100,-100/100,-100/-100,100/-100


this gives u square area, and later drag it around in skin edit. If u drag corners (white thingy) u can move them aroung, by dragging sides (blue thingy) u can add corners.

Image

If u want to give an individual size for icon of particular item, u can do it with field

LAYOUT_size

this overrides general size given in mapcat variable. format is x/y for example 200/square, this gives u square which is one fifth of the width of background map.

and finally...

if u want (i bet u do) to use individual mapicons for each cat items u need to use field

LAYOUT_icon

if u want mapitems to be presented their coverart as their icon u can use following value for this field:

Code: Select all
loadpic>normal>%CAT>coverart%


where CAT is your dummy cat.

PS. i know this aint best possible documentation on rather complex topic... but im tired about documenting right now... i can answer to questions however.

EDIT also im little puzzled now myself i thought there was a way to override general onclick action for individual items on database... Anycase (in current implementation) individual items when clicked should initiate their parameter-field defined behavior just like in normal categories (that is if there is area defined for item ofcourse)... but i really think i should add something like LAYOUT_action, its long since i was working on this.... cause i was sure it existed...
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

PervHub crashing

Postby scalt on Sat Mar 03, 2007 10:18 pm

B3ar,

Is there a way to remove the "Send/Don't Send" screen when PervHub crashes? This would be useful for the crash recovery and wouldn't need user intervention.

I'm asking this because for some reason, the first 2 or 3 times i run pervhub after booting up my HTPC, it crashes. But after that, I can close it and reopen it all I want and it is stable.
scalt
 
Posts: 75
Joined: Tue Dec 06, 2005 10:53 pm

Postby P3rv3rt B3ar on Sun Mar 04, 2007 12:42 am

I suppose i could change that programmaticly... it might be bad for debugging thought, but yeah i could do that...

Its just life took pretty good swing at me... so itll have to wait until im back on my feet again... meanwhile... i just better avoid getting too sober...

damn girls b3ars worst weakness...
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Postby sagitaz on Fri Mar 23, 2007 4:53 pm

with this version : http://91.153.71.208/experimental/xPerT.dll

i cant use :
Code: Select all
plugin>xPerT>forward>3>movies>title


this old version work for do that : xPerT.dll

can we have an help file with all command we can use with xPerT . :wink:

the old html helper file are on this web page : P3rvWare.htm
sagitaz
 
Posts: 114
Joined: Mon Jul 05, 2004 11:17 pm

Postby P3rv3rt B3ar on Fri Mar 23, 2007 6:01 pm

Yes, that old functionality, which i now call "catshift" does not work in experimental version, also some other older functionality might not work with xperimental build either.

I was working for new version which should had replaced all earlier ones, with "catshift" working too. But because everything with xlobby is so unsure at the moment, i have decide to freeze all development efforts, until it again becomes apparent that they wont be wasted.

Meanwhile... if u need both the old functionality and functionality within experimental version... mayby u could try to rename .dll of other version and try to run them both simultaneously? its just an idea... i cant say would it work or not.

I also planned to release better documentation with that upcoming version... until that time... this thread and others does document most of added features including: Togglecats, Slideshows, Mapcats, Arithmetics... There are also some undocumented features but most of them are still buggy or unfinished, some like variable smuggling though are up and running...
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Postby P3rv3rt B3ar on Sat Apr 21, 2007 6:02 pm

New bugfix version of PervHub available for alphatesters at usual place.

Version fixes use of aliases for pervtalk devices for certain pervtalk commands.
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Re: xPerT -- PervTalk plugin for Xlobby

Postby P3rv3rt B3ar on Fri Aug 31, 2007 12:29 pm

To battle with Alamata's bug, ive decided to put new version "xPerT - Badubo Honorary Edition" out. This version also contain gauges support, so ill be documenting it shortly on this thread. Note that version is also experimental, so several features either are or might be broken, these features are: cat shift, toggle cats and all catwalk algorithms. So use your own judgement to decide whether or not to update.

xPerT BHE
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

Re: xPerT -- PervTalk plugin for Xlobby

Postby badubo on Fri Aug 31, 2007 12:59 pm

Hello,

Thanks for the dedication ;)
badubo
 
Posts: 505
Joined: Mon May 03, 2004 7:33 pm
Location: Belgium

Re: xPerT -- PervTalk plugin for Xlobby

Postby P3rv3rt B3ar on Fri Aug 31, 2007 1:54 pm

Ok as promised, gauges...

u make gauge inserting following variable into buttons text field:

Code: Select all
plugin>xPerT>present>gauge>HANDS>BCKGRND_PIC


Where BCKGRND_PIC is location and filename of the gauge background and HANDS is

Code: Select all
HAND1>HAND2>....>HANDN


Where HANDX is

Code: Select all
VALUE>LOCATION>NORM>ANGLE>LENGTH>COLOR


Where

VALUE is integer value in range [0-1000] and it detrminates where this hand points, so obviously it should be a variable for gauge to make much sense :D

LOCATION is point where on background pic hand is suspended on. given as

Code: Select all
X,Y


where X and Y are pixels related to bacground pic, instead of giving coordinate values u can also use "center" as a shorthand when arm is suspended at center of gauge background.

NORM is angle of 0 point given in degrees clockwise from up north.

ANGLE is angle for whole range [0-1000] in degrees.

so NORM and ANGLE together give limits for movement of the hand, u can see these limits in skineditor as dotted lines.

LENGTH is length of hand given in pixels relative to background

COLOR is color of arm, simplest way to define color is to give name of color u have setted up in u xlobby skin editor, but u should be able to use so called web notation too. it will also accept integer ARGB values separated by "," and finally it will accept some common colors by their name, even if theyre not set among your XL colors.
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

CatShift Pushes for new Gear

Postby P3rv3rt B3ar on Tue Sep 11, 2007 12:19 am

As headline suggests, trademark functionality of xPerT, catshift is back! yay!

To use new catshift just reupdate your BHE version.

New catshift is bit different though than original version, actually its rewritten from scratch, hopefully its also more efficient, key difference between old catshift and new one is where as in old one u pull variables from xPerT, in this one xPerT pushes variables to u. Good question is will i make old kind pulling catshift to work again somepoint, and i dont really know the answer, it all depends how does the new one work, please do betatesting as much possible, and report about bugs. If it turns out that pushing doesnt work as planned, i might redevice pulling, but otherwise that is highly unlikely. So i recommend each catshift user to implement changes needed to turn pullers into pushers, thats not too much changing afterall. Only if u use other possible broken catwalk features, u might consider not migrating and keep using original version.

What are the changes in part of user? not much, real or dummy cat is needed as before, unique combination of core fields for cat items is requirement as before. Key difference is, because whole point of pushing is that information get stored into xlobby variable, that u have to point into xl-variable instead of plugin variable, so if u used syntax like

Code: Select all
plugin>xPerT>afternext>movies>display


ull be now using:

Code: Select all
variable>xPerT>afternext>movies>display


yes that is all, "plugin" in the beginning changes to "variable", only catch is u need to do change for each and every catshift variable u r using.
Other change is that for pictures use of xpert loadpic variable is not needed anymore, that is because picture is now stored xl variable it will be loaded automaticly. This greatly simplifies some variables.

Is it that easy?

No. not really.

Theres one new concept required. Catspanning. before u can used pushed variables, u need to span your cat. Cats are spanned with command "SpanCat" and probably best way to use it is to launch it as user enters to screen containing catshift variables. format of catspan command is following:

Code: Select all

xPerT

SpanCat

CAT>FIELD>SPAN



where CAT is cat to be spanned, and shifted.

FIELD is field of database items u r interested in forexample "coverart"

SPAN is integer number which specifies how many cat items u need to show, if u need to show five items u put value of SPAN as 2. number of items is always 2*SPAN+1 so if u put span four, u can display 9 items (four on each side of current catitem).

Remember for this functionality u need to download new version of BHE (just use earlier link), which i uploaded to server just little while ago.

Good luck, be back with bugs :D
P3rv3rt B3ar
 
Posts: 1364
Joined: Fri Apr 07, 2006 9:52 pm
Location: West Coast Funland

PreviousNext