Difference between revisions of "MJAutomation"
PaulSinnema (talk | contribs) (→number GetSkinInfo(string strItem, string strAttribute)) |
|||
(21 intermediate revisions by 3 users not shown) | |||
Line 27: | Line 27: | ||
===MJMixerAutomation * GetMJMixer()=== | ===MJMixerAutomation * GetMJMixer()=== | ||
'''Description:''' gets a [[MJMixerAutomation]] interface<br> | '''Description:''' gets a [[MJMixerAutomation]] interface<br> | ||
− | '''Return Value:''' [[MJMixerAutomation]] interface | + | '''Return Value:''' [[MJMixerAutomation]] interface<br> |
+ | ''' 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()=== | ===MJVersionAutomation * GetVersion()=== | ||
Line 54: | 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 61: | Line 75: | ||
===number GetSkinInfo(string strItem, string strAttribute)=== | ===number GetSkinInfo(string strItem, string strAttribute)=== | ||
− | '''Description:''' Retrieves information about current skin.<br> | + | '''Description:''' Retrieves information about current skin. The Item and Attributes are described in [[MEGAMorphis]].<br> |
'''Parameters:''' | '''Parameters:''' | ||
* '''strItem''': item name | * '''strItem''': item name | ||
Line 70: | Line 84: | ||
GetSkinInfo("StatusBar", "BackColor"); | GetSkinInfo("StatusBar", "BackColor"); | ||
− | Example translating a MC Color into a | + | '''C# Example: translating a MC Color into a Color Object: |
− | private Color getColor(String | + | private Color getColor(String strItem, String strAttribute) |
{ | { | ||
int intColor; | int intColor; | ||
Line 77: | Line 91: | ||
int intG; | int intG; | ||
int intB; | int intB; | ||
− | + | ||
− | intColor = mcRef.GetSkinInfo ( | + | intColor = mcRef.GetSkinInfo ( strItem, strAttribute ); |
− | + | ||
− | intR = intColor & 255; | + | 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()=== | ===number IsPurchased()=== | ||
'''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 161: | 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 00:37, 4 May 2015
core object... provides access to all other objects
Contents
- 1 Functions
- 1.1 MJPlaybackAutomation * GetPlayback()
- 1.2 MJFilesAutomation * Search(string strSearch)
- 1.3 MJCurPlaylistAutomation * GetCurPlaylist()
- 1.4 MJPlaylistsAutomation * GetPlaylists()
- 1.5 MJSchemeAutomation * GetViewScheme(string strPath)
- 1.6 MJMixerAutomation * GetMJMixer()
- 1.7 MJVersionAutomation * GetVersion()
- 1.8 MJFileAutomation * GetFile(string strFilename)
- 1.9 MJFileAutomation * GetFileByKey(number nKey)
- 1.10 void EnableSkinning(number bEnable)
- 1.11 void SkinWindow(number nWindowHandle, boolean bSkin)
- 1.12 MJInternetAutomation * GetInternet()
- 1.13 number GetSkinInfo(string strItem, string strAttribute)
- 1.14 number IsPurchased()
- 1.15 string ProcessWebService(string, string)
- 1.16 number ProperlyMarshaled()
- 1.17 MJViewItemAutomation * GetViewItem(string strPath)
- 1.18 number GetWindowHandle()
- 1.19 void ShowProgram(number bShow)
- 1.20 MJFileAutomation * ImportFile(string strFilename)
- 1.21 void SetGlobalFocusedWindow(number hwndNew, number bInvalidateNew)
- 1.22 MJFieldsAutomation * GetFields()
- 1.23 MJZonesAutomation * GetZones()
- 1.24 MJFilesAutomation * CreateFiles()
- 1.25 MJTaskAutomation * GetTask(string strTask)
- 1.26 MJServicesAutomation * GetServices()
- 1.27 void ReportEvent(string Name, string Data)
- 1.28 IMJPlaylistAutomation *GetPlaylistByID(number nID)
- 1.29 void RegisterWindowWithRouter(number hwndRegister, number nRegisterState)
- 1.30 IMJCDDVDAutomation *GetCDDVD()
- 1.31 void GetLibrary(string *Name, string *Path)
- 1.32 long CreateInterface(string Name, string Parameter)
- 2 Properties
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)