Tips and Tricks for developing a plugin in Visual Studio 2005 .NET: Difference between revisions

From wiki.jriver.com
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
==Create a new plugin==
== Create a new plugin ==
Use the description of Mr ChriZ to create a new Plugin.
Use the description of Mr ChriZ to create a new Plugin.
http://yabb.jriver.com/interact/index.php?topic=32294.0
http://yabb.jriver.com/interact/index.php?topic=32294.0


==Autoresizing of plugin==
== Autoresizing of plugin ==
Draw a Panel upon the UserControl and do the following:<br>
Draw a Panel upon the UserControl and do the following:<br>
* Set 'Dock' Property to 'Fill'.<br>
* Set 'Dock' Property to 'Fill'.<br>
Line 10: Line 10:
Your Panel will now automatically be resized to fit into the MC Plugin Area. Anything you put upon the Panel can scale to the size of the Panel using the 'Anchor' or 'Dock' Properties. Don't use the 'Autosize' Property!
Your Panel will now automatically be resized to fit into the MC Plugin Area. Anything you put upon the Panel can scale to the size of the Panel using the 'Anchor' or 'Dock' Properties. Don't use the 'Autosize' Property!


==Handling an event==
== Handling an event ==
This is a C# sample on how to handle events fired by MC.
This is a C# sample on how to handle events fired by MC.



Revision as of 12:28, 8 April 2007

Create a new plugin

Use the description of Mr ChriZ to create a new Plugin. http://yabb.jriver.com/interact/index.php?topic=32294.0

Autoresizing of plugin

Draw a Panel upon the UserControl and do the following:

  • Set 'Dock' Property to 'Fill'.
  • Set 'Autosize' Property to 'False'

Your Panel will now automatically be resized to fit into the MC Plugin Area. Anything you put upon the Panel can scale to the size of the Panel using the 'Anchor' or 'Dock' Properties. Don't use the 'Autosize' Property!

Handling an event

This is a C# sample on how to handle events fired by MC.

private void MJEvent(String s1 , String s2, String s3 )
{
    switch (s1)
    {
        case "MJEvent type: MCCommand":
            switch (s2)
            {
                case "MCC: NOTIFY_TRACK_CHANGE":
                    // Your code here
                    break;
 
                case "MCC: NOTIFY_PLAYLIST_ADDED":
                    // Your code here
                    break;
 
                case "MCC: NOTIFY_PLAYLIST_INFO_CHANGED":
                    // Your code here
                    break;
 
                case "MCC: NOTIFY_PLAYLIST_FILES_CHANGED":
                    // Your code here
                    break;
 
                case "MCC: NOTIFY_PLAYLIST_REMOVED":
                    // Your code here
                    break;
 
                case "MCC: NOTIFY_PLAYLIST_COLLECTION_CHANGED":
                    // Your code here
                    break;
 
                case "MCC: NOTIFY_PLAYLIST_PROPERTIES_CHANGED":
                    // Your code here
                    break;

                default:
                    // Unknown (new?) event
                    break;
            }
 
            break;
 
        default:
            // Unknown (new?) type
            break;
    }
}