Media Center Core Commands

From wiki.jriver.com
Revision as of 22:40, 9 May 2007 by Gappie (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  1. pragma once


Media Core Commands (for Media Center 9.x and later) Copyright (c) 2003-2006 J. River, Inc. -- All Rights Reserved.

Each command has a "what command" (i.e. MCC_PLAY_PAUSE) and also an optional parameter, which is explained by the comment following the command. If you don't use the parameter, set it to '0'.

Both parts are numbers. To determine what number a command is, count up from the command above it with a number.

Example (1): MCC_PLAY_PAUSE = 10000; MCC_PLAY = 10001; MCC_STOP = 10002; etc... Example (2): MCC_OPEN_FILE = 20000; MCC_OPEN_URL = 20001; etc...

Note: Some commands may only work with the latest version of Media Center.


enum MC_COMMANDS {

   MCC_FIRST = 10000,
   ///////////////////////////////////////////////////////////////////////////////
   // Playback (range 10,000 to 20,000)
   // 
   // To issue playback commands to a specific zone, mask these values with the parameter:
   // Current Zone: 0
   // Zone 0: 16777216 (or 0x1000000 hex)
   // Zone 1: 33554432 (or 0x2000000 hex)
   // Zone 2: 50331648 (or 0x3000000 hex)
   // Zone 3: 67108864 (or 0x4000000 hex)
   // Zone 4: 83886080 (or 0x5000000 hex)
   // Zone 5: 100663296 (or 0x6000000 hex)
   // etc... (keep adding 16777216 (or 2^24)) (up to Zone 31)
   //
   // for the geeks, this is the top 6 bits of the 32-bit parameter
   // the lower 24 bits are used for the rest of the parameter (see the C++ macros below if you like)
   // if bit 32 is set, we assume someone passed in a simple negative number, so discard the zone portion
   // 
   // for parameters >= 0: zone number + parameter
   // for parameters < 0: zone number + (16777216 + parameter)
   // example: parameter -1 to zone 3: 67108864 + (16777216 + -1) = 83886079
   ///////////////////////////////////////////////////////////////////////////////
   MCC_PLAYBACK_SECTION = 10000,
   MCC_PLAY_PAUSE = 10000,                        // [ignore]
   MCC_PLAY,                                      // [ignore]
   MCC_STOP,                                      // [BOOL bDisplayWarning]
   MCC_NEXT,                                      // [BOOL bNotActualNext]
   MCC_PREVIOUS,                                  // [ignore]
   MCC_SHUFFLE,                                   // [0: toggle shuffle; 1: shuffle, jump to PN; 2: shuffle, no jump]
   MCC_CONTINUOUS,                                // [ignore]
   MCC_UPDATE_VIS,                                // [ignore]
   MCC_FAST_FORWARD,                              // [ignore]
   MCC_REWIND,                                    // [ignore]
   MCC_STOP_CONDITIONAL,                          // [ignore]
   MCC_SET_ZONE,                                  // [int nZoneIndex (-1 toggles forward, -2 toggles backwards)]
   MCC_TOGGLE_FULLSCREEN,                         // [BOOL bForceReturnFromFullScreen]
   MCC_SHOW_WINDOW,                               // [BOOL bJumpToPlayingNow]
   MCC_MINIMIZE_WINDOW,                           // [ignore]
   MCC_PLAY_CPLDB_INDEX,                          // [int nIndex]
   MCC_SHOW_DSP_STUDIO,                           // [ignore]
   MCC_VOLUME_MUTE,                               // [0: toggle; 1: mute; 2: unmute]
   MCC_VOLUME_UP,                                 // [int nDeltaPercent]
   MCC_VOLUME_DOWN,                               // [int nDeltaPercent]
   MCC_VOLUME_SET,                                // [int nPercent]
   MCC_SHOW_PLAYBACK_OPTIONS,                     // [ignore]
   MCC_SET_PAUSE,                                 // [BOOL bPause (-1 toggles)]
   MCC_SET_CURRENTLY_PLAYING_RATING,              // [int nRating (0 means ?)]
   MCC_SHOW_PLAYBACK_ENGINE_MENU,                 // [screen point (loword: x, hiword: y) -- must send directly]
   MCC_PLAY_NEXT_PLAYLIST,                        // [ignore]
   MCC_PLAY_PREVIOUS_PLAYLIST,                    // [ignore]
   MCC_MAXIMIZE_WINDOW,                           // [ignore]
   MCC_RESTORE_WINDOW,                            // [ignore]
   MCC_SET_PLAYERSTATUS,                          // [PLAYER_STATUS_CODES Code]
   MCC_SET_ALTERNATE_PLAYBACK_SETTINGS,           // [BOOL bAlternateSettings (-1 toggles)]
   MCC_SET_PREVIEW_MODE_SETTINGS,                 // [low 12 bits: int nDurationSeconds, high 12 bits: int nStartSeconds]
   MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENU,  // [screen point (loword: x, hiword: y) -- must send directly]
   MCC_DVD_MENU,                                  // [ignore]
   MCC_SEEK_FORWARD,                              // [int nMilliseconds (0 means default -- varies depending on playback type)]
   MCC_SEEK_BACK,                                 // [int nMilliseconds (0 means default -- varies depending on playback type)]
   ///////////////////////////////////////////////////////////////////////////////
   // File (range 20,000 to 21,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_FILE_SECTION = 20000,
   MCC_OPEN_FILE = 20000,                         // [ignore]
   MCC_OPEN_URL,                                  // [ignore]
   MCC_PRINT_LIST,                                // [ignore]
   MCC_EXPORT_PLAYLIST,                           // [ignore]
   MCC_EXPORT_ALL_PLAYLISTS,                      // [ignore]
   MCC_UPLOAD_FILES,                              // [ignore]
   MCC_EMAIL_FILES,                               // [ignore]
   MCC_EXIT,                                      // [BOOL bForce]
   MCC_UPDATE_LIBRARY,                            // [ignore]
   MCC_CLEAR_LIBRARY,                             // [ignore]
   MCC_EXPORT_LIBRARY,                            // [ignore]
   MCC_BACKUP_LIBRARY,                            // [ignore]
   MCC_RESTORE_LIBRARY,                           // [ignore]
   MCC_LIBRARY_MANAGER,                           // [ignore]
   MCC_IMAGE_ACQUIRE,                             // [ignore]
   MCC_ORDER_PRINTS,                              // [ignore]
   MCC_PRINT_IMAGES,                              // [ignore]
   MCC_PRINT,                                     // [ignore]
   MCC_PRINT_PAGESETUP,                           // [ignore]
   MCC_PERBCAST_PLAYLIST,                         // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Edit (range 21,000 to 22,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_EDIT_SECTION = 21000,
   MCC_COPY = 21000,                              // [ignore]
   MCC_PASTE,                                     // [ignore]
   MCC_SELECT_ALL,                                // [ignore]
   MCC_SELECT_INVERT,                             // [ignore]
   MCC_DELETE,                                    // [BOOL bAggressive]
   MCC_RENAME,                                    // [ignore]
   MCC_UNDO,                                      // [ignore]
   MCC_REDO,                                      // [ignore]
   MCC_QUICK_SEARCH,                              // [BOOL bRepeatLastSearch]
   MCC_ADD_PLAYLIST,                              // [MEDIAFILE_INFO_ARRAY * paryFiles = NULL]
   MCC_ADD_SMARTLIST,                             // [ignore]
   MCC_ADD_PLAYLIST_GROUP,                        // [ignore]
   MCC_PROPERTIES,                                // [MEDIAFILE_INFO_ARRAY * paryFiles = NULL (-1 toggles) (note: never PostMessage(...) a pointer)]
   MCC_TOGGLE_TAGGING_MODE,                       // [ignore]
   MCC_CUT,                                       // [ignore]
   MCC_DESELECT_ALL,                              // [ignore]
   MCC_DELETE_ALL,                                // [BOOL bAggressive]
   MCC_ADD_PODCAST_FEED,                          // [ignore]
   MCC_EDIT_PODCAST_FEED,                         // [ignore]
   MCC_ADD_PODCAST_DEFAULTS,                      // [ignore]
   MCC_CREATE_STOCK_SMARTLISTS,                   // [ignore]
   MCC_ENABLE_PODCAST_DOWNLOAD,                   // [ignore]
   MCC_DISABLE_PODCAST_DOWNLOAD,                  // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // View (range 22,000 to 23,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_VIEW_SECTION = 22000,
   MCC_TOGGLE_MODE = 22000,                       // [-1: Next Mode, 0: Standard, 1: Mini, 2: Full Screen, 3: Theater View, 4: Windowed]
   MCC_THEATER_VIEW,                              // [SHOW_THEATER_VIEW_MODES Mode]
   MCC_PARTY_MODE,                                // [ignore]
   MCC_SHOW_TREE_ROOT,                            // [int nTreeRootIndex]
   MCC_FIND_MUSIC,                                // [wchar * pstrSearch (note: memory will be deleted by receiver)]
   MCC_BACK,                                      // [int nLevels (0 does 1 level)]
   MCC_FORWARD,                                   // [int nLevels (0 does 1 level)]
   MCC_REFRESH,                                   // [ignore]
   MCC_SET_LIST_STYLE,                            // [int nListStyle (-1 toggles)]
   MCC_SET_MODE,                                  // [-3: Current Mode (update settings), -2: Close Display, -1: Next Mode, 0: Standard, 1: Mini, 2: Full Screen, 3: Theater View, 4: Windowed]
   MCC_SHOW_ARTISTINFO,                           // [ignore]
   MCC_SHOW_FINDCD,                               // [ignore]
   MCC_SHOW_RECENTLYIMPORTED,                     // [ignore]
   MCC_SHOW_TOPHITS,                              // [ignore]
   MCC_SHOW_RECENTLYPLAYED,                       // [ignore]
   MCC_SET_MEDIA_MODE,                            // [int nMediaMode]
   MCC_CONFIGURE_ACCESS_CONTROL,                  // [ignore]
   MCC_SET_SERVER_MODE,                           // [BOOL bServerMode]
   MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_LAUNCH,      // [int nType (0: starting external app, 1: ending external app)]
   ///////////////////////////////////////////////////////////////////////////////
   // Tools (range 23,000 to 24,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_TOOLS_SECTION = 23000,
   MCC_IMPORT = 23000,                            // [loword: bAutomatic, hiword: bDisableAlreadyRunningWarning]
   MCC_RIP,                                       // [ignore]
   MCC_BURN,                                      // [ignore]
   MCC_RECORD,                                    // [ignore]
   MCC_CONVERT,                                   // [ignore]
   MCC_ANALYZE_AUDIO,                             // [ignore]
   MCC_MEDIA_EDITOR,                              // [ignore]
   MCC_CD_LABELER,                                // [ignore]
   MCC_DOWNLOAD_MANAGER,                          // [ignore]
   MCC_MEDIA_SERVER,                              // [ignore]
   MCC_MUSICEX_MANAGER,                           // [ignore]
   MCC_PLUGIN_MANAGER,                            // [ignore]
   MCC_SKIN_MANAGER,                              // [ignore]
   MCC_OPTIONS,                                   // [int nPageNo]
   MCC_RENAME_CD_FILES,                           // [ignore]
   MCC_WMLICENSE_MANAGER,                         // [ignore]
   MCC_SERVICES_MANAGER,                          // [ignore]
   MCC_HH_UPLOAD,                                 // [loword: nDeviceSessionID (0 gets default), hiword: flags (1: sync only; 2: show warnings)]
   MCC_HH_UPDATE_AFTER_UPLOAD_WORKER_FINISHED,    // [int nDeviceSessionID]
   MCC_HH_CLOSE_DEVICE,                           // [int nDeviceSessionID]
   MCC_HH_SHOW_OPTIONS,                           // [int nDeviceSessionID]
   ///////////////////////////////////////////////////////////////////////////////
   // Help (range 24,000 to 25,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_HELP_SECTION = 24000,
   MCC_HELP_CONTENTS = 24000,                     // [ignore]
   MCC_HELP_HOWTO_IMPORT_FILES,                   // [ignore]
   MCC_HELP_HOWTO_PLAY_FILES,                     // [ignore]
   MCC_HELP_HOWTO_RIP,                            // [ignore]
   MCC_HELP_HOWTO_BURN,                           // [ignore]
   MCC_HELP_HOWTO_ORGANIZE_FILES,                 // [ignore]
   MCC_HELP_HOWTO_VIEW_SCHEMES,                   // [ignore]
   MCC_HELP_HOWTO_MANAGE_PLAYLISTS,               // [ignore]
   MCC_HELP_HOWTO_EDIT_PROPERTIES,                // [ignore]
   MCC_HELP_HOWTO_FIND,                           // [ignore]
   MCC_HELP_HOWTO_CONFIGURE,                      // [ignore]
   MCC_CHECK_FOR_UPDATES,                         // [ignore]
   MCC_BUY,                                       // [ignore]
   MCC_INSTALL_LICENSE,                           // [ignore]
   MCC_REGISTRATION_INFO,                         // [ignore]
   MCC_PLUS_FEATURES,                             // [ignore]
   MCC_INTERACT,                                  // [ignore]
   MCC_SYSTEM_INFO,                               // [ignore]
   MCC_ABOUT,                                     // [ignore]
   MCC_CONFIGURE_DEBUG_LOGGING,                   // [ignore]
   MCC_TEST,                                      // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Tree (range 25,000 to 26,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_TREE_SECTION = 25000,
   MCC_ADD_VIEW_SCHEME = 25000,                   // [ignore]
   MCC_EDIT_VIEW_SCHEME,                          // [ignore]
   MCC_OBSOLETE_25002,                            // [ignore]
   MCC_OBSOLETE_25003,                            // [ignore]
   MCC_OBSOLETE_25004,                            // [ignore]
   MCC_OBSOLETE_25005,                            // [ignore]
   MCC_TREE_PLAY,                                 // [ignore]
   MCC_TREE_ADD_TO_PLAYING_NOW,                   // [ignore]
   MCC_TREE_ADD_DIRECTORY,                        // [ignore]
   MCC_TREE_IMPORT,                               // [ignore]
   MCC_TREE_ADD_CD_FOLDER,                        // [ignore]
   MCC_UPDATE_FROM_CD_DATABASE,                   // [ignore]
   MCC_SUBMIT_TO_CD_DATABASE,                     // [ignore]
   MCC_TREE_RIP,                                  // [ignore]
   MCC_CLEAR_PLAYING_NOW,                         // [0: all files; 1: leave playing file]
   MCC_COPY_LISTENING_TO,                         // [BOOL bPaste]
   MCC_TREE_SET_EXPANDED,                         // [0: collapsed; 1: expanded]
   MCC_RESET_VIEW_SCHEMES,                        // [ignore]
   MCC_TREE_ERASE_CD_DVD,                         // [ignore]
   MCC_UPDATE_FROM_CDPLAYER_INI,                  // [ignore]
   MCC_TREE_EJECT,                                // [ignore]
   MCC_TREE_ADD_VIRTUAL_DEVICE,                   // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // List (range 26,000 to 27,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_LIST_SECTION = 26000,
   MCC_LIST_UPDATE_ORDER = 26000,                 // [ignore]
   MCC_LIST_SHUFFLE_ORDER,                        // [ignore]
   MCC_LIST_IMPORT,                               // [ignore]
   MCC_LIST_REMOVE_ORDER,                         // [ignore]
   MCC_LOCATE_FILE,                               // [int nLocation (-1: on disk (internal); -2: on disk (external); 0-n: library field index)
   MCC_LIST_MOVE_DISK_FILES,                      // [ignore]
   MCC_LIST_INCREMENT_SELECTION,                  // [int nDelta]
   MCC_LIST_REMOVE_DUPLICATES,                    // [ignore]
   MCC_LIST_AUTO_SIZE_COLUMN,                     // [int nColumn, zero-based column index (-1: all)]
   MCC_LIST_CUSTOMIZE_VIEW,                       // [ignore]
   MCC_LIST_COPY_DISK_FILES,                      // [ignore]
   MCC_LIST_SET_RIP_CHECK,                        // [0: uncheck, 1: check, -1: toggle]
   MCC_LIST_DOWNLOAD,                             // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // System (range 26,000 to 27,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_SYSTEM_SECTION = 27000,
   MCC_KEYSTROKE = 27000,                         // [int nKeyCode]
   MCC_SHUTDOWN,                                  // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Other (range 30,000 to 31,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_OTHER_SECTION = 30000,
   MCC_RELOAD_MC_VIEW = 30000,                    // [ignore]
   MCC_CUSTOMIZE_TOOLBAR,                         // [ignore]
   MCC_PLAY_TV,                                   // [ignore]
   MCC_UPDATE_WEBPAGES,                           // [ignore]
   MCC_SHOW_RUNNING_MC,                           // [BOOL bToggleVisibility]
   MCC_SHOW_MENU,                                 // [int nMenuID]
   MCC_TUNE_TV,                                   // [ignore]
   MCC_PLAY_PLAYLIST,                             // [int nPlaylistID]
   MCC_SENDTO_TOOL,                               // [0: labeler; 1: media editor; 2: default editor; 3: ftp upload; 4: email]
   MCC_SHOW_VIEW_INFO,                            // [new CMCViewInfo * (for internal use only)]
   MCC_SERVICES_HOME,                             // [ignore]
   MCC_DEVICE_CHANGED,                            // [new DEVICE_CHANGE_INFO * (for internal use only)]
   MCC_HH_FINISHED_FUNCTION,
   MCC_CONFIGURE_THEATER_VIEW,                    // [ignore]
   MCC_SET_STATUSTEXT,                            // [wchar * pstrText (note: memory will be deleted by receiver)]
   MCC_UPDATE_UI_SIZE_AFTER_MAXIMIZE,             // [ignore]
   MCC_REENUM_PORTABLE_DEVICES,                   // [BOOL bDeviceConnected]
   MCC_PLAY_ADVANCED,                             // [PLAY_COMMAND * pCommand (deleted by receiver)]
   MCC_UPDATE_STATUS_BAR,                         // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Image tools (range 31,000 to 32,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_IMAGE_SECTION = 31000,
   MCC_IMAGE_SET_DESKTOP_BACK = 31000,            // [ignore]
   MCC_IMAGE_ROTATE_LEFT,                         // [ignore]
   MCC_IMAGE_ROTATE_RIGHT,                        // [ignore]
   MCC_IMAGE_ROTATE_UPSIDEDOWN,                   // [ignore]
   MCC_IMAGE_RESIZE,                              // [ignore]
   MCC_IMAGE_EDIT,                                // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Query (range 32,000 to 33,000)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_QUERY_SECTION = 32000,
   ///////////////////////////////////////////////////////////////////////////////
   // Commands (used internally -- get routed standard way)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_COMMANDS_SECTION = 33000,
   MCC_GET_SELECTED_FILES = 33000,                // [loword: GET_SELECTION_MODES Mode, hiword: short nFlags (1: for playback)]
   MCC_PRINTVIEW,                                 // [ignore]
   MCC_OUTPUT,                                    // [ignore]
   MCC_SETFOCUS,                                  // [ignore]
   MCC_SELECT_FILES,                              // [CMediaArray *]
   MCC_DOUBLE_CLICK,                              // [ignore]
   MCC_PLAY_OR_SHOW,                              // [ignore]
   MCC_SHOW_CURRENT_FILE,                         // [int nFlags (1: force, 2: select)]
   MCC_UPDATE_SIZES,                              // [ignore]
   MCC_BUY_SELECTED_TRACKS,                       // [int nPurchaseFlags]
   MCC_BUY_ALL_TRACKS,                            // [int nPurchaseFlags]
   MCC_BUY_ALBUM,                                 // [int nPurchaseFlags]
   MCC_UPDATE_AFTER_PLUGIN_INSTALLED,             // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Notifications (used internally -- go to all view windows)
   ///////////////////////////////////////////////////////////////////////////////
   MCC_NOTIFICATIONS_SECTION = 34000,
   MCC_NOTIFY_FONT_CHANGED = 34000,               // [ignore]
   MCC_NOTIFY_VIEW_CHANGED,                       // [ignore]
   MCC_NOTIFY_PLAYER_INFO_CHANGED,                // [PLAYER_INFO_CHANGES nChange]
   MCC_NOTIFY_TOOLTIPS_CHANGED,                   // [BOOL bEnabled]
   MCC_UPDATE,                                    // [int nFlags]
   MCC_NOTIFY_FOCUS_CHANGED,                      // [ignore]
   MCC_SAVE_PROPERTIES,                           // [ignore]
   MCC_NOTIFY_UI_MODE_CHANGED,                    // [ignore]
   MCC_NOTIFY_SELECTION_CHANGED,                  // [HWND hwndSource]
   MCC_NOTIFY_FILE_CHANGED,                       // [int nMFKey (-1: invalidates all files)]
   MCC_NOTIFY_FILE_STATUS_CHANGED,                // [int nMFKey (-1: invalidates all files)]
   MCC_NOTIFY_FILE_ENSURE_VISIBLE,                // [int nMFKey]
   MCC_NOTIFY_GET_TAB_HWNDS,                      // [ignore]
   MCC_NOTIFY_BURNER_QUEUE_CHANGED,               // [int nFlags (1: folder change)]
   MCC_NOTIFY_BURNER_PROGRESS_CHANGED,            // [int nPercentage]
   MCC_NOTIFY_BURNER_STATUS_CHANGED,              // [LPCTSTR pStatus]
   MCC_NOTIFY_BURNER_STARTED,                     // [ignore]
   MCC_NOTIFY_BURNER_FINISHED,                    // [ignore]
   MCC_NOTIFY_BURNER_FAILED,                      // [LPCTSTR pError]
   MCC_NOTIFY_BURNER_CLOSE_UI,                    // [ignore]
   MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPY,       // [LPCTSTR pStatus]
   MCC_NOTIFY_RIP_STARTED,                        // [ignore]
   MCC_NOTIFY_RIP_FINISHED,                       // [ignore]
   MCC_NOTIFY_RIP_FAILED,                         // [LPCTSTR pError]
   MCC_NOTIFY_RIP_PROGRESS_CHANGED,               // [ignore]
   MCC_NOTIFY_RIP_QUEUE_CHANGED,                  // [ignore]
   MCC_NOTIFY_DOWNLOAD_FINISHED,                  // [int nMFKey (-1: unknown)]
   MCC_NOTIFY_DOWNLOAD_FAILED,                    // [int nMFKey (-1: unknown)]
   MCC_NOTIFY_DOWNLOAD_STATUS_CHANGED,            // [LPCTSTR pStatus]
   MCC_NOTIFY_STATUS_CHECKER_COMPLETE,            // [ignore]
   MCC_NOTIFY_ZONE_CHANGED,                       // [ignore]
   MCC_NOTIFY_DISPLAY_OWNER_CHANGED,              // [HWND hwndOwner]
   MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOW,   // [ignore]
   MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATE,// [ignore]
   MCC_NOTIFY_PROCESS_TIME_REMAINING,             // [int nSecondsRemaining]
   MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATES,    // [ignore]
   MCC_NOTIFY_UI_SKIN_CHANGED,                    // [ignore]
   MCC_UPDATE_WINDOW_LAYOUT,                      // [ignore]
   MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWN,            // [ignore]
   MCC_NOTIFY_UPDATE_CONTROL_BARS,                // [ignore]
   MCC_NOTIFY_PLAYLIST_FILES_CHANGED,             // [int nPlaylistID]
   MCC_NOTIFY_PLAYLIST_INFO_CHANGED,              // [int nPlaylistID]
   MCC_NOTIFY_PLAYLIST_ADDED,                     // [int nPlaylistID]
   MCC_NOTIFY_PLAYLIST_REMOVED,                   // [int nPlaylistID]
   MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGED,        // [ignore]
   MCC_NOTIFY_HANDHELD_OPTIONS_CHANGED,           // [ignore]
   MCC_NOTIFY_HANDHELD_PROGRESS_CHANGED,          // [int nPercent]
   MCC_NOTIFY_HANDHELD_UPLOAD_STARTED,            // [int nDeviceSessionID (0 gets default)]
   MCC_NOTIFY_HANDHELD_NEW_DEVICE_ARRIVED,        // [ing nDeviceSessionID]
   MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGED,      // [ignore]
   MCC_NOTIFY_HANDHELD_QUEUE_CHANGED,             // [ignore]
   MCC_NOTIFY_HANDHELD_INFO_COMPLETE,             // [ignore]
   MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHED,     // [ignore]
   MCC_NOTIFY_COMPACT_MEMORY,                     // [ignore]
   MCC_NOTIFY_SEARCH_CHANGED,                     // [ignore]
   ///////////////////////////////////////////////////////////////////////////////
   // Last
   ///////////////////////////////////////////////////////////////////////////////
   MCC_LAST = 40000

};

/////////////////////////////////////////////////////////////////////////////// // Customization specific (used internally) ///////////////////////////////////////////////////////////////////////////////

  1. define MCC_CUSTOMIZATION_OFFSET 100000


How to issue Media Core commands

a) Post a WM_MC_COMMAND based message to the MC frame

