Your comments

Yes that is good method. Thanks. :)

In example we can add text to list item like this.

List_1.CreateItem(0, 1, {Text: "Hello List!"});

How can i add different image/icon to each button via script?

Well Static List- solution is not very good. And for example in this project states do work. https://s3.amazonaws.com/iRidiumWiki2.0/i2Scripts/List_Test_Anim.irpz

Solved problem by creating blank transparent level item on the dim graphic button. When pressing level item, it sends commands and static list wont move if you move cursor out from button. Level item sends 1 on press and 0 on release to the graphic button to indicate button state.

Well yes. It would be great to have that option on GUI editor. I'm just asking how static list works so i can solve this problem now so i can get my project done now. :) Button should work like normal level item on gui editor. When you press level, list wont move until you release.

I have just this problem but i need press event to send cmd 1 and release event to send cmd 0. How does static list events work? Is there way to remove mouse drag event and put it back when releasing so static list wont move?

I did read it but i can't find any solution for mouse(hover)over. So example if i hover over a button > button should indicate that cursor is on it. Like this:

So I have a project where we have multiple Sonos players and one ipad for each player.
I need to set static sonos ip without searching them.
I just need to control specific Sonos player with specific ipad.
I downloaded Sonos module from iRIDIUM website and i'm trying to use this .js-script with it.
Problem is that iRIDIUM Sonos module is still showing all my Sonos players.
Do i need to just copy this script to my project?

function SONOS_Player_Settings(in_IP)
var data = ""
if(!(in_IP instanceof Array))
in_IP = [in_IP];
for(var i = 0; i < in_IP.length - 1; i++)
data += "SonosPlayer" + i + "~http://" + in_IP[i] + ":1400/xml/device_description.xml,";
data += "SonosPlayer" + (in_IP.length - 1) + "~http://" + in_IP[in_IP.length - 1] + ":1400/xml/device_description.xml";
IR.SetVariable("Global.SonosPlayers", data);
IR.Log(data);
}
SONOS_Player_Settings(["10.15.10.104"]);
Hi! Im using custom sliders on my projects level items and it's communication fine with my TCP-client when i'm moving slider.
But when im changing level value from my TCP-client, just level value is changing but slider is not movin at all.

Any help? :)
Thx!

// user's slider
function UserSlider(Level, Slider){

// begining position by X
var firstSliderX = Slider.X;

// counting current position of the slider relative to the Level
function Move(){

Slider.X = firstSliderX + Level.Value * (Level.Width) / 140;
}
// Actions OnStart
IR.AddListener(IR.EVENT_START, 0, Move);
// Подписка на события
IR.AddListener(IR.EVENT_ITEM_PRESS, Level, Move); // Pushing to the Level
IR.AddListener(IR.EVENT_MOUSE_MOVE, Level, Move); // Mouse Moving on the Level
IR.AddListener(IR.EVENT_TOUCH_MOVE, Level, Move); // Finger mooving on the level

// IR.SetInterval(1000, Move); // for the feedback
}

// Creates an instance of a custom slider and pass the elements ID
var UserSlider_1 = new UserSlider(IR.GetItem("Lights_popup_main_page").GetItem("Level 1"), IR.GetItem("Lights_popup_main_page").GetItem("Slider 1"));