Difference between revisions of "Media Center Core Commands"

From JRiverWiki
Jump to: navigation, search
(Commands (used internally -- get routed standard way))
(Notifications (used internally -- go to all view windows))
Line 533: Line 533:
  
 
==Notifications (used internally -- go to all view windows)==
 
==Notifications (used internally -- go to all view windows)==
 +
{| border="1" cellspacing="0" cellpadding="5"
 +
|-
 +
| 34000 ||MCC_NOTIFY_FONT_CHANGED,                      || [ignore]
 +
|-
 +
| 34001 ||MCC_NOTIFY_VIEW_CHANGED,                      || [ignore]
 +
|-
 +
| 34002 ||MCC_NOTIFY_PLAYER_INFO_CHANGED,                || [PLAYER_INFO_CHANGES nChange]
 +
|-
 +
| 34003 ||MCC_NOTIFY_TOOLTIPS_CHANGED,                  || [BOOL bEnabled]
 +
|-
 +
| 34004 ||MCC_UPDATE,                                    || [int nFlags]
 +
|-
 +
| 34005 ||MCC_NOTIFY_FOCUS_CHANGED,                      || [ignore]
 +
|-
 +
| 34006 ||MCC_SAVE_PROPERTIES,                          || [ignore]
 +
|-
 +
| 34007 ||MCC_NOTIFY_UI_MODE_CHANGED,                    || [ignore]
 +
|-
 +
| 34008 ||MCC_NOTIFY_SELECTION_CHANGED,                  || [HWND hwndSource]
 +
|-
 +
| 34009 ||MCC_NOTIFY_FILE_CHANGED,                      || [int nMFKey (-1: invalidates all files)]
 +
|-
 +
| 34010 ||MCC_NOTIFY_FILE_STATUS_CHANGED,                || [int nMFKey (-1: invalidates all files)]
 +
|-
 +
| 34011 ||MCC_NOTIFY_FILE_ENSURE_VISIBLE,                || [int nMFKey]
 +
|-
 +
| 34012 ||MCC_NOTIFY_GET_TAB_HWNDS,                      || [ignore]
 +
|-
 +
| 34013 ||MCC_NOTIFY_BURNER_QUEUE_CHANGED,              || [int nFlags (1: folder change)]
 +
|-
 +
| 34014 ||MCC_NOTIFY_BURNER_PROGRESS_CHANGED,            || [int nPercentage]
 +
|-
 +
| 34015 ||MCC_NOTIFY_BURNER_STATUS_CHANGED,              || [LPCTSTR pStatus]
 +
|-
 +
| 34016 ||MCC_NOTIFY_BURNER_STARTED,                    || [ignore]
 +
|-
 +
| 34017 ||MCC_NOTIFY_BURNER_FINISHED,                    || [ignore]
 +
|-
 +
| 34018 ||MCC_NOTIFY_BURNER_FAILED,                      || [LPCTSTR pError]
 +
|-
 +
| 34019 ||MCC_NOTIFY_BURNER_CLOSE_UI,                    || [ignore]
 +
|-
 +
| 34020 ||MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPY,      || [LPCTSTR pStatus]
 +
|-
 +
| 34021 ||MCC_NOTIFY_RIP_STARTED,                        || [ignore]
 +
|-
 +
| 34022 ||MCC_NOTIFY_RIP_FINISHED,                      || [ignore]
 +
|-
 +
| 34023 ||MCC_NOTIFY_RIP_FAILED,                        || [LPCTSTR pError]
 +
|-
 +
| 34024 ||MCC_NOTIFY_RIP_PROGRESS_CHANGED,              || [ignore]
 +
|-
 +
| 34025 ||MCC_NOTIFY_RIP_QUEUE_CHANGED,                  || [ignore]
 +
|-
 +
| 34026 ||MCC_NOTIFY_DOWNLOAD_FINISHED,                  || [int nMFKey (-1: unknown)]
 +
|-
 +
| 34027 ||MCC_NOTIFY_DOWNLOAD_FAILED,                    || [int nMFKey (-1: unknown)]
 +
|-
 +
| 34028 ||MCC_NOTIFY_DOWNLOAD_STATUS_CHANGED,            || [LPCTSTR pStatus]
 +
|-
 +
| 34029 ||MCC_NOTIFY_STATUS_CHECKER_COMPLETE,            || [ignore]
 +
|-
 +
| 34030 ||MCC_NOTIFY_ZONE_CHANGED,                      || [ignore]
 +
|-
 +
| 34031 ||MCC_NOTIFY_DISPLAY_OWNER_CHANGED,              || [HWND hwndOwner]
 +
|-
 +
| 34032 ||MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOW,  || [ignore]
 +
|-
 +
| 34033 ||MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATE,|| [ignore]
 +
|-
 +
| 34034 ||MCC_NOTIFY_PROCESS_TIME_REMAINING,            || [int nSecondsRemaining]
 +
|-
 +
| 34035 ||MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATES,    || [ignore]
 +
|-
 +
| 34036 ||MCC_NOTIFY_UI_SKIN_CHANGED,                    || [ignore]
 +
|-
 +
| 34037 ||MCC_UPDATE_WINDOW_LAYOUT,                      || [ignore]
 +
|-
 +
| 34038 ||MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWN,            || [ignore]
 +
|-
 +
| 34039 ||MCC_NOTIFY_UPDATE_CONTROL_BARS,                || [ignore]
 +
|-
 +
| 34040 ||MCC_NOTIFY_PLAYLIST_FILES_CHANGED,            || [int nPlaylistID]
 +
|-
 +
| 34041 ||MCC_NOTIFY_PLAYLIST_INFO_CHANGED,              || [int nPlaylistID]
 +
|-
 +
| 34042 ||MCC_NOTIFY_PLAYLIST_ADDED,                    || [int nPlaylistID]
 +
|-
 +
| 34043 ||MCC_NOTIFY_PLAYLIST_REMOVED,                  || [int nPlaylistID]
 +
|-
 +
| 34044 ||MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGED,        || [ignore]
 +
|-
 +
| 34045 ||MCC_NOTIFY_HANDHELD_OPTIONS_CHANGED,          || [ignore]
 +
|-
 +
| 34046 ||MCC_NOTIFY_HANDHELD_PROGRESS_CHANGED,          || [int nPercent]
 +
|-
 +
| 34047 ||MCC_NOTIFY_HANDHELD_UPLOAD_STARTED,            || [int nDeviceSessionID (0 gets default)]
 +
|-
 +
| 34048 ||MCC_NOTIFY_HANDHELD_NEW_DEVICE_ARRIVED,        || [ing nDeviceSessionID]
 +
|-
 +
| 34049 ||MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGED,      || [ignore]
 +
|-
 +
| 34050 ||MCC_NOTIFY_HANDHELD_QUEUE_CHANGED,            || [ignore]
 +
|-
 +
| 34051 ||MCC_NOTIFY_HANDHELD_INFO_COMPLETE,            || [ignore]
 +
|-
 +
| 34052 ||MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHED,    || [ignore]
 +
|-
 +
| 34053 ||MCC_NOTIFY_COMPACT_MEMORY,                    || [ignore]
 +
|-
 +
| 34054 ||MCC_NOTIFY_SEARCH_CHANGED,                    || [ignore]
 +
|}
  
    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 ==
    // Last
 
    ///////////////////////////////////////////////////////////////////////////////
 
 
     MCC_LAST = 40000
 
     MCC_LAST = 40000
};
 
 
  
 
==Customization specific (used internally)==
 
