Difference between revisions of "Media Center Core Commands"

From JRiverWiki
Jump to: navigation, search
(Playback)
Line 26: Line 26:
 
<table border=1 cellspacing=0 width="100%">
 
<table border=1 cellspacing=0 width="100%">
 
<tr>
 
<tr>
<td> <strong>Enum </strong> </td><td> <strong>Command </strong></td><td> <strong>parameter</strong></td>
+
<th>Enum</th><th>Command</th><th>Parameter</th>
 
</tr><tr>
 
</tr><tr>
<td>10000</td><td>MCC_PLAY_PAUSE </td><td> ignore</td>
+
<td>10000</td><td>MCC_PLAY_PAUSE</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10001</td><td>MCC_PLAY</td><td> ignore</td>
+
<td>10001</td><td>MCC_PLAY</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
 
<td>10002</td><td>MCC_STOP</td><td>BOOL bDisplayWarning</td>
 
<td>10002</td><td>MCC_STOP</td><td>BOOL bDisplayWarning</td>
 
</tr><tr>
 
</tr><tr>
<td>10003 </td><td>MCC_NEXT</td><td>BOOL bNotActualNext</td>
+
<td>10003</td><td>MCC_NEXT</td><td>BOOL bNotActualNext</td>
 
</tr><tr>
 
</tr><tr>
<td>10004   </td><td>MCC_PREVIOUS</td><td> ignore</td>
+
<td>10004</td><td>MCC_PREVIOUS</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10005</td><td> MCC_SHUFFLE</td><td>0: toggle shuffle; 1: shuffle, jump to PN; 2: shuffle, no jump</td>
+
<td>10005</td><td>MCC_SHUFFLE</td><td>0: toggle shuffle; 1: shuffle, jump to PN; 2: shuffle, no jump; 3..5: set mode</td>
 
</tr><tr>
 
</tr><tr>
<td>10006</td><td>   MCC_CONTINUOUS</td><td>ignore</td>
+
<td>10006</td><td>MCC_CONTINUOUS</td><td>0: toggle continuous; 1: off; 2: playlist; 3: song</td>
 
</tr><tr>
 
</tr><tr>
<td>10007</td><td>   MCC_UPDATE_VIS</td><td>ignore</td>
+
<td>10007</td><td>MCC_OBSOLETE_10007</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10008</td><td>   MCC_FAST_FORWARD</td><td>ignore</td>
+
<td>10008</td><td>MCC_FAST_FORWARD</td><td>int nRate</td>
 
</tr><tr>
 
</tr><tr>
<td>10009</td><td>   MCC_REWIND</td><td>ignore</td>
+
<td>10009</td><td>MCC_REWIND</td><td>int nRate</td>
 
</tr><tr>
 
</tr><tr>
<td>10010</td><td>   MCC_STOP_CONDITIONAL</td><td>ignore</td>
+
<td>10010</td><td>MCC_STOP_CONDITIONAL</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10011</td><td>   MCC_SET_ZONE</td><td>int nZoneIndex (-1 toggles forward, -2 toggles backwards)</td>
+
<td>10011</td><td>MCC_SET_ZONE</td><td>int nZoneIndex (-1 toggles forward, -2 toggles backwards)</td>
 
</tr><tr>
 
</tr><tr>
<td>10012</td><td>   MCC_TOGGLE_FULLSCREEN</td><td>BOOL bForceReturnFromFullScreen</td>
+
<td>10012</td><td>MCC_TOGGLE_DISPLAY</td><td>BOOL bExcludeTheaterView</td>
 
</tr><tr>
 
</tr><tr>
<td>10013</td><td>   MCC_SHOW_WINDOW,</td><td>BOOL bJumpToPlayingNow</td>
+
<td>10013</td><td>MCC_SHOW_WINDOW,</td><td>BOOL bJumpToPlayingNow</td>
 
</tr><tr>
 
</tr><tr>
<td>10014</td><td>   MCC_MINIMIZE_WINDOW</td><td>ignore</td>
+
<td>10014</td><td>MCC_MINIMIZE_WINDOW</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10015</td><td>   MCC_PLAY_CPLDB_INDEX</td><td>int nIndex</td>
+
<td>10015</td><td>MCC_PLAY_CPLDB_INDEX</td><td>int nIndex</td>
 
</tr><tr>
 
</tr><tr>
<td>10016</td><td>   MCC_SHOW_DSP_STUDIO</td><td>ignore</td>
+
<td>10016</td><td>MCC_SHOW_DSP_STUDIO</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10017</td><td>   MCC_VOLUME_MUTE</td><td>0: toggle; 1: mute; 2: unmute</td>
+
<td>10017</td><td>MCC_VOLUME_MUTE</td><td>0: toggle; 1: mute; 2: unmute</td>
 
</tr><tr>
 
</tr><tr>
<td>10018</td><td>   MCC_VOLUME_UP</td><td>int nDeltaPercent</td>
+
<td>10018</td><td>MCC_VOLUME_UP</td><td>int nDeltaPercent</td>
 
</tr><tr>
 
</tr><tr>
<td>10019</td><td>   MCC_VOLUME_DOWN</td><td>int nDeltaPercent</td>
+
<td>10019</td><td>MCC_VOLUME_DOWN</td><td>int nDeltaPercent</td>
 
</tr><tr>
 
</tr><tr>
<td>10020</td><td>   MCC_VOLUME_SET</td><td>int nPercent</td>
+
<td>10020</td><td>MCC_VOLUME_SET</td><td>int nPercent</td>
 
</tr><tr>
 
</tr><tr>
<td>10021</td><td>   MCC_SHOW_PLAYBACK_OPTIONS</td><td>ignore</td>
+
<td>10021</td><td>MCC_SHOW_PLAYBACK_OPTIONS</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10022</td><td>   MCC_SET_PAUSE</td><td>BOOL bPause (-1 toggles)</td>
+
<td>10022</td><td>MCC_SET_PAUSE</td><td>BOOL bPause (-1 toggles)</td>
 
</tr><tr>
 
</tr><tr>
<td>10023</td><td>   MCC_SET_CURRENTLY_PLAYING_RATING</td><td>int nRating (0 means ?)</td>
+
<td>10023</td><td>MCC_SET_CURRENTLY_PLAYING_RATING</td><td>int nRating (0 means ?)</td>
 
</tr><tr>
 
</tr><tr>
<td>10024</td><td>   MCC_SHOW_PLAYBACK_ENGINE_MENU</td><td>screen point (loword: x, hiword: y) -- must send directly</td>
+
<td>10024</td><td>MCC_SHOW_PLAYBACK_ENGINE_MENU</td><td>screen point (loword: x, hiword: y) -- must send directly</td>
 
</tr><tr>
 
</tr><tr>
<td>10025</td><td>   MCC_PLAY_NEXT_PLAYLIST</td><td>ignore</td>
+
<td>10025</td><td>MCC_PLAY_NEXT_PLAYLIST</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10026</td><td>   MCC_PLAY_PREVIOUS_PLAYLIST</td><td>ignore</td>
+
<td>10026</td><td>MCC_PLAY_PREVIOUS_PLAYLIST</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10027</td><td>   MCC_MAXIMIZE_WINDOW</td><td>ignore</td>
+
<td>10027</td><td>MCC_MAXIMIZE_WINDOW</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10028</td><td>   MCC_RESTORE_WINDOW</td><td>ignore</td>
+
<td>10028</td><td>MCC_RESTORE_WINDOW</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10029</td><td>   MCC_SET_PLAYERSTATUS</td><td>PLAYER_STATUS_CODES Code</td>
+
<td>10029</td><td>MCC_SET_PLAYERSTATUS</td><td>PLAYER_STATUS_CODES Code</td>
 
</tr><tr>
 
</tr><tr>
<td>10030</td><td>   MCC_SET_ALTERNATE_PLAYBACK_SETTINGS</td><td>BOOL bAlternateSettings (-1 toggles)</td>
+
<td>10030</td><td>MCC_SET_ALTERNATE_PLAYBACK_SETTINGS</td><td>BOOL bAlternateSettings (-1 toggles)</td>
 
</tr><tr>
 
</tr><tr>
<td>10031</td><td>   MCC_SET_PREVIEW_MODE_SETTINGS</td><td>low 12 bits: int nDurationSeconds, high 12 bits: int nStartSeconds</td>
+
<td>10031</td><td>MCC_SET_PREVIEW_MODE_SETTINGS</td><td>low 12 bits: int nDurationSeconds, high 12 bits: int nStartSeconds</td>
 
</tr><tr>
 
</tr><tr>
<td>10032</td><td>   MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENU</td><td>screen point (loword: x, hiword: y) -- must send directly</td>
+
<td>10032</td><td>MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENU</td><td>screen point (loword: x, hiword: y) -- must send directly</td>
 
</tr><tr>
 
</tr><tr>
<td>10033</td><td>   MCC_DVD_MENU</td><td>ignore</td>
+
<td>10033</td><td>MCC_DVD_MENU</td><td>ignore</td>
 
</tr><tr>
 
</tr><tr>
<td>10034</td><td>   MCC_SEEK_FORWARD</td><td>int nMilliseconds (0 means default -- varies depending on playback type)</td>
+
<td>10034</td><td>MCC_SEEK_FORWARD</td><td>int nMilliseconds (0 means default -- varies depending on playback type)</td>
 
</tr><tr>
 
</tr><tr>
<td>10035</td><td>   MCC_SEEK_BACK</td><td>int nMilliseconds (0 means default -- varies depending on playback type)</td>
+
<td>10035</td><td>MCC_SEEK_BACK</td><td>int nMilliseconds (0 means default -- varies depending on playback type)</td>
 
</tr><tr>
 
</tr><tr>
 
<td>10036</td><td>MCC_STOP_AFTER_CURRENT_FILE </td><td>BOOL bStopAfterCurrentFile (-1 toggles)</td>
 
<td>10036</td><td>MCC_STOP_AFTER_CURRENT_FILE </td><td>BOOL bStopAfterCurrentFile (-1 toggles)</td>
 
</tr><tr>
 
</tr><tr>
<td>10037</td><td>MCC_DETACH_DISPLAY     </td><td>BOOL bDetach (-1 toggles)</td>
+
<td>10037</td><td>MCC_DETACH_DISPLAY</td><td>BOOL bDetach (-1 toggles)</td>
 
</tr><tr>
 
</tr><tr>
<td>10038</td><td>MCC_SET_MODE_ZONE_SPECIFIC     </td><td> UI_MODES Mode </td>
+
<td>10038</td><td>MCC_SET_MODE_ZONE_SPECIFIC</td><td>UI_MODES Mode</td>
 +
</tr><tr>
 +
<td>10039</td><td>MCC_STOP_INTERNAL</td><td>ignore</td>
 +
</tr><tr>
 +
<td>10040</td><td>MCC_PLAYING_NOW_REMOVE_DUPLICATES</td><td>ignore</td>
 +
</tr><tr>
 +
<td>10040</td><td>MCC_SHUFFLE_REMAINING</td><td>ignore</td>
 
</tr>
 
</tr>
 
</table>
 
</table>

Revision as of 23:13, 24 January 2008

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'.

The full, C++ header (may be newer than the wiki) is available in the SDK (in the Shared directory as MCCommands.h): Download the SDK

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

How To Issue Media Core Commands

  • Post a WM_MC_COMMAND based message to the MC frame

C++ Example:

HWND hwndMC = FindWindow(_T("MJFrame"), NULL);
PostMessage(hwndMC, WM_MC_COMMAND, MCC_PLAY_PAUSE, 0);
  • Fire the same command through the launcher (i.e. 'MC12.exe') in the system directory
MC12.exe /MCC 10000, 0


MC Commands

Playback

Note: See the Zones section below for how to issue these commands to a specific Zone.

EnumCommandParameter
10000MCC_PLAY_PAUSEignore
10001MCC_PLAYignore
10002MCC_STOPBOOL bDisplayWarning
10003MCC_NEXTBOOL bNotActualNext
10004MCC_PREVIOUSignore
10005MCC_SHUFFLE0: toggle shuffle; 1: shuffle, jump to PN; 2: shuffle, no jump; 3..5: set mode
10006MCC_CONTINUOUS0: toggle continuous; 1: off; 2: playlist; 3: song
10007MCC_OBSOLETE_10007ignore
10008MCC_FAST_FORWARDint nRate
10009MCC_REWINDint nRate
10010MCC_STOP_CONDITIONALignore
10011MCC_SET_ZONEint nZoneIndex (-1 toggles forward, -2 toggles backwards)
10012MCC_TOGGLE_DISPLAYBOOL bExcludeTheaterView
10013MCC_SHOW_WINDOW,BOOL bJumpToPlayingNow
10014MCC_MINIMIZE_WINDOWignore
10015MCC_PLAY_CPLDB_INDEXint nIndex
10016MCC_SHOW_DSP_STUDIOignore
10017MCC_VOLUME_MUTE0: toggle; 1: mute; 2: unmute
10018MCC_VOLUME_UPint nDeltaPercent
10019MCC_VOLUME_DOWNint nDeltaPercent
10020MCC_VOLUME_SETint nPercent
10021MCC_SHOW_PLAYBACK_OPTIONSignore
10022MCC_SET_PAUSEBOOL bPause (-1 toggles)
10023MCC_SET_CURRENTLY_PLAYING_RATINGint nRating (0 means ?)
10024MCC_SHOW_PLAYBACK_ENGINE_MENUscreen point (loword: x, hiword: y) -- must send directly
10025MCC_PLAY_NEXT_PLAYLISTignore
10026MCC_PLAY_PREVIOUS_PLAYLISTignore
10027MCC_MAXIMIZE_WINDOWignore
10028MCC_RESTORE_WINDOWignore
10029MCC_SET_PLAYERSTATUSPLAYER_STATUS_CODES Code
10030MCC_SET_ALTERNATE_PLAYBACK_SETTINGSBOOL bAlternateSettings (-1 toggles)
10031MCC_SET_PREVIEW_MODE_SETTINGSlow 12 bits: int nDurationSeconds, high 12 bits: int nStartSeconds
10032MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENUscreen point (loword: x, hiword: y) -- must send directly
10033MCC_DVD_MENUignore
10034MCC_SEEK_FORWARDint nMilliseconds (0 means default -- varies depending on playback type)
10035MCC_SEEK_BACKint nMilliseconds (0 means default -- varies depending on playback type)
10036MCC_STOP_AFTER_CURRENT_FILE BOOL bStopAfterCurrentFile (-1 toggles)
10037MCC_DETACH_DISPLAYBOOL bDetach (-1 toggles)
10038MCC_SET_MODE_ZONE_SPECIFICUI_MODES Mode
10039MCC_STOP_INTERNALignore
10040MCC_PLAYING_NOW_REMOVE_DUPLICATESignore
10040MCC_SHUFFLE_REMAININGignore

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_PRINT_IMAGES MFKEY nKey (-1 for selected files)
20016 MCC_PRINT, ignore
20017 MCC_PRINT_PAGESETUP, ignore
20018 MCC_BROADCAST_PLAYLIST, int nPlaylistID
20019 MCC_STOP_BROADCAST_PLAYLIST int nPlaylistID
20020 MCC_PLAYLIST_BROADCAST_OPTIONS int nPlaylistID
20021 MCC_ADCAST_PLAYLIST, int nPlaylistID
20022 MCC_STOP_ADCAST_PLAYLIST int nPlaylistID
20023 MCC_PLAYLIST_ADCAST_OPTIONS, int nPlaylistID
20024 MCC_IMPORT_PLAYLIST ignore
20025 MCC_LOAD_LIBRARY int nLibraryIndex
20026 MCC_SYNC_LIBRARY 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]
21023 MCC_EDIT_PLAYLIST [ignore]
21024 MCC_EDIT_PLAYING_NOW [ignore]
21025 MCC_EDIT_DISC_INFORMATION [ignore]
21026 MCC_EDIT_SMARTLIST [int nPlaylistID]

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 0:Toggle 1:Home 2:Playing Now 3:Audio 4:Images 5:Video 6:Playlists 7:CD & DVD 8:TV
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)
22019 MCC_SET_MODE_FOR_SECOND_INSTANCE_LAUNCH UI_MODES Mode
22020 MCC_HOME ignore
22021 MCC_ROLLUP_VIEW_HEADER [BOOL bRollup (-1: toggle)]
22022 MCC_FOCUS_SEARCH_CONTROL ignore

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_MUSICEX_MANAGER ignore
23009 MCC_PLUGIN_MANAGER,, ignore
23010 MCC_SKIN_MANAGER ignore
23011 MCC_OPTIONS int nPageID
23012 MCC_RENAME_CD_FILES, ignore
23013 MCC_WMLICENSE_MANAGER ignore
23014 MCC_SERVICES_MANAGER, ignore
23015 MCC_HANDHELD_UPLOAD loword: nDeviceSessionID (0 gets default), hiword: flags (1: sync only; 2: show warnings)
23016 MCC_HANDHELD_UPDATE_UPLOAD_WORKER_FINISHED int nDeviceSessionID
23017 MCC_HANDHELD_CLOSE_DEVICE int nDeviceSessionID
23018 MCC_HANDHELD_SHOW_OPTIONS int nDeviceSessionID
23019 MCC_HANDHELD_INFO_DUMP BOOL bShowInfo
23020 MCC_IMPORT_AUTO_RUN_NOW ignore
23021 MCC_IMPORT_AUTO_CONFIGURE ignore
23022 MCC_HANDHELD_EJECT 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_WIKI, ignore
24021 MCC_TEST, ignore
24022 MCC_SHOW_EULA, 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_OBSOLETE_25006, ignore
25007 MCC_OBSOLETE_25007, 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
25017MCC_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
25022 MCC_TREE_RENAME_PLAYLIST int nPlaylistID

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
26013 MCC_LIST_GET_LIST_POINTER ignore
26014 MCC_LIST_UPDATE_AFTER_SIZE ignore

System

27000 MCC_KEYSTROKE int nKeyCode
27001 MCC_SHUTDOWN, ignore

Playback Engine

28000 MCC_PLAYBACK_ENGINE_ZOOM_IN = 28000 [ignore]
28001 MCC_PLAYBACK_ENGINE_ZOOM_OUT [ignore]
28002 MCC_PLAYBACK_ENGINE_UP [ignore]
28003 MCC_PLAYBACK_ENGINE_DOWN [ignore]
28004 MCC_PLAYBACK_ENGINE_LEFT [ignore]
28005 MCC_PLAYBACK_ENGINE_RIGHT [ignore]
28006 MCC_PLAYBACK_ENGINE_ENTER [ignore]
28007 MCC_IMAGE_FIRST [ignore]
28008 MCC_IMAGE_LAST [ignore]
28009 MCC_IMAGE_NEXT [ignore]
28010 MCC_IMAGE_PREVIOUS [ignore]
28011 MCC_IMAGE_PAUSE_SLIDESHOW BOOL bPause (-1 toggles)
28012 MCC_IMAGE_AUTO_PAN BOOL bAutopan (-1 toggles)
28013 MCC_IMAGE_TOGGLE_EFFECT int nDelta
28014 MCC_IMAGE_RAPID_ZOOM int nRapidZoom
28015 MCC_DVD_SET_AUDIO_STREAM int nAudioStream (-1 toggles)
28016 MCC_DVD_SHOW_MENU [ignore]
28017 MCC_TV_RECORD [ignore]
28018 MCC_TV_SNAPSHOT [ignore]
28019 MCC_TV_CHANGE_STANDARD [ignore]
28020 MCC_PLAYBACK_ENGINE_OSD_VIDEO_PROC_AMP int nIndex (0 for brightness, 1 for contrast, etc. -1 cycles)
28021 MCC_PLAYBACK_ENGINE_SET_CUR_VIDEO_PROC_AMP int nStep (... -2, -1, 1, 2, etc. 0 is invalid and will default to 1)
28022 MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO -1: cycles; 0 - 8: selects individual Aspect Ratio Modes
28023 MCC_PLAYBACK_ENGINE_SCROLL_UP, [ignore]
28024 MCC_PLAYBACK_ENGINE_SCROLL_DOWN, [ignore]
28025 MCC_PLAYBACK_ENGINE_SCROLL_LEFT [ignore]
28026 MCC_PLAYBACK_ENGINE_SCROLL_RIGHT [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_CONFIGURE_THEATER_VIEW, ignore
30013 MCC_SET_STATUSTEXT, wchar * pstrText (note: memory will be deleted by receiver)
30014 MCC_UPDATE_UI_AFTER_ACTIVE_WINDOW_CHANGE, ignore
30015 MCC_REENUM_PORTABLE_DEVICES, BOOL bDeviceConnected
30016 MCC_PLAY_ADVANCED, PLAY_COMMAND * pCommand (deleted by receiver)
30017 MCC_UPDATE_STATUS_BAR, ignore
30018 MCC_REQUEST_PODCAST_UPDATE ignore
30019 MCC_REQUEST_PODCAST_PURGE ignore
30020 MCC_AUDIBLE_ACTIVATE_PC BOOL bActivate (TRUE: activate, FALSE: deactivate)]

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

These are used internally (they get routed in the 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_BEFORE_VIEW_INDEX_CHANGED, ignore
34003 MCC_NOTIFY_VIEW_INDEX_CHANGED, ignore
34004 MCC_NOTIFY_PLAYER_INFO_CHANGED, PLAYER_INFO_CHANGES nChange
34005 MCC_NOTIFY_TOOLTIPS_CHANGED, BOOL bEnabled
34006 MCC_NOTIFY_OPTIONS_CHANGED, ignore
34007 MCC_UPDATE, int nFlags
34008 MCC_NOTIFY_FOCUS_CHANGED, ignore
34009 MCC_SAVE_PROPERTIES, UI_MODES NewMode
34010 MCC_NOTIFY_SELECTION_CHANGED, HWND hwndSource
34011 MCC_NOTIFY_FILE_CHANGED, int nMFKey (-1: invalidates all files)
34012 MCC_NOTIFY_FILE_STATUS_CHANGED, int nMFKey (-1: invalidates all files)
34013 MCC_NOTIFY_FILE_ENSURE_VISIBLE, int nMFKey
34014 MCC_NOTIFY_GET_TAB_HWNDS, ignore
34015 MCC_NOTIFY_BURNER_QUEUE_CHANGED, int nFlags (1: folder change)
34016 MCC_NOTIFY_BURNER_PROGRESS_CHANGED, int nPercentage
34017 MCC_NOTIFY_BURNER_STATUS_CHANGED, LPCTSTR pStatus
34018 MCC_NOTIFY_BURNER_STARTED, ignore
34019 MCC_NOTIFY_BURNER_FINISHED, ignore
34020 MCC_NOTIFY_BURNER_FAILED, LPCTSTR pError
34021 MCC_NOTIFY_BURNER_CLOSE_UI, ignore
34022 MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPY, LPCTSTR pStatus
34023 MCC_NOTIFY_RIP_STARTED, ignore
34024 MCC_NOTIFY_RIP_FINISHED, ignore
34025 MCC_NOTIFY_RIP_FAILED, LPCTSTR pError
34026 MCC_NOTIFY_RIP_PROGRESS_CHANGED, ignore
34027 MCC_NOTIFY_RIP_QUEUE_CHANGED, ignore
34028 MCC_NOTIFY_DVD_RIP_STARTED, ignore
34029 MCC_NOTIFY_DVD_RIP_FINISHED, ignore
34030 MCC_NOTIFY_DVD_RIP_FAILED, int nErrorCode
34031 MCC_NOTIFY_DVD_RIP_PROGRESS_CHANGED, int nPercent
34032 MCC_NOTIFY_DOWNLOAD_FINISHED, int nMFKey (-1: unknown)
34033 MCC_NOTIFY_DOWNLOAD_FAILED, int nMFKey (-1: unknown)
34034 MCC_NOTIFY_DOWNLOAD_STATUS_CHANGED, LPCTSTR pStatus
34035 MCC_NOTIFY_STATUS_CHECKER_COMPLETE, ignore
34036 MCC_NOTIFY_ZONE_CHANGED, ignore
34037 MCC_NOTIFY_DISPLAY_OWNER_CHANGED, HWND hwndOwner
34038 MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOW, ignore
34039 MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATE, ignore
34040 MCC_NOTIFY_PROCESS_TIME_REMAINING, int nSecondsRemaining
34041 MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATES, ignore
34042 MCC_NOTIFY_UI_SKIN_CHANGED, ignore
34043 MCC_UPDATE_WINDOW_LAYOUT, ignore
34044 MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWN, ignore
34045 MCC_NOTIFY_UPDATE_CONTROL_BARS, ignore
34046 MCC_NOTIFY_PLAYLIST_FILES_CHANGED, int nPlaylistID
34047 MCC_NOTIFY_PLAYLIST_INFO_CHANGED, int nPlaylistID
34048 MCC_NOTIFY_PLAYLIST_ADDED_INTERNAL, int nPlaylistID
34049 MCC_NOTIFY_PLAYLIST_ADDED_BY_USER, int nPlaylistID
34050 MCC_NOTIFY_PLAYLIST_REMOVED, int nPlaylistID
34051 MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGED, ignore
34052 MCC_NOTIFY_PLAYLIST_PROPERTIES_CHANGED, int nPlaylistID
34053 MCC_NOTIFY_HANDHELD_UPLOAD_STARTED, int nDeviceSessionID (0 gets default)
34054 MCC_NOTIFY_HANDHELD_NEW_DEVICE_ARRIVED, int nDeviceSessionID
34055 MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGED, ignore
34056 MCC_NOTIFY_HANDHELD_QUEUE_CHANGED, ignore
34057 MCC_NOTIFY_HANDHELD_INFO_COMPLETE, ignore
34058 MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHED, ignore
34059 MCC_NOTIFY_COMPACT_MEMORY, ignore
34060 MCC_NOTIFY_SEARCH_CHANGED, ignore
34061 MCC_NOTIFY_SEARCH_CONTEXT_CHANGED, ignore
34062 MCC_NOTIFY_UPDATE_SHOPPING_CART, CServicePlugin * pServicePlugin
34063 MCC_NOTIFY_UPDATE_NAVIGATION_TRAIL, ignore
34064 MCC_NOTIFY_IMPORT_STARTED, BOOL bSilent
34065 MCC_NOTIFY_IMPORT_FINISHED, BOOL bSilent
34066 MCC_NOTIFY_ROTATED_IMAGES, MFKEY nKey
34067 MCC_NOTIFY_SERVICE_LOGIN_STATE_CHANGE, BOOL bLoggedIn
34068 MCC_NOTIFY_MYGAL_PROGRESS, ignore
34069 MCC_NOTIFY_MYGAL_DONE, ignore

Zones

To issue a Playback command to a specific zone, mask these values with the parameter:

Current: 0         (0x00000000 hex)
Zone 0:  16777216  (0x01000000 hex)
Zone 1:  33554432  (0x02000000 hex)
Zone 2:  50331648  (0x03000000 hex)
Zone 3:  67108864  (0x04000000 hex)
Zone 4:  83886080  (0x05000000 hex)
Zone 5:  100663296 (0x06000000 hex)
...
Zone 31: 520093696 (0x1F000000 hex)

For the geeks, the actual parameter is bits 0-23 and the Zone is bits 24-29 of the 32-bit parameter (see the C++ macros below if you like). If bit 32 is set, Media Center assumes you passed in a simple negative number, so the Zone portion is discarded.

Creating the final parameter value:

For parameters >= 0
 final parameter value = Zone mask + parameter

For parameters < 0
 final parameter value = Zone mask + (16777216 + parameter)

Example:

parameter -1 to Zone 3: 67108864 + (16777216 + -1) = 83886079
Zone: OperationMCC CommandWparamLparam
Z0: Play/PauseMCC_PLAY_PAUSE10000 16777216
Z0: Play Track from BeginningMCC_PLAY10001 16777216
Z0: StopMCC_STOP10002 16777216
Z0: NextMCC_NEXT10003 16777216
Z0: PreviousMCC_PREVIOUS10004 16777216
Z0: Shuffle Mode-ToggleMCC_SHUFFLE10005 16777216
Z0: ReShuffle-Jump to PNMCC_SHUFFLE1000516777217
Z0: ReShuffle-No Jump to PNMCC_SHUFFLE1000516777218
Z0: Continuous Mode-ToggleMCC_CONTINUOUS10006 16777216
Z0: FFMCC_FAST_FORWARD10008 16777216
Z0: RewMCC_REWIND10009 16777216
Z0: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 16777216
Z0: MuteMCC_VOLUME_MUTE10017 16777216
Z0: Vol +5MCC_VOLUME_UP1001816777221
Z0: Vol -5MCC_VOLUME_DOWN1001916777221
Z0: Vol 0MCC_VOLUME_SET10020 16777216
Z0: Vol 25MCC_VOLUME_SET1002016777241
Z0: Vol 50MCC_VOLUME_SET1002016777266
Z0: Vol 75MCC_VOLUME_SET1002016777291
Z0: Vol 100MCC_VOLUME_SET1002016777316
Z0: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 16777216
Z0: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING1002316777217
Z0: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING1002316777218
Z0: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING1002316777219
Z0: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING1002316777220
Z0: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING1002316777221
 
Z1: Play/PauseMCC_PLAY_PAUSE10000 33554432
Z1: Play Track from BeginningMCC_PLAY10001 33554432
Z1: StopMCC_STOP10002 33554432
Z1: NextMCC_NEXT10003 33554432
Z1: PreviousMCC_PREVIOUS10004 33554432
Z1: Shuffle Mode-ToggleMCC_SHUFFLE10005 33554432
Z1: ReShuffle-Jump to PNMCC_SHUFFLE1000533554433
Z1: ReShuffle-No Jump to PNMCC_SHUFFLE1000533554434
Z1: Continuous Mode-ToggleMCC_CONTINUOUS10006 33554432
Z1: FFMCC_FAST_FORWARD10008 33554432
Z1: RewMCC_REWIND10009 33554432
Z1: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 33554432
Z1: MuteMCC_VOLUME_MUTE10017 33554432
Z1: Vol +5MCC_VOLUME_UP1001833554437
Z1: Vol -5MCC_VOLUME_DOWN1001933554437
Z1: Vol 0MCC_VOLUME_SET10020 33554432
Z1: Vol 25MCC_VOLUME_SET1002033554457
Z1: Vol 50MCC_VOLUME_SET1002033554482
Z1: Vol 75MCC_VOLUME_SET1002033554507
Z1: Vol 100MCC_VOLUME_SET1002033554532
Z1: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 33554432
Z1: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING1002333554433
Z1: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING1002333554434
Z1: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING1002333554435
Z1: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING1002333554436
Z1: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING1002333554437
 
Z2: Play/PauseMCC_PLAY_PAUSE10000 50331648
Z2: Play Track from BeginningMCC_PLAY10001 50331648
Z2: StopMCC_STOP10002 50331648
Z2: NextMCC_NEXT10003 50331648
Z2: PreviousMCC_PREVIOUS10004 50331648
Z2: Shuffle Mode-ToggleMCC_SHUFFLE10005 50331648
Z2: ReShuffle-Jump to PNMCC_SHUFFLE1000550331649
Z2: ReShuffle-No Jump to PNMCC_SHUFFLE1000550331650
Z2: Continuous Mode-ToggleMCC_CONTINUOUS10006 50331648
Z2: FFMCC_FAST_FORWARD10008 50331648
Z2: RewMCC_REWIND10009 50331648
Z2: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 50331648
Z2: MuteMCC_VOLUME_MUTE10017 50331648
Z2: Vol +5MCC_VOLUME_UP1001850331653
Z2: Vol -5MCC_VOLUME_DOWN1001950331653
Z2: Vol 0MCC_VOLUME_SET10020 50331648
Z2: Vol 25MCC_VOLUME_SET1002050331673
Z2: Vol 50MCC_VOLUME_SET1002050331698
Z2: Vol 75MCC_VOLUME_SET1002050331723
Z2: Vol 100MCC_VOLUME_SET1002050331748
Z2: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 50331648
Z2: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING1002350331649
Z2: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING1002350331650
Z2: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING1002350331651
Z2: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING1002350331652
Z2: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING1002350331653
 
Z3: Play/PauseMCC_PLAY_PAUSE1000067108864
Z3: Play Track from BeginningMCC_PLAY10001 67108864
Z3: StopMCC_STOP10002 67108864
Z3: NextMCC_NEXT10003 67108864
Z3: PreviousMCC_PREVIOUS10004 67108864
Z3: Shuffle Mode-ToggleMCC_SHUFFLE10005 67108864
Z3: ReShuffle-Jump to PNMCC_SHUFFLE1000567108865
Z3: ReShuffle-No Jump to PNMCC_SHUFFLE1000567108866
Z3: Continuous Mode-ToggleMCC_CONTINUOUS10006 67108864
Z3: FFMCC_FAST_FORWARD10008 67108864
Z3: RewMCC_REWIND10009 67108864
Z3: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 67108864
Z3: MuteMCC_VOLUME_MUTE10017 67108864
Z3: Vol +5MCC_VOLUME_UP1001867108869
Z3: Vol -5MCC_VOLUME_DOWN1001967108869
Z3: Vol 0MCC_VOLUME_SET10020 67108864
Z3: Vol 25MCC_VOLUME_SET1002067108889
Z3: Vol 50MCC_VOLUME_SET1002067108914
Z3: Vol 75MCC_VOLUME_SET1002067108939
Z3: Vol 100MCC_VOLUME_SET1002067108964
Z3: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 67108864
Z3: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING1002367108865
Z3: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING1002367108866
Z3: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING1002367108867
Z3: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING1002367108868
Z3: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING1002367108869
 
Z4: Play/PauseMCC_PLAY_PAUSE10000 83886080
Z4: Play Track from BeginningMCC_PLAY10001 83886080
Z4: StopMCC_STOP10002 83886080
Z4: NextMCC_NEXT10003 83886080
Z4: PreviousMCC_PREVIOUS10004 83886080
Z4: Shuffle Mode-ToggleMCC_SHUFFLE10005 83886080
Z4: ReShuffle-Jump to PNMCC_SHUFFLE1000583886081
Z4: ReShuffle-No Jump to PNMCC_SHUFFLE1000583886082
Z4: Continuous Mode-ToggleMCC_CONTINUOUS10006 83886080
Z4: FFMCC_FAST_FORWARD10008 83886080
Z4: RewMCC_REWIND10009 83886080
Z4: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 83886080
Z4: MuteMCC_VOLUME_MUTE10017 83886080
Z4: Vol +5MCC_VOLUME_UP1001883886085
Z4: Vol -5MCC_VOLUME_DOWN1001983886085
Z4: Vol 0MCC_VOLUME_SET10020 83886080
Z4: Vol 25MCC_VOLUME_SET1002083886105
Z4: Vol 50MCC_VOLUME_SET1002083886130
Z4: Vol 75MCC_VOLUME_SET1002083886155
Z4: Vol 100MCC_VOLUME_SET1002083886180
Z4: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 83886080
Z4: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING1002383886081
Z4: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING1002383886082
Z4: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING1002383886083
Z4: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING1002383886084
Z4: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING1002383886085
 
Z5: Play/PauseMCC_PLAY_PAUSE10000 100663296
Z5: Play Track from BeginningMCC_PLAY10001 100663296
Z5: StopMCC_STOP10002 100663296
Z5: NextMCC_NEXT10003 100663296
Z5: PreviousMCC_PREVIOUS10004 100663296
Z5: Shuffle Mode-ToggleMCC_SHUFFLE10005 100663296
Z5: ReShuffle-Jump to PNMCC_SHUFFLE10005100663297
Z5: ReShuffle-No Jump to PNMCC_SHUFFLE10005100663298
Z5: Continuous Mode-ToggleMCC_CONTINUOUS10006 100663296
Z5: FFMCC_FAST_FORWARD10008 100663296
Z5: RewMCC_REWIND10009 100663296
Z5: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 100663296
Z5: MuteMCC_VOLUME_MUTE10017 100663296
Z5: Vol +5MCC_VOLUME_UP10018100663301
Z5: Vol -5MCC_VOLUME_DOWN10019100663301
Z5: Vol 0MCC_VOLUME_SET10020 100663296
Z5: Vol 25MCC_VOLUME_SET10020100663321
Z5: Vol 50MCC_VOLUME_SET10020100663346
Z5: Vol 75MCC_VOLUME_SET10020100663371
Z5: Vol 100MCC_VOLUME_SET10020100663396
Z5: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 100663296
Z5: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING10023100663297
Z5: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING10023100663298
Z5: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING10023100663299
Z5: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING10023100663300
Z5: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING10023100663301

Other Defines

// the WM_APP based message (WM_APP = 32768, so WM_MC_COMMAND = 33768)
#define WM_MC_COMMAND (WM_APP + 1000)

// extended MC_COMMAND message that takes a structure with extra information (internal use only)
#define WM_MC_COMMAND_EX (WM_APP + 1001)

// return value for unhandled MCC commands
#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

#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))
#define IS_MCC_COMMAND_IN_SECTION(INDEX, FIRST) IS_MCC_COMMAND_IN_RANGE(INDEX, FIRST, FIRST + 1000)
#define IS_VALID_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_RANGE(INDEX, MCC_FIRST, MCC_LAST)
#define IS_PLAYBACK_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_PLAYBACK_SECTION)
#define IS_FILE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_FILE_SECTION)
#define IS_EDIT_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_EDIT_SECTION)
#define IS_VIEW_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_VIEW_SECTION)
#define IS_TOOL_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_TOOLS_SECTION)
#define IS_HELP_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_HELP_SECTION)
#define IS_TREE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_TREE_SECTION)
#define IS_LIST_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_LIST_SECTION)
#define IS_SYSTEM_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_SYSTEM_SECTION)
#define IS_PLAYBACK_ENGINE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_PLAYBACK_ENGINE_SECTION)
#define IS_IMAGE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_IMAGE_SECTION)
#define IS_INTERNAL_COMMAND_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_COMMANDS_SECTION)
#define IS_NOTIFY_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_NOTIFICATIONS_SECTION)
#define IS_CUSTOMIZATION_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_RANGE(INDEX, MCC_FIRST + MCC_CUSTOMIZATION_OFFSET, MCC_LAST + MCC_CUSTOMIZATION_OFFSET)

#define MAKE_MCC_PLAYBACK_PARAM(PARAM, ZONE) (((ZONE) == -1) ? ((PARAM) & 0x00FFFFFF) : ((((ZONE) + 1) << 24) & 0xFF000000) | ((PARAM) & 0x00FFFFFF))
#define GET_MCC_PLAYBACK_PARAM(PARAM) (((PARAM) & 0x400000) ? ((PARAM) & 0xFFFFFF) - 0x1000000 : ((PARAM) & 0xFFFFFF))
#define GET_MCC_PLAYBACK_ZONE(PARAM) (((PARAM) & 0x80000000) ? -1 : (((PARAM) >> 24) - 1))

For Internal Use

// update flags
#define MCC_UPDATE_FLAG_THUMBNAILS                           (1 << 0)
#define MCC_UPDATE_FLAG_FILE_PROPERTIES                      (1 << 1)
#define MCC_UPDATE_FLAG_FILE_ADDED_OR_REMOVED                (1 << 2)
#define MCC_UPDATE_FLAG_TREE_STRUCTURE                       (1 << 3)
#define MCC_UPDATE_FLAG_REFILL_LIST                          (1 << 4)
#define MCC_UPDATE_FLAG_ITEM_DELETED                         (1 << 5)
#define MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE               (1 << 6)
#define MCC_UPDATE_FLAG_WEB_VIEW                             (1 << 7)

// update all
#define MCC_UPDATE_FLAG_ALL                                  (0x7FFFFFFF & ~(MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE))

// UI modes
enum UI_MODES
{
    // unknown
    UI_MODE_UNKNOWN = -2000,

    // internal modes
    UI_MODE_INTERNAL_NO_UI = -1000,
    UI_MODE_INTERNAL_STANDARD,
    UI_MODE_INTERNAL_MINI_FREEFORM,
    UI_MODE_INTERNAL_MINI_SLIM,
    UI_MODE_INTERNAL_DISPLAY_WINDOWED,
    UI_MODE_INTERNAL_DISPLAY_FULLSCREEN,
    UI_MODE_INTERNAL_THEATER,

    // toggles, shortcuts, etc.
    UI_MODE_SHORTCUT_TOGGLE_DISPLAY_AND_LAST_USER_INPUT_MODE = -7,
    UI_MODE_SHORTCUT_TOGGLE_DISPLAY_EXCLUDE_THEATER_VIEW = -6,
    UI_MODE_SHORTCUT_TOGGLE_DISPLAY = -5,
    UI_MODE_SHORTCUT_LAST_SHUTDOWN = -4,
    UI_MODE_SHORTCUT_CURRENT = -3,
    UI_MODE_SHORTCUT_CLOSE_DISPLAY = -2,
    UI_MODE_SHORTCUT_NEXT = -1,

    // modes presented to the user
    UI_MODE_STANDARD = 0,
    UI_MODE_MINI,
    UI_MODE_DISPLAY,
    UI_MODE_THEATER,
    UI_MODE_COUNT,
};

// player changes
#define PLAYER_INFO_CHANGE_ALL                               0xFFFF
#define PLAYER_INFO_CHANGE_PLAYERSTATE                       (1 << 0)
#define PLAYER_INFO_CHANGE_VOLUME                            (1 << 1)
#define PLAYER_INFO_CHANGE_FILEINFO                          (1 << 2)
#define PLAYER_INFO_CHANGE_PLAYLISTSTATE                     (1 << 3)
#define PLAYER_INFO_CHANGE_EQCHANGE                          (1 << 4)
#define PLAYER_INFO_CHANGE_IMAGE                             (1 << 5)
#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,
};