Metamorphis Scripts & Objects
(last updated January 9, 2003)
Version requirements: MJ 8.0.253 and above


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.

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