==Customization specific (used internally)==

Revision as of 04:03, 10 May 2007

  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

Playback

Enum Command parameter
10000 MCC_PLAY_PAUSE [ignore]
10001 MCC_PLAY [ignore]
10002 MCC_STOP [BOOL bDisplayWarning]
10003 MCC_NEXT [BOOL bNotActualNext]
10004 MCC_PREVIOUS [ignore]
10005 MCC_SHUFFLE [0: toggle shuffle; 1: shuffle, jump to PN; 2: shuffle, no jump]
10006 MCC_CONTINUOUS [ignore]
10007 MCC_UPDATE_VIS [ignore]
10008 MCC_FAST_FORWARD [ignore]
10009 MCC_REWIND [ignore]
10010 MCC_STOP_CONDITIONAL [ignore]
10011 MCC_SET_ZONE [int nZoneIndex (-1 toggles forward, -2 toggles backwards)]
10012 MCC_TOGGLE_FULLSCREEN [BOOL bForceReturnFromFullScreen]
10013 MCC_SHOW_WINDOW, [BOOL bJumpToPlayingNow]
10014 MCC_MINIMIZE_WINDOW [ignore]
10015 MCC_PLAY_CPLDB_INDEX [int nIndex]
10016 MCC_SHOW_DSP_STUDIO [ignore]
10017 MCC_VOLUME_MUTE [0: toggle; 1: mute; 2: unmute]
10018 MCC_VOLUME_UP [int nDeltaPercent]
10019 MCC_VOLUME_DOWN [int nDeltaPercent]
10020 MCC_VOLUME_SET [int nPercent]
10021 MCC_SHOW_PLAYBACK_OPTIONS [ignore]
10022 MCC_SET_PAUSE [BOOL bPause (-1 toggles)]
10023 MCC_SET_CURRENTLY_PLAYING_RATING int nRating (0 means ?)]
10024 MCC_SHOW_PLAYBACK_ENGINE_MENU [screen point (loword: x, hiword: y) -- must send directly]
10025 MCC_PLAY_NEXT_PLAYLIST [ignore]
10026 MCC_PLAY_PREVIOUS_PLAYLIST [ignore]
10027 MCC_MAXIMIZE_WINDOW ignore]
10028 MCC_RESTORE_WINDOW [ignore]
10029 MCC_SET_PLAYERSTATUS [PLAYER_STATUS_CODES Code]
10030 MCC_SET_ALTERNATE_PLAYBACK_SETTINGS [BOOL bAlternateSettings (-1 toggles)]
10031 MCC_SET_PREVIEW_MODE_SETTINGS [low 12 bits: int nDurationSeconds, high 12 bits: int nStartSeconds]
10032 MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENU [screen point (loword: x, hiword: y) -- must send directly]
10033 MCC_DVD_MENU [ignore]
10034 MCC_SEEK_FORWARD [int nMilliseconds (0 means default -- varies depending on playback type)]
10035 MCC_SEEK_BACK [int nMilliseconds (0 means default -- varies depending on playback type)]
10037 MCC_DETACH_DISPLAY, [BOOL bDetach (-1 toggles)]