Example (C++ source code): HWND hwndMC = FindWindow(_T("MJFrame"), NULL); PostMessage(hwndMC, WM_MC_COMMAND, MCC_PLAY_PAUSE, 0);

b) Fire the same command through the launcher (i.e. 'MC11.exe') in the system directory

Example (command-line program): 'MC11.exe' /MCC 10000, 0

// the WM_APP based message (WM_APP = 32768, so WM_MC_COMMAND = 33768)

  1. define WM_MC_COMMAND (WM_APP + 1000)

// extended MC_COMMAND message that takes a structure with extra information (internal use only)

  1. define WM_MC_COMMAND_EX (WM_APP + 1001)

// return value for unhandled MCC commands

  1. define MCC_UNHANDLED 0

// flags for command enable, disable, and check enum MCC_UPDATEUI_FLAGS {

   MCC_UPDATEUI_ENABLE = 1,
   MCC_UPDATEUI_DISABLE = 2,
   MCC_UPDATEUI_PRESSED = 4,

};


Helper macros


  1. define IS_MCC_COMMAND_IN_RANGE(INDEX, FIRST, LAST) (((abs((int)INDEX)) >= FIRST) && ((abs((int)INDEX)) < LAST) || ((abs((int)INDEX)) >= FIRST + MCC_CUSTOMIZATION_OFFSET) && ((abs((int)INDEX)) < LAST + MCC_CUSTOMIZATION_OFFSET))
  2. define IS_MCC_COMMAND_IN_SECTION(INDEX, FIRST) IS_MCC_COMMAND_IN_RANGE(INDEX, FIRST, FIRST + 1000)
  3. define IS_VALID_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_RANGE(INDEX, MCC_FIRST, MCC_LAST)
  4. define IS_PLAYBACK_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_PLAYBACK_SECTION)
  5. define IS_FILE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_FILE_SECTION)
  6. define IS_EDIT_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_EDIT_SECTION)
  7. define IS_VIEW_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_VIEW_SECTION)
  8. define IS_TOOL_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_TOOLS_SECTION)
  9. define IS_HELP_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_HELP_SECTION)
  10. define IS_TREE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_TREE_SECTION)
  11. define IS_LIST_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_LIST_SECTION)
  12. define IS_SYSTEM_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_SYSTEM_SECTION)
  13. define IS_IMAGE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_IMAGE_SECTION)
  14. define IS_INTERNAL_COMMAND_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_COMMANDS_SECTION)
  15. define IS_NOTIFY_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_NOTIFICATIONS_SECTION)
  16. define IS_CUSTOMIZATION_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_RANGE(INDEX, MCC_FIRST + MCC_CUSTOMIZATION_OFFSET, MCC_LAST + MCC_CUSTOMIZATION_OFFSET)
  1. define MAKE_MCC_PLAYBACK_PARAM(PARAM, ZONE) (((ZONE) == -1) ? ((PARAM) & 0x00FFFFFF) : ((((ZONE) + 1) << 24) & 0xFF000000) | ((PARAM) & 0x00FFFFFF))
  2. define GET_MCC_PLAYBACK_PARAM(PARAM) (((PARAM) & 0x400000) ? ((PARAM) & 0xFFFFFF) - 0x1000000 : ((PARAM) & 0xFFFFFF))
  3. define GET_MCC_PLAYBACK_ZONE(PARAM) (((PARAM) & 0x80000000) ? -1 : (((PARAM) >> 24) - 1))


