MJAutomation: Difference between revisions
No edit summary |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 65: | Line 65: | ||
'''Parameters:''' |
'''Parameters:''' |
||
* '''nWindowHandle''': handle to the specific window (convert HWND to long) |
* '''nWindowHandle''': handle to the specific window (convert HWND to long) |
||
* '''bSkin''': TRUE - enables skinning of the specified window, FALSE - disables skinning for the window. |
* '''bSkin''': TRUE - enables skinning of the specified window, FALSE - disables skinning for the window. |
||
Skinning is permanently disabled for many windows created outside of C++ (such as Visual Basic, C# or .NET). |
|||
If this function appears to have no effect, that is probably the cause. |
|||
===MJInternetAutomation * GetInternet()=== |
===MJInternetAutomation * GetInternet()=== |
||
Line 114: | Line 117: | ||
'''Description:''' Retrieves registration information<br> |
'''Description:''' Retrieves registration information<br> |
||
'''Return Value:''' if Media Center is purchased return value will be -1. The value will be equal to 0 if trial period expired but the program was not purchased. If the value > 0 the function returned number of days left in the trial period. |
'''Return Value:''' if Media Center is purchased return value will be -1. The value will be equal to 0 if trial period expired but the program was not purchased. If the value > 0 the function returned number of days left in the trial period. |
||
===string ProcessWebService(string, string)=== |
|||
'''Description:''' |
|||
'''Return Value:''' |
|||
===number ProperlyMarshaled()=== |
|||
'''Description:''' |
|||
'''Return Value:''' |
|||
===MJViewItemAutomation * GetViewItem(string strPath)=== |
===MJViewItemAutomation * GetViewItem(string strPath)=== |
||
Line 185: | Line 196: | ||
'''Description:''' Gets a CD/DVD Automation interface<br> |
'''Description:''' Gets a CD/DVD Automation interface<br> |
||
'''Return Value:''' [[MJCDDVDAutomation]] Interface |
'''Return Value:''' [[MJCDDVDAutomation]] Interface |
||
===void GetLibrary(string *Name, string *Path)=== |
|||
'''Description:''' Returns the name and directory of the currently loaded library.<br> |
|||
'''Parameters:''' |
|||
* '''Name''': The name of the library (returned). |
|||
* '''Path''': The directory of the library (returned). |
|||
===long CreateInterface(string Name, string Parameter)=== |
|||
'''Description:''' Returns an interface object, specified by Name with argument Parameter.<br> |
|||
'''Parameters:''' |
|||
* '''Name''': The name of the interface. |
|||
* '''Parameter''': A parameter. |
|||
Returns an interface object. Name must be '''IVisData''' or '''IVisRedrawHelper'''. Parameter is used for IVisData and is the zone number of the plug-in. See the [[Display Plug-in SDK]] for more details. Media Center 12.0.405 required. |
|||
==Properties== |
==Properties== |
||
===number IVersion() (read only)=== |
===number IVersion() (read only)=== |
||
'''Description:''' retrieves version of MC Automation interface. (2 is current version)<br> |
'''Description:''' retrieves version of MC Automation interface. (2 is current version)<br> |
||
[[Category:COM Automation]] |
Latest revision as of 05:37, 4 May 2015
core object... provides access to all other objects
Functions
MJPlaybackAutomation * GetPlayback()
Description: gets a MJPlaybackAutomation interface
Return Value: MJPlaybackAutomation interface
MJFilesAutomation * Search(string strSearch)
Description: gets a MJFilesAutomation interface for the files matching the specified search
Parameters:
- strSearch: the search string to use... can be any search accepted by Media Center
Return Value: MJFilesAutomation interface
MJCurPlaylistAutomation * GetCurPlaylist()
Description: gets a MJCurPlaylistAutomation interface
Return Value: MJCurPlaylistAutomation interface
MJPlaylistsAutomation * GetPlaylists()
Description: gets a MJPlaylistsAutomation interface for all of the existing playlists
Return Value: MJPlaylistsAutomation interface
MJSchemeAutomation * GetViewScheme(string strPath)
Description: gets a MJSchemeAutomation interface for the given library path
Parameters:
- strPath: the path to the view scheme delimited by backslashes. (i.e. "Media Library\Artist/Album\Metallica")
Return Value: MJSchemeAutomation interface
MJMixerAutomation * GetMJMixer()
Description: gets a MJMixerAutomation interface
Return Value: MJMixerAutomation interface
C# Example:
// Use this in the Init of MC private void setEQOnOff () { this.checkBoxEQOnOff.Checked = mcRef.GetMJMixer ().EQOn; } // The 'checkBoxEQOnOff_CheckedChanged' is automatically generated by Visual Studio 2005 upon doubleclick private void checkBoxEQOnOff_CheckedChanged ( object sender, EventArgs e ) { mcRef.GetMJMixer ().EQOn = checkBoxEQOnOff.Checked; }
MJVersionAutomation * GetVersion()
Description: gets a MJVersionAutomation interface.
Return Value: MJVersionAutomation interface
MJFileAutomation * GetFile(string strFilename)
Description: gets a MJFileAutomation interface for the given file.
Parameters:
- strFilename: the path to the file.
Return Value: MJFileAutomation interface
MJFileAutomation * GetFileByKey(number nKey)
Description: gets a MJFileAutomation interface for the file denoted by the key.
Parameters:
- nKey: the key of a file.
Return Value: MJFileAutomation interface
void EnableSkinning(number bEnable)
Description: Enables and disabled Media Center skinning. Useful in case when MC could not skin plug-in window correctly.
Parameters:
- bEnable: TRUE - enable skinning, FALSE - disable.
void SkinWindow(number nWindowHandle, boolean bSkin)
Description: Skins or removes skinning from the specified window.
Parameters:
- nWindowHandle: handle to the specific window (convert HWND to long)
- bSkin: TRUE - enables skinning of the specified window, FALSE - disables skinning for the window.
Skinning is permanently disabled for many windows created outside of C++ (such as Visual Basic, C# or .NET). If this function appears to have no effect, that is probably the cause.
MJInternetAutomation * GetInternet()
Description: gets a MJInternetAutomation interface.
Return Value: MJInternetAutomation interface
number GetSkinInfo(string strItem, string strAttribute)
Description: Retrieves information about current skin. The Item and Attributes are described in MEGAMorphis.
Parameters:
- strItem: item name
- strAttribute: attribute name.
Return Value: value of the specified skin item. -1 if the info was not found.
Examples:
GetSkinInfo("Tree", "TextColor"); GetSkinInfo("StatusBar", "BackColor");
C# Example: translating a MC Color into a Color Object:
private Color getColor(String strItem, String strAttribute) { int intColor; int intR; int intG; int intB; intColor = mcRef.GetSkinInfo ( strItem, strAttribute ); if (intColor != -1) { intR = intColor & 255; intG = (intColor >> 8) & 255; intB = (intColor >> 16) & 255; return Color.FromArgb ( intR, intG, intB ); } else { // Return a default Color if not found! return Color.LightGray; } } ... Panel.BackColor = getColor ( "Tree", "BackColor" );
number IsPurchased()
Description: Retrieves registration information
Return Value: if Media Center is purchased return value will be -1. The value will be equal to 0 if trial period expired but the program was not purchased. If the value > 0 the function returned number of days left in the trial period.
string ProcessWebService(string, string)
Description: Return Value:
number ProperlyMarshaled()
Description: Return Value:
MJViewItemAutomation * GetViewItem(string strPath)
Description: gets a MJViewItemAutomation interface for the given file.
Parameters:
- strPath: the path to a view item.
Return Value: MJViewItemAutomation interface
number GetWindowHandle()
Description: Retrieves handle to Media Center's main window
Return Value: HWND to main application window.
void ShowProgram(number bShow)
Description: Changes visibility state of the program.
Parameters:
- bShow: 1 - show the app, 0 - hide.
MJFileAutomation * ImportFile(string strFilename)
Description: imports a new file into Media Center
Parameters:
- strFilename: the path to the file.
Return Value: MJFileAutomation interface
void SetGlobalFocusedWindow(number hwndNew, number bInvalidateNew)
Description: Sets the focus to the new window.
Parameters:
- hwndNew: the handle of the window
- bInvalidateNew: Invalidate the new window so it knows the focus changed
MJFieldsAutomation * GetFields()
Description: gets a MJFieldsAutomation interface
Return Value: MJFieldsAutomation interface
MJZonesAutomation * GetZones()
Description: gets a MJZonesAutomation interface
Return Value: MJZonesAutomation interface
MJFilesAutomation * CreateFiles()
Description: gets a MJFilesAutomation interface with no files
Return Value: MJFilesAutomation interface
MJTaskAutomation * GetTask(string strTask)
Description: gets a MJTaskAutomation interface.
Parameters:
- strTask: the name of the task.
Return Value: MJTaskAutomation interface
MJServicesAutomation * GetServices()
Description: gets a MJServicesAutomation interface.
Return Value: MJServicesAutomation interface
void ReportEvent(string Name, string Data)
Description: Reports an event.
Parameters:
- Name: the name of the event
- Data: extra data.
IMJPlaylistAutomation *GetPlaylistByID(number nID)
Description: Gets a playlist
Parameters:
- nID: the ID of the playlist
Return Value: MJPlaylistAutomation interface (see below)
void RegisterWindowWithRouter(number hwndRegister, number nRegisterState)
Description: Register or unregister a window with the router
Parameters:
- hwndRegister: Handle of the window to register
- nRegisterState: TRUE for register, FALSE for unregister
IMJCDDVDAutomation *GetCDDVD()
Description: Gets a CD/DVD Automation interface
Return Value: MJCDDVDAutomation Interface
void GetLibrary(string *Name, string *Path)
Description: Returns the name and directory of the currently loaded library.
Parameters:
- Name: The name of the library (returned).
- Path: The directory of the library (returned).
long CreateInterface(string Name, string Parameter)
Description: Returns an interface object, specified by Name with argument Parameter.
Parameters:
- Name: The name of the interface.
- Parameter: A parameter.
Returns an interface object. Name must be IVisData or IVisRedrawHelper. Parameter is used for IVisData and is the zone number of the plug-in. See the Display Plug-in SDK for more details. Media Center 12.0.405 required.
Properties
number IVersion() (read only)
Description: retrieves version of MC Automation interface. (2 is current version)