Metamorphis Scripts: Difference between revisions

From wiki.jriver.com
Jump to navigation Jump to search
No edit summary
 
m (Reverted edits by LaoloBasri (Talk); changed back to last version by Gateley)
 
(14 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Metamorphis uses JScript to do scripting. There are multiple objects which JScript can access: Metamorphis, Window ( exact name depends on window name, for example if you have window called Player in you Main.xml file that name of the object will be Player), MJAutomation (you can access many object through MJAutomation object see Interface Plug-ins SDK)
Metamorphis uses JScript to do scripting. There are multiple objects which JScript can access: Metamorphis, Window ( exact name depends on window name, for example if you have window called Player in you Main.xml file that name of the object will be Player), MJAutomation (you can access many object through MJAutomation object see Interface Plug-ins SDK)


Metamorphis Object Commands:
==Metamorphis Object Commands==
===Functions===

'''void SetBitmap(string Bitmap, string TransparentColor)'''<br>
Functions:
'''Description''': Sets image for the window. Relative paths can be used. SetBitmap function can be used to change image and region for a window.<br>

'''Parameters''':<br>
void SetBitmap(string Bitmap, string TransparentColor)
:''Bitmap'' - new bitmap file for the window.<br>

:''TransparentColor''- transparent color of new image.<br>
Description: Sets image for the window. Relative paths can be used. SetBitmap function can be used to change image and region for a window.
'''Example''':<br>

Player.SetBitmap( "coolpic.gif", "ff00ff");
Parameters:
----
Bitmap - new bitmap file for the window.
'''bool LoadSkinState()'''<br>
TransparentColor- transparent color of new image.
'''Description''': Loads previously saved state of the skin, usually called in handler for OnInitialize event.<br>

'''Return Values''': true if skin state was previously saved using SaveSkinState function, otherwise false.<br>
Example:
'''Example''':<br>

if(Metamorphis.LoadSkinState() == false)
Player.SetBitmap( "coolpic.gif", "ff00ff");
{

EQ.ShowWindow(true);
bool LoadSkinState()
}

----
Description: Loads previously saved state of the skin, usually called in handler for OnInitialize event.
'''void SaveSkinState()'''<br>

'''Description''': Saves skin state, usually called in handler for OnExit event.<br>
Return Values: true if skin state was previously saved using SaveSkinState function, otherwise false.
'''Example''':<br>

Metamorphis.SaveSkinState();
Example:
----

'''void SetStateValue(string Name, variant Value)'''<br>
if(Metamorphis.LoadSkinState() == false)
'''Description''': Sets state variable. This variable will be saved in state.xml and can be retrieved when skin is loaded or at any other time. Supported types: number, string, boolean, double<br>
{
'''Parameters''':<br>
EQ.ShowWindow(true);
:''Name'' - Name of the value to be set.<br>
}
:''Value'' - Specifies the data to be stored.<br>

'''Example''':<br>
void SaveSkinState()
Metamorphis.SetStateValue("SomeName", "SomeValue");

Metamorphis.SetStateValue("SomeName2", 1);
Description: Saves skin state, usually called in handler for OnExit event.
----

'''variant GetStateValue(string Name)'''<br>
Example:
'''Description''': Retrieves previously set state value. Supported types: number, string, boolean, double<br>

'''Parameters''':<br>
Metamorphis.SaveSkinState();
:''Name'' - Name of the value to be retrieved.<br>

'''Return Values''': the value's data<br>
void SetStateValue(string Name, variant Value)
'''Example''':<br>

var SoveValue = Metamorphis.GetStateValue("SomeName");
Description: Sets state variable. This variable will be saved in state.xml and can be retrieved when skin is loaded or at any other time. Supported types: number, string, boolean, double
// check if value was previously set

if( SomeValue == null) // value was not set
Parameters:
{
Name - Name of the value to be set.
... do something
Value - Specifies the data to be stored.
}

----
Example:
'''long StartTimer(long Timeout, string FunctionName)'''<br>

'''Description''': This function creates a timer with the specified time-out value.<br>
Metamorphis.SetStateValue("SomeName", "SomeValue");
'''Parameters''':<br>
Metamorphis.SetStateValue("SomeName2", 1);
:''Timeout'' - specifies the time-out value, in milliseconds<br>

:''FunctionName'' - name the function to be notified when the time-out value elapses.<br>
variant GetStateValue(string Name)
'''Return Values''': Identifier of the new timer.<br>

'''Example''':<br>
Description: Retrieves previously set state value. Supported types: number, string, boolean, double
var TimerID = Metamorphis.StartTimer(1000, DoExtraCoolStuff );

----
Parameters:
'''void StopTimer(long TimerID)'''<br>
Name - Name of the value to be retrieved.
'''Description''': The function destroys the specified timer.<br>

'''Parameters''':<br>
Return Values: the value's data
:''TimerID''- Identifier of the timer.<br>

Example:
'''Example''':<br>
Metamorphis.StopTimer(TimerID );

----
var SoveValue = Metamorphis.GetStateValue("SomeName");
'''bool IsAlwaysOnTop ()'''<br>
// check if value was previously set
'''Description''': Retrieves Always on State state<br>
if( SomeValue == null) // value was not set
'''Return Values''': 0 - off, 1- on<br>
{
'''Example''':<br>
... do something
var State = Metamorphis.IsAlwaysOnTop();
}
'''void Minimize()'''<br>

'''Description''': Minimizes the skin.<br>
long StartTimer(long Timeout, string FunctionName)
'''void Maximize()'''<br>

Description: This function creates a timer with the specified time-out value.
'''Description''': Returns Media Jukebox to MEGA-ME state.<br>
'''void Close()'''<br>

'''Description''': Closes Media Jukebox.<br>
Parameters:
'''void Restore()'''<br>
Timeout - specifies the time-out value, in milliseconds
'''Description''': If a skin was minimized it will be restored.<br>
FunctionName - name the function to be notified when the time-out value elapses.
'''bool IsMinimized()'''<br>

'''Description''': Returns true if a skin is minimized.<br>
Return Values: Identifier of the new timer.
'''void EnableTooltips(bool bEnable)'''<br>

'''Description''': Turns tooltips on and off.<br>
Example:
'''Parameters''':<br>

:''bEnable'' - true(default) - to turn tooltips on, false - to turn tooltips off<br>
var TimerID = Metamorphis.StartTimer(1000, DoExtraCoolStuff );
'''long GetScreenWidth()'''<br>

'''Description''': retrieves screen width.<br>
void StopTimer(long TimerID)
'''long GetScreenHeight()'''<br>

Description: The function destroys the specified timer.
'''Description''': retrieves screen height.<br>
'''long GetScreenLeft()'''<br>

'''Description''': retrieves screen left.<br>
Parameters:
'''long GetScreenTop()'''<br>
TimerID- Identifier of the timer.
'''Descriptio'''n: retrieves screen top.<br>

==Window Commands==
Example:
===Functions===

'''void SetWindowPos( long x, long y)'''<br>
Metamorphis.StopTimer(TimerID );
'''Description''': Sets position of the window to x, y point.<br>

'''Parameters''':<br>
bool IsAlwaysOnTop ()
:''x'' , ''y'' - coordinates are Desktop coordinates.<br>

'''Example''':<br>
Description: Retrieves Always on State state
Playlist.SetWindowPos(101, 107);

'''void ShowWindow(bool ShowCommand)'''<br>
Return Values: 0 - off, 1- on
'''Description''': Changes visual state of the window.<br>

'''Parameters''':<br>
Example:
:''ShowCommand'' - true - Show, false - Hide<br>

'''Example''':<br>
var State = Metamorphis.IsAlwaysOnTop();
Playlist.ShowWindow(true);

'''void MoveWindowAnimated(long OffsetX, long OffsetY, long Speed)'''<br>
void Minimize()
'''Description''': Moves the window from current point to x+OffsetX and y+OffsetY<br>

'''Parameters''':<br>
Description: Minimizes the skin.
:''Speed'' - value from 1 to 100, determines how fast the movement will be performed.<br>

'''Example''':<br>
void Maximize()
Equalizer.ShowWindowAnimated(101, 0, -100, 107, 4);

'''void SetWindowBehind(Object Window)'''<br>
Description: Returns Media Jukebox to MEGA-ME state.
'''Description''': Changes ZOrder of the window, by inserting the window behind specified window.<br>

'''Parameters''':<br>
void Close()
:''Window'' - one of Window objects of the skin, for example 'Player'<br>

'''Example''':<br>
Description: Closes Media Jukebox.
Equalizer.SetWindowBehind(Player);

'''void GetSkinItem(long MainType, string Name)'''<br>
void Restore()
'''Description''':<br>

'''Parameters''':<br>
Description: If a skin was minimized it will be restored.
:''MainType'' - 0 - Button, 1 - Placeholder, 2 - Slider, 3 - InfoDisplay<br>

'''Example''':<br>
bool IsMinimized()
Player.GetSkinItem(0, "ShowEqualizer").SetItemState("Show");

'''bool IsWindowVisible()'''<br>
Description: Returns true if a skin is minimized.
'''Description''': The function retrieves the visibility state of the specified window.<br>

===Properties===
void EnableTooltips(bool bEnable)
'''long Left'''<br>

Description: Turns tooltips on and off.
'''Description''':<br>
'''Example''':<br>

var x = Player.PositionX;
Parameters:
'''long Top'''<br>
bEnable - true(default) - to turn tooltips on, false - to turn tooltips off
'''Description''':<br>

'''Example''':<br>
long GetScreenWidth()
var y = Player.PositionY;

'''long Width'''
Description: retrieves screen width.
'''Example''':<br>

var Width = Player.Width;
long GetScreenHeight()
'''long Height'''<br>

'''Example''':<br>
Description: retrieves screen height.
var Height = Player.Height;

==SkinItem Commands==
long GetScreenLeft()
To get skin item use GetSkinItem function

===Functions===
Description: retrieves screen left.
'''void SetPosition(long x, long y)'''<br>

'''Description''': Sets new position of the skin item.<br>
long GetScreenTop()
'''Parameters''':<br>

:''x'', ''y'' - new coordinates, coordinates of the item..<br>
Description: retrieves screen top.
'''Example''':<br>

Player.GetSkinItem(0, "HidePlaylist").SetPosition(10, 100);
Window Commands:
'''void SetBitmap(string Bitmap, string TransparentColor)'''<br>

'''Description''': Sets image for the item. That property can be used with Buttons and Placeholders. Relative paths can be used. If used with Placeholder, this function will change painting region of the item.<br>
Functions:
'''Parameters''':<br>

:''Bitmap'' - new bitmap file for the item.<br>
void SetWindowPos( long x, long y)
:''TransparentColor''- transparent color of new image.<br>

'''Example''':<br>
Description: Sets position of the window to x, y point.
Player.GetSkinItem(0, "Play").SetBitmap( "coolpic.gif", "ffffff");

'''void SetPicture(string Picture)'''<br>
Parameters:
'''Description''': Sets picture for the Pictureholder(Picture) item. Relative paths can be used.<br>
x , y - coordinates are Desktop coordinates.
'''Parameters''':<br>

:''Picture''- new picture file for the item. Animated gif files can be used in this case.<br>
Example:
'''Example''':<br>

Player.GetSkinItem(1, "Picture1").SetBitmap( "Animation.gif");
Playlist.SetWindowPos(101, 107);
'''bool IsVisible()'''<br>

'''Description''': The function retrieves the visibility state of the specified skin item.<br>
void ShowWindow(bool ShowCommand)
'''bool IsDisabled()'''<br>

'''Description''': The function determines whether the specified skin item is disabled for mouse and keyboard input.<br>
Description: Changes visual state of the window.
===Properties===

'''long State'''<br>
Parameters:
'''Description''': Changes state of skin item.<br>
ShowCommand - true - Show, false - Hide
'''Parameters''': 1 - Normal, 2 - Pressed, 3 - Disabled, 4 - Hidden. NOTE: Pressed state can only be set for button items.<br>

Example:
'''Example''':<br>
Player.GetSkinItem(0, "ShowEqualizer").State = 2;

'''long Left'''<br>
Playlist.ShowWindow(true);
'''Description''': Gets and sets left position of item<br>

'''Example''':<br>
void MoveWindowAnimated(long OffsetX, long OffsetY, long Speed)
Player.GetSkinItem(0, "ShowEqualizer").Left = 10;

'''long Top'''<br>
Description: Moves the window from current point to x+OffsetX and y+OffsetY
'''Description''': Gets and sets top position of item<br>

'''Example''':<br>
Parameters:
Player.GetSkinItem(0, "ShowEqualizer").Top = 10;
Speed - value from 1 to 100, determines how fast the movement will be performed.
'''long Width'''<br>

'''Description''': Gets and sets width of item<br>
Example:
'''Example''':<br>

Player.GetSkinItem(0, "ShowEqualizer").Width = 100;
Equalizer.ShowWindowAnimated(101, 0, -100, 107, 4);
'''long Height'''<br>

'''Description''': Gets and sets Height of item<br>
void SetWindowBehind(Object Window)
'''Example''':<br>

Player.GetSkinItem(0, "ShowEqualizer").Height = 100;
Description: Changes ZOrder of the window, by inserting the window behind specified window.
'''string Tooltip'''<br>

'''Description''': Gets and sets tooltip of item<br>
Parameters:
'''Example''':<br>
Window - one of Window objects of the skin, for example 'Player'
Player.GetSkinItem(0, "ShowEqualizer").Tooltip = "Cool";

'''string Text'''<br>
Example:
'''Description''': Gets and sets text of an item. NOTE: This property can be used only with InfoDisplay items. Also, trackinfo keywords can be passed to this property.<br>

'''Example''':<br>
Equalizer.SetWindowBehind(Player);
Player.GetSkinItem(3, "ShowEqualizer").Tooltip = "Cool";

'''long SliderPosition'''<br>
void GetSkinItem(long MainType, string Name)
'''Description''': Gets and sets slider position. Range for the property is 0 to 100. NOTE: This property can be used only with Slider items<br>

'''Example''':<br>
Description:
Player.GetSkinItem(3, "Volume").SliderPosition = 10;

Parameters:
MainType - 0 - Button, 1 - Placeholder, 2 - Slider, 3 - InfoDisplay

Example:

Player.GetSkinItem(0, "ShowEqualizer").SetItemState("Show");

bool IsWindowVisible()

Description: The function retrieves the visibility state of the specified window.

Example:

Properties:

long Left

Description:

Example:

var x = Player.PositionX;

long Top

Description:

Example:

var y = Player.PositionY;

long Width

Description:

Example:

var Width = Player.Width;

long Height

Description:

Example:

var Height = Player.Height;

SkinItem Commands:

To get skin item use GetSkinItem function

Functions:

void SetPosition(long x, long y)

Description: Sets new position of the skin item.

Parameters:
x, y - new coordinates, coordinates of the item..

Example:

Player.GetSkinItem(0, "HidePlaylist").SetPosition(10, 100);

void SetBitmap(string Bitmap, string TransparentColor)

Description: Sets image for the item. That property can be used with Buttons and Placeholders. Relative paths can be used. If used with Placeholder, this function will change painting region of the item.

Parameters:
Bitmap - new bitmap file for the item.
TransparentColor- transparent color of new image.

Example:

Player.GetSkinItem(0, "Play").SetBitmap( "coolpic.gif", "ffffff");

void SetPicture(string Picture)

Description: Sets picture for the Pictureholder(Picture) item. Relative paths can be used.

Parameters:
Picture- new picture file for the item. Animated gif files can be used in this case.

Example:

Player.GetSkinItem(1, "Picture1").SetBitmap( "Animation.gif");

bool IsVisible()

Description: The function retrieves the visibility state of the specified skin item.

Example:

bool IsDisabled()

Description: The function determines whether the specified skin item is disabled for mouse and keyboard input.

Example:

Properties:

long State

Description: Changes state of skin item.

Parameters: 1 - Normal, 2 - Pressed, 3 - Disabled, 4 - Hidden. NOTE: Pressed state can only be set for button items.

Example:

Player.GetSkinItem(0, "ShowEqualizer").State = 2;

long Left

Description: Gets and sets left position of item

Example:

Player.GetSkinItem(0, "ShowEqualizer").Left = 10;

long Top

Description: Gets and sets top position of item

Example:

Player.GetSkinItem(0, "ShowEqualizer").Top = 10;

long Width

Description: Gets and sets width of item

Example:

Player.GetSkinItem(0, "ShowEqualizer").Width = 100;

long Height

Description: Gets and sets Height of item

Example:

Player.GetSkinItem(0, "ShowEqualizer").Height = 100;

string Tooltip

Description: Gets and sets tooltip of item

Example:

Player.GetSkinItem(0, "ShowEqualizer").Tooltip = "Cool";

string Text

Description: Gets and sets text of an item. NOTE: This property can be used only with InfoDisplay items. Also, trackinfo keywords can be passed to this property.

Example:

Player.GetSkinItem(3, "ShowEqualizer").Tooltip = "Cool";

long SliderPosition

Description: Gets and sets slider position. Range for the property is 0 to 100. NOTE: This property can be used only with Slider items

Example:

Player.GetSkinItem(3, "Volume").SliderPosition = 10;

Support

If you have questions or concerns not addressed by this SDK, or just have suggestions for making the SDK more understandable, please visit our developer's forum

Latest revision as of 16:06, 14 January 2008

Metamorphis Scripts requires MJ 8.0.253 and above, or any version of Media Center.

Metamorphis uses JScript to do scripting. There are multiple objects which JScript can access: Metamorphis, Window ( exact name depends on window name, for example if you have window called Player in you Main.xml file that name of the object will be Player), MJAutomation (you can access many object through MJAutomation object see Interface Plug-ins SDK)

Metamorphis Object Commands

Functions

void SetBitmap(string Bitmap, string TransparentColor)
Description: Sets image for the window. Relative paths can be used. SetBitmap function can be used to change image and region for a window.
Parameters:

Bitmap - new bitmap file for the window.
TransparentColor- transparent color of new image.

Example:

Player.SetBitmap( "coolpic.gif", "ff00ff");

bool LoadSkinState()
Description: Loads previously saved state of the skin, usually called in handler for OnInitialize event.
Return Values: true if skin state was previously saved using SaveSkinState function, otherwise false.
Example:

if(Metamorphis.LoadSkinState() == false)
{
  EQ.ShowWindow(true);
}

void SaveSkinState()
Description: Saves skin state, usually called in handler for OnExit event.
Example:

Metamorphis.SaveSkinState();

void SetStateValue(string Name, variant Value)
Description: Sets state variable. This variable will be saved in state.xml and can be retrieved when skin is loaded or at any other time. Supported types: number, string, boolean, double
Parameters:

Name - Name of the value to be set.
Value - Specifies the data to be stored.

Example:

Metamorphis.SetStateValue("SomeName", "SomeValue");
Metamorphis.SetStateValue("SomeName2", 1);

variant GetStateValue(string Name)
Description: Retrieves previously set state value. Supported types: number, string, boolean, double
Parameters:

Name - Name of the value to be retrieved.

Return Values: the value's data
Example:

var SoveValue = Metamorphis.GetStateValue("SomeName");
// check if value was previously set
if( SomeValue == null) // value was not set
{
    ... do something
}

long StartTimer(long Timeout, string FunctionName)
Description: This function creates a timer with the specified time-out value.
Parameters:

Timeout - specifies the time-out value, in milliseconds
FunctionName - name the function to be notified when the time-out value elapses.

Return Values: Identifier of the new timer.
Example:

var TimerID = Metamorphis.StartTimer(1000, DoExtraCoolStuff );

void StopTimer(long TimerID)
Description: The function destroys the specified timer.
Parameters:

TimerID- Identifier of the timer.

Example:

Metamorphis.StopTimer(TimerID );

bool IsAlwaysOnTop ()
Description: Retrieves Always on State state
Return Values: 0 - off, 1- on
Example:

var State = Metamorphis.IsAlwaysOnTop();

void Minimize()
Description: Minimizes the skin.
void Maximize()
Description: Returns Media Jukebox to MEGA-ME state.
void Close()
Description: Closes Media Jukebox.
void Restore()
Description: If a skin was minimized it will be restored.
bool IsMinimized()
Description: Returns true if a skin is minimized.
void EnableTooltips(bool bEnable)
Description: Turns tooltips on and off.
Parameters:

bEnable - true(default) - to turn tooltips on, false - to turn tooltips off

long GetScreenWidth()
Description: retrieves screen width.
long GetScreenHeight()
Description: retrieves screen height.
long GetScreenLeft()
Description: retrieves screen left.
long GetScreenTop()
Description: retrieves screen top.

Window Commands

Functions

void SetWindowPos( long x, long y)
Description: Sets position of the window to x, y point.
Parameters:

x , y - coordinates are Desktop coordinates.

Example:

Playlist.SetWindowPos(101, 107);

void ShowWindow(bool ShowCommand)
Description: Changes visual state of the window.
Parameters:

ShowCommand - true - Show, false - Hide

Example:

 Playlist.ShowWindow(true);

void MoveWindowAnimated(long OffsetX, long OffsetY, long Speed)
Description: Moves the window from current point to x+OffsetX and y+OffsetY
Parameters:

Speed - value from 1 to 100, determines how fast the movement will be performed.

Example:

Equalizer.ShowWindowAnimated(101, 0, -100, 107, 4);

void SetWindowBehind(Object Window)
Description: Changes ZOrder of the window, by inserting the window behind specified window.
Parameters:

Window - one of Window objects of the skin, for example 'Player'

Example:

Equalizer.SetWindowBehind(Player);

void GetSkinItem(long MainType, string Name)
Description:
Parameters:

MainType - 0 - Button, 1 - Placeholder, 2 - Slider, 3 - InfoDisplay

Example:

Player.GetSkinItem(0, "ShowEqualizer").SetItemState("Show");

bool IsWindowVisible()
Description: The function retrieves the visibility state of the specified window.

Properties

long Left
Description:
Example:

var x = Player.PositionX;

long Top
Description:
Example:

var y = Player.PositionY;

long Width Example:

var Width = Player.Width;

long Height
Example:

var Height = Player.Height;

SkinItem Commands

To get skin item use GetSkinItem function

Functions

void SetPosition(long x, long y)
Description: Sets new position of the skin item.
Parameters:

x, y - new coordinates, coordinates of the item..

Example:

Player.GetSkinItem(0, "HidePlaylist").SetPosition(10, 100);

void SetBitmap(string Bitmap, string TransparentColor)
Description: Sets image for the item. That property can be used with Buttons and Placeholders. Relative paths can be used. If used with Placeholder, this function will change painting region of the item.
Parameters:

Bitmap - new bitmap file for the item.
TransparentColor- transparent color of new image.

Example:

Player.GetSkinItem(0, "Play").SetBitmap( "coolpic.gif", "ffffff");

void SetPicture(string Picture)
Description: Sets picture for the Pictureholder(Picture) item. Relative paths can be used.
Parameters:

Picture- new picture file for the item. Animated gif files can be used in this case.

Example:

Player.GetSkinItem(1, "Picture1").SetBitmap( "Animation.gif");

bool IsVisible()
Description: The function retrieves the visibility state of the specified skin item.
bool IsDisabled()
Description: The function determines whether the specified skin item is disabled for mouse and keyboard input.

Properties

long State
Description: Changes state of skin item.
Parameters: 1 - Normal, 2 - Pressed, 3 - Disabled, 4 - Hidden. NOTE: Pressed state can only be set for button items.
Example:

Player.GetSkinItem(0, "ShowEqualizer").State = 2;

long Left
Description: Gets and sets left position of item
Example:

Player.GetSkinItem(0, "ShowEqualizer").Left = 10;

long Top
Description: Gets and sets top position of item
Example:

Player.GetSkinItem(0, "ShowEqualizer").Top = 10;

long Width
Description: Gets and sets width of item
Example:

Player.GetSkinItem(0, "ShowEqualizer").Width = 100;

long Height
Description: Gets and sets Height of item
Example:

Player.GetSkinItem(0, "ShowEqualizer").Height = 100;

string Tooltip
Description: Gets and sets tooltip of item
Example:

Player.GetSkinItem(0, "ShowEqualizer").Tooltip = "Cool";

string Text
Description: Gets and sets text of an item. NOTE: This property can be used only with InfoDisplay items. Also, trackinfo keywords can be passed to this property.
Example:

Player.GetSkinItem(3, "ShowEqualizer").Tooltip = "Cool";

long SliderPosition
Description: Gets and sets slider position. Range for the property is 0 to 100. NOTE: This property can be used only with Slider items
Example:

Player.GetSkinItem(3, "Volume").SliderPosition = 10;