Defines for internal use


// update flags

  1. define MCC_UPDATE_FLAG_THUMBNAILS (1 << 0)
  2. define MCC_UPDATE_FLAG_FILE_PROPERTIES (1 << 1)
  3. define MCC_UPDATE_FLAG_FILE_ADDED_OR_REMOVED (1 << 2)
  4. define MCC_UPDATE_FLAG_TREE_STRUCTURE (1 << 3)
  5. define MCC_UPDATE_FLAG_REFILL_LIST (1 << 4)
  6. define MCC_UPDATE_FLAG_ITEM_DELETED (1 << 5)
  7. define MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE (1 << 6)

// update all

  1. define MCC_UPDATE_FLAG_ALL (0x7FFFFFFF & ~(MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE))

// UI modes enum UI_MODES {

   UI_MODE_UNKNOWN = -2000,
   UI_MODE_NO_UI = -1000,
   UI_MODE_CURRENT = -3,
   UI_MODE_CLOSE_DISPLAY = -2,
   UI_MODE_NEXT = -1,
   UI_MODE_STANDARD = 0,
   UI_MODE_MINI,
   UI_MODE_FULLSCREEN,
   UI_MODE_THEATER,
   UI_MODE_WINDOWED,
   UI_MODE_STACK,
   UI_MODE_SLIM,
   UI_MODE_COUNT,

};

// player changes

  1. define PLAYER_INFO_CHANGE_ALL 0xFFFF
  2. define PLAYER_INFO_CHANGE_PLAYERSTATE (1 << 0)
  3. define PLAYER_INFO_CHANGE_VOLUME (1 << 1)
  4. define PLAYER_INFO_CHANGE_FILEINFO (1 << 2)
  5. define PLAYER_INFO_CHANGE_PLAYLISTSTATE (1 << 3)
  6. define PLAYER_INFO_CHANGE_EQCHANGE (1 << 4)
  7. define PLAYER_INFO_CHANGE_IMAGE (1 << 5)
  8. define PLAYER_INFO_CHANGE_PLAYING_FILE (1 << 6)

// player status codes enum PLAYER_STATUS_CODES {

   PLAYER_STATUS_CODE_BUFFERING,
   PLAYER_STATUS_CODE_LOCATING,
   PLAYER_STATUS_CODE_CONNECTING,
   PLAYER_STATUS_CODE_DOWNLOADING_CODEC,
   PLAYER_STATUS_CODE_ACQUIRING_LICENSE,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_STARTING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_CONNECTING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_REQUESTING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_RECEIVING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_COMPLETED,

};

// theater view modes enum SHOW_THEATER_VIEW_MODES {

   SHOW_THEATER_VIEW_MODE_TOGGLE_THEATER_VIEW,
   SHOW_THEATER_VIEW_MODE_HOME,
   SHOW_THEATER_VIEW_MODE_PLAYING_NOW,
   SHOW_THEATER_VIEW_MODE_AUDIO,
   SHOW_THEATER_VIEW_MODE_IMAGES,
   SHOW_THEATER_VIEW_MODE_VIDEOS,
   SHOW_THEATER_VIEW_MODE_PLAYLISTS,
   SHOW_THEATER_VIEW_MODE_CD_DVD,
   SHOW_THEATER_VIEW_MODE_TV,

};

// get selection modes enum GET_SELECTION_MODES {

   GET_SELECTION_EXACT,
   GET_SELECTION_ALL_ON_NONE,
   GET_SELECTION_ALL_ON_ONE_OR_NONE,
   GET_SELECTION_ALL,

};