File

20000 MCC_OPEN_FILE = 20000, [ignore]
20001 MCC_OPEN_URL, [ignore]
20002 MCC_PRINT_LIST, [ignore]
20003 MCC_EXPORT_PLAYLIST, [ignore]
20004 MCC_EXPORT_ALL_PLAYLISTS, [ignore]
20005 MCC_UPLOAD_FILES, [ignore]
20006 MCC_EMAIL_FILES, [ignore]
20007 MCC_EXIT, [BOOL bForce]
20008 MCC_UPDATE_LIBRARY, [ignore]
20009 MCC_CLEAR_LIBRARY, [ignore]
20010 MCC_EXPORT_LIBRARY, [ignore]
20011 MCC_BACKUP_LIBRARY, [ignore]
20012 MCC_RESTORE_LIBRARY, [ignore]
20013 MCC_LIBRARY_MANAGER, [ignore]
20014 MCC_IMAGE_ACQUIRE, [ignore]
20015 MCC_ORDER_PRINTS, [ignore]
20016 MCC_PRINT_IMAGES, [ignore]
20017 MCC_PRINT, [ignore]
20018 MCC_PRINT_PAGESETUP, [ignore]
20019 MCC_PERBCAST_PLAYLIST, [ignore]

Edit

21000 MCC_COPY, [ignore]
21001 MCC_PASTE, [ignore]
21002 MCC_SELECT_ALL, [ignore]
21003 MCC_SELECT_INVERT, [ignore]
21004 MCC_DELETE, [BOOL bAggressive]
21005 MCC_RENAME, [ignore]
21006 MCC_UNDO, [ignore]
21007 MCC_REDO, [ignore]
21008 MCC_QUICK_SEARCH, [BOOL bRepeatLastSearch]
21009 MCC_ADD_PLAYLIST, [MEDIAFILE_INFO_ARRAY * paryFiles = NULL]
21010 MCC_ADD_SMARTLIST, [ignore]
21011 MCC_ADD_PLAYLIST_GROUP, [ignore]
21012 MCC_PROPERTIES, [MEDIAFILE_INFO_ARRAY * paryFiles = NULL (-1 toggles) (note: never PostMessage(...) a pointer)]
21013 MCC_TOGGLE_TAGGING_MODE, [ignore]
21014 MCC_CUT, [ignore]
21015 MCC_DESELECT_ALL, [ignore]
21016 MCC_DELETE_ALL, [BOOL bAggressive]
21017 MCC_ADD_PODCAST_FEED, [ignore]
21018 MCC_EDIT_PODCAST_FEED, [ignore]
21019 MCC_ADD_PODCAST_DEFAULTS, [ignore]
21020 MCC_CREATE_STOCK_SMARTLISTS, [ignore]
21021 MCC_ENABLE_PODCAST_DOWNLOAD, [ignore]
21022 MCC_DISABLE_PODCAST_DOWNLOAD, [ignore]

View

22000 MCC_TOGGLE_MODE [-1: Next Mode, 0: Standard, 1: Mini, 2: Full Screen, 3: Theater View, 4: Windowed]
22001 MCC_THEATER_VIEW, [SHOW_THEATER_VIEW_MODES Mode]
22002 MCC_PARTY_MODE, [ignore]
22003 MCC_SHOW_TREE_ROOT, [int nTreeRootIndex]
22004 MCC_FIND_MUSIC, [wchar * pstrSearch (note: memory will be deleted by receiver)]
22005 MCC_BACK, [int nLevels (0 does 1 level)]
22006 MCC_FORWARD, [int nLevels (0 does 1 level)]
22007 MCC_REFRESH, [ignore]
22008 MCC_SET_LIST_STYLE, [int nListStyle (-1 toggles)]
22009 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]
22010 MCC_SHOW_ARTISTINFO, [ignore]
22011 MCC_SHOW_FINDCD, [ignore]
22012 MCC_SHOW_RECENTLYIMPORTED, [ignore]
22013 MCC_SHOW_TOPHITS, [ignore]
22014 MCC_SHOW_RECENTLYPLAYED, [ignore]
22015 MCC_SET_MEDIA_MODE, [int nMediaMode]
22016 MCC_CONFIGURE_ACCESS_CONTROL, [ignore]
22017 MCC_SET_SERVER_MODE, [BOOL bServerMode]
22018 MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_LAUNCH, [int nType (0: starting external app, 1: ending external app)]

Tools

23000 MCC_IMPORT = 23000, [loword: bAutomatic, hiword: bDisableAlreadyRunningWarning]
23001 MCC_RIP, [ignore]
23002 MCC_BURN, [ignore]
23003 MCC_RECORD, [ignore]
23004 MCC_CONVERT, [ignore]
23005 MCC_ANALYZE_AUDIO, [ignore]
23006 MCC_MEDIA_EDITOR, [ignore]
23007 MCC_CD_LABELER, [ignore]
23008 MCC_DOWNLOAD_MANAGER, [ignore]
23009 MCC_MEDIA_SERVER, [ignore]
23010 MCC_MUSICEX_MANAGER, [ignore]
23011 MCC_PLUGIN_MANAGER, [ignore]
23012 MCC_SKIN_MANAGER, [ignore]
23013 MCC_OPTIONS, [int nPageNo]
23014 MCC_RENAME_CD_FILES, [ignore]
23015 MCC_WMLICENSE_MANAGER, [ignore]
23016 MCC_SERVICES_MANAGER, [ignore]
23017 MCC_HH_UPLOAD, [loword: nDeviceSessionID (0 gets default), hiword: flags (1: sync only; 2: show warnings)]
23018 MCC_HH_UPDATE_AFTER_UPLOAD_WORKER_FINISHED, [int nDeviceSessionID]
23019 MCC_HH_CLOSE_DEVICE, [int nDeviceSessionID]
23020 MCC_HH_SHOW_OPTIONS, [int nDeviceSessionID]

Help

24000 MCC_HELP_CONTENTS, [ignore]
24001 MCC_HELP_HOWTO_IMPORT_FILES, [ignore]
24002 MCC_HELP_HOWTO_PLAY_FILES, [ignore]
24003 MCC_HELP_HOWTO_RIP, [ignore]
24004 MCC_HELP_HOWTO_BURN, [ignore]
24005 MCC_HELP_HOWTO_ORGANIZE_FILES, [ignore]
24006 MCC_HELP_HOWTO_VIEW_SCHEMES, [ignore]
24007 MCC_HELP_HOWTO_MANAGE_PLAYLISTS, [ignore]
24008 MCC_HELP_HOWTO_EDIT_PROPERTIES, [ignore]
24009 MCC_HELP_HOWTO_FIND, [ignore]
24010 MCC_HELP_HOWTO_CONFIGURE, [ignore]
24011 MCC_CHECK_FOR_UPDATES, [ignore]
24012 MCC_BUY, [ignore]
24013 MCC_INSTALL_LICENSE, [ignore]
24014 MCC_REGISTRATION_INFO, [ignore]
24015 MCC_PLUS_FEATURES, [ignore]
24016 MCC_INTERACT, [ignore]
24017 MCC_SYSTEM_INFO, [ignore]
24018 MCC_ABOUT, [ignore]
24019 MCC_CONFIGURE_DEBUG_LOGGING, [ignore]
24020 MCC_TEST, [ignore]

Tree

25000 MCC_ADD_VIEW_SCHEME, [ignore]
25001 MCC_EDIT_VIEW_SCHEME, [ignore]
25002 MCC_OBSOLETE_25002, [ignore]
25003 MCC_OBSOLETE_25003, [ignore]
25004 MCC_OBSOLETE_25004, [ignore]
25005 MCC_OBSOLETE_25005, [ignore]
25006 MCC_TREE_PLAY, [ignore]
25007 MCC_TREE_ADD_TO_PLAYING_NOW, [ignore]
25008 MCC_TREE_ADD_DIRECTORY, [ignore]
25009 MCC_TREE_IMPORT, [ignore]
25010 MCC_TREE_ADD_CD_FOLDER, [ignore]
25011 MCC_UPDATE_FROM_CD_DATABASE, [ignore]
25012 MCC_SUBMIT_TO_CD_DATABASE, [ignore]
25013 MCC_TREE_RIP, [ignore]
25014 MCC_CLEAR_PLAYING_NOW, [0: all files; 1: leave playing file]
25015 MCC_COPY_LISTENING_TO, [BOOL bPaste]
25016 MCC_TREE_SET_EXPANDED, [0: collapsed; 1: expanded]
25017 MCC_RESET_VIEW_SCHEMES, [ignore]
25018 MCC_TREE_ERASE_CD_DVD, [ignore]
25019 MCC_UPDATE_FROM_CDPLAYER_INI, [ignore]
25020 MCC_TREE_EJECT, [ignore]
25021 MCC_TREE_ADD_VIRTUAL_DEVICE, [ignore]

List

26000 MCC_LIST_UPDATE_ORDER, [ignore]
26001 MCC_LIST_SHUFFLE_ORDER, [ignore]
26002 MCC_LIST_IMPORT, [ignore]
26003 MCC_LIST_REMOVE_ORDER, [ignore]
26004 MCC_LOCATE_FILE, [int nLocation (-1: on disk (internal); -2: on disk (external); 0-n: library field index)
26005 MCC_LIST_MOVE_DISK_FILES, [ignore]
26006 MCC_LIST_INCREMENT_SELECTION, [int nDelta]
26007 MCC_LIST_REMOVE_DUPLICATES, [ignore]
26008 MCC_LIST_AUTO_SIZE_COLUMN, [int nColumn, zero-based column index (-1: all)]
26009 MCC_LIST_CUSTOMIZE_VIEW, [ignore]
26010 MCC_LIST_COPY_DISK_FILES, [ignore]
26011 MCC_LIST_SET_RIP_CHECK, [0: uncheck, 1: check, -1: toggle]
26012 MCC_LIST_DOWNLOAD, [ignore]

System

27000 MCC_KEYSTROKE = 27000, [int nKeyCode]
27001 MCC_SHUTDOWN, [ignore]

Other

30000 MCC_RELOAD_MC_VIEW = 30000, [ignore]
30001 MCC_CUSTOMIZE_TOOLBAR, [ignore]
30002 MCC_PLAY_TV, [ignore]
30003 MCC_UPDATE_WEBPAGES, [ignore]
30004 MCC_SHOW_RUNNING_MC, [BOOL bToggleVisibility]
30005 MCC_SHOW_MENU, [int nMenuID]
30006 MCC_TUNE_TV, [ignore]
30007 MCC_PLAY_PLAYLIST, [int nPlaylistID]
30008 MCC_SENDTO_TOOL, [0: labeler; 1: media editor; 2: default editor; 3: ftp upload; 4: email]
30009 MCC_SHOW_VIEW_INFO, [new CMCViewInfo * (for internal use only)]
30010 MCC_SERVICES_HOME, [ignore]
30011 MCC_DEVICE_CHANGED, [new DEVICE_CHANGE_INFO * (for internal use only)]
30012 MCC_HH_FINISHED_FUNCTION,
30013 MCC_CONFIGURE_THEATER_VIEW, [ignore]
30014 MCC_SET_STATUSTEXT, [wchar * pstrText (note: memory will be deleted by receiver)]
30015 MCC_UPDATE_UI_SIZE_AFTER_MAXIMIZE, [ignore]
30016 MCC_REENUM_PORTABLE_DEVICES, [BOOL bDeviceConnected]
30017 MCC_PLAY_ADVANCED, [PLAY_COMMAND * pCommand (deleted by receiver)]
30018 MCC_UPDATE_STATUS_BAR, [ignore]

Image tools

31000 MCC_IMAGE_SET_DESKTOP_BACK, [ignore]
31001 MCC_IMAGE_ROTATE_LEFT, [ignore]
31002 MCC_IMAGE_ROTATE_RIGHT, [ignore]
31003 MCC_IMAGE_ROTATE_UPSIDEDOWN, [ignore]
31004 MCC_IMAGE_RESIZE, [ignore]
31005 MCC_IMAGE_EDIT, [ignore]

Query

32000 MCC_QUERY_SECTION,

Commands (used internally -- get routed standard way)

33000 MCC_GET_SELECTED_FILES = 33000, [loword: GET_SELECTION_MODES Mode, hiword: short nFlags (1: for playback)]
33001 MCC_PRINTVIEW, [ignore]
33002 MCC_OUTPUT, [ignore]
33003 MCC_SETFOCUS, [ignore]
33004 MCC_SELECT_FILES, [CMediaArray *]
33005 MCC_DOUBLE_CLICK, [ignore]
33006 MCC_PLAY_OR_SHOW, [ignore]
33007 MCC_SHOW_CURRENT_FILE, [int nFlags (1: force, 2: select)]
33008 MCC_UPDATE_SIZES, [ignore]
33009 MCC_BUY_SELECTED_TRACKS, [int nPurchaseFlags]
33010 MCC_BUY_ALL_TRACKS, [int nPurchaseFlags]
33011 MCC_BUY_ALBUM, [int nPurchaseFlags]
33012 MCC_UPDATE_AFTER_PLUGIN_INSTALLED, [ignore]

Notifications (used internally -- go to all view windows)

34000 MCC_NOTIFY_FONT_CHANGED, [ignore]
34001 MCC_NOTIFY_VIEW_CHANGED, [ignore]
34002 MCC_NOTIFY_PLAYER_INFO_CHANGED, [PLAYER_INFO_CHANGES nChange]
34003 MCC_NOTIFY_TOOLTIPS_CHANGED, [BOOL bEnabled]
34004 MCC_UPDATE, [int nFlags]
34005 MCC_NOTIFY_FOCUS_CHANGED, [ignore]
34006 MCC_SAVE_PROPERTIES, [ignore]
34007 MCC_NOTIFY_UI_MODE_CHANGED, [ignore]
34008 MCC_NOTIFY_SELECTION_CHANGED, [HWND hwndSource]
34009 MCC_NOTIFY_FILE_CHANGED, [int nMFKey (-1: invalidates all files)]
34010 MCC_NOTIFY_FILE_STATUS_CHANGED, [int nMFKey (-1: invalidates all files)]
34011 MCC_NOTIFY_FILE_ENSURE_VISIBLE, [int nMFKey]
34012 MCC_NOTIFY_GET_TAB_HWNDS, [ignore]
34013 MCC_NOTIFY_BURNER_QUEUE_CHANGED, [int nFlags (1: folder change)]
34014 MCC_NOTIFY_BURNER_PROGRESS_CHANGED, [int nPercentage]
34015 MCC_NOTIFY_BURNER_STATUS_CHANGED, [LPCTSTR pStatus]
34016 MCC_NOTIFY_BURNER_STARTED, [ignore]
34017 MCC_NOTIFY_BURNER_FINISHED, [ignore]
34018 MCC_NOTIFY_BURNER_FAILED, [LPCTSTR pError]
34019 MCC_NOTIFY_BURNER_CLOSE_UI, [ignore]
34020 MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPY, [LPCTSTR pStatus]
34021 MCC_NOTIFY_RIP_STARTED, [ignore]
34022 MCC_NOTIFY_RIP_FINISHED, [ignore]
34023 MCC_NOTIFY_RIP_FAILED, [LPCTSTR pError]
34024 MCC_NOTIFY_RIP_PROGRESS_CHANGED, [ignore]
34025 MCC_NOTIFY_RIP_QUEUE_CHANGED, [ignore]
34026 MCC_NOTIFY_DOWNLOAD_FINISHED, [int nMFKey (-1: unknown)]
34027 MCC_NOTIFY_DOWNLOAD_FAILED, [int nMFKey (-1: unknown)]
34028 MCC_NOTIFY_DOWNLOAD_STATUS_CHANGED, [LPCTSTR pStatus]
34029 MCC_NOTIFY_STATUS_CHECKER_COMPLETE, [ignore]
34030 MCC_NOTIFY_ZONE_CHANGED, [ignore]
34031 MCC_NOTIFY_DISPLAY_OWNER_CHANGED, [HWND hwndOwner]
34032 MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOW, [ignore]
34033 MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATE, [ignore]
34034 MCC_NOTIFY_PROCESS_TIME_REMAINING, [int nSecondsRemaining]
34035 MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATES, [ignore]
34036 MCC_NOTIFY_UI_SKIN_CHANGED, [ignore]
34037 MCC_UPDATE_WINDOW_LAYOUT, [ignore]
34038 MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWN, [ignore]
34039 MCC_NOTIFY_UPDATE_CONTROL_BARS, [ignore]
34040 MCC_NOTIFY_PLAYLIST_FILES_CHANGED, [int nPlaylistID]
34041 MCC_NOTIFY_PLAYLIST_INFO_CHANGED, [int nPlaylistID]
34042 MCC_NOTIFY_PLAYLIST_ADDED, [int nPlaylistID]
34043 MCC_NOTIFY_PLAYLIST_REMOVED, [int nPlaylistID]
34044 MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGED, [ignore]
34045 MCC_NOTIFY_HANDHELD_OPTIONS_CHANGED, [ignore]
34046 MCC_NOTIFY_HANDHELD_PROGRESS_CHANGED, [int nPercent]
34047 MCC_NOTIFY_HANDHELD_UPLOAD_STARTED, [int nDeviceSessionID (0 gets default)]
34048 MCC_NOTIFY_HANDHELD_NEW_DEVICE_ARRIVED, [ing nDeviceSessionID]
34049 MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGED, [ignore]
34050 MCC_NOTIFY_HANDHELD_QUEUE_CHANGED, [ignore]
34051 MCC_NOTIFY_HANDHELD_INFO_COMPLETE, [ignore]
34052 MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHED, [ignore]
34053 MCC_NOTIFY_COMPACT_MEMORY, [ignore]
34054 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,

};