Media Center Core Commands

From wiki.jriver.com
Revision as of 21:36, 22 June 2011 by MrC (talk | contribs) (Autogenerated MC commands table from .h file)
Jump to navigation Jump to search

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 here: J. River Media Core Commands Header File

Note: You may need to save the MCCommands.h file to your hard drive for the line breaks to appear correctly.

Remember that 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
MC15.exe /MCC 10000, 0

MC Commands

Playback

Range: 10,000 to 20,000

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 mode; 1: shuffle, jump to PN; 2: shuffle, no jump; 3: off; 4: on; 5:automatic
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_WINDOWBOOL 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_FILEBOOL bStopAfterCurrentFile (-1 toggles)
10037MCC_DETACH_DISPLAYBOOL bDetach (-1 toggles)
10038MCC_SET_MODE_ZONE_SPECIFICUI_MODES Mode
10039MCC_STOP_INTERNALignore
10040MCC_PLAYING_NOW_REMOVE_DUPLICATESignore
10041MCC_SHUFFLE_REMAININGignore
10042MCC_PLAY_FIRST_FILEignore
10043MCC_PLAY_LAST_FILEignore
10044MCC_PLAY_FILE_BY_STRINGBSTR bstrFile (deleted by receiver)
10045MCC_PLAY_FILE_AGAINignore
10046MCC_HANDLE_PLAYBACK_ERRORignore
10047MCC_PLAY_RADIOBOOL bShowDialog
10048MCC_SEEKint nPositionMilliseconds

File

Range: 20,000 to 21,000

EnumCommandParameter
20000MCC_OPEN_FILEignore
20001MCC_OPEN_URLignore
20002MCC_PRINT_LISTignore
20003MCC_EXPORT_PLAYLISTint nPlaylistID (-1 for active view)
20004MCC_EXPORT_ALL_PLAYLISTSBOOL bSilent
20005MCC_UPLOAD_FILESignore
20006MCC_EMAIL_FILESignore
20007MCC_EXITint nMode (0: normal, 1: force close (close media server), 2: force close (allow media server))
20008MCC_UPDATE_LIBRARYignore
20009MCC_CLEAR_LIBRARYignore
20010MCC_EXPORT_LIBRARYignore
20011MCC_BACKUP_LIBRARYignore
20012MCC_RESTORE_LIBRARYignore
20013MCC_LIBRARY_MANAGERignore
20014MCC_IMAGE_ACQUIREignore
20015MCC_PRINT_IMAGESMFKEY nKey (-1 for selected files)
20016MCC_PRINTignore
20017MCC_OBSOLETE_20017ignore
20018MCC_OBSOLETE_20018ignore
20019MCC_OBSOLETE_20019ignore
20020MCC_OBSOLETE_20020ignore
20021MCC_OBSOLETE_20021ignore
20022MCC_OBSOLETE_20022ignore
20023MCC_OBSOLETE_20023ignore
20024MCC_IMPORT_PLAYLISTignore
20025MCC_LOAD_LIBRARYint nLibraryIndex
20026MCC_SYNC_LIBRARYignore
20027MCC_EMAIL_PODCAST_FEEDignore
20028MCC_LOAD_LIBRARY_READ_ONLYint nLibraryIndex
20029MCC_CONNECT_LIBRARYignore
20030MCC_EXPORT_ITUNESignore
20031MCC_DISCONNECT_LIBRARYignore
20032MCC_SYNC_WITH_LIBRARY_SERVERignore

Edit

Range: 21,000 to 22,000

EnumCommandParameter
21000MCC_COPYignore
21001MCC_PASTEignore
21002MCC_SELECT_ALLignore
21003MCC_SELECT_INVERTignore
21004MCC_DELETEBOOL bAggressive
21005MCC_RENAMEignore
21006MCC_UNDOignore
21007MCC_REDOignore
21008MCC_QUICK_SEARCHBOOL bRepeatLastSearch
21009MCC_ADD_PLAYLISTMEDIAFILE_INFO_ARRAY * paryFiles = NULL
21010MCC_ADD_SMARTLISTignore
21011MCC_ADD_PLAYLIST_GROUPignore
21012MCC_PROPERTIESMEDIAFILE_INFO_ARRAY * paryFiles = NULL (-1 toggles) (note: never PostMessage(...) a pointer)
21013MCC_TOGGLE_TAGGING_MODEignore
21014MCC_CUTignore
21015MCC_DESELECT_ALLignore
21016MCC_DELETE_ALLBOOL bAggressive
21017MCC_ADD_PODCAST_FEEDignore
21018MCC_EDIT_PODCAST_FEEDignore
21019MCC_ADD_PODCAST_DEFAULTSignore
21020MCC_CREATE_STOCK_SMARTLISTSignore
21021MCC_ENABLE_PODCAST_DOWNLOADignore
21022MCC_DISABLE_PODCAST_DOWNLOADignore
21023MCC_EDIT_PLAYLISTignore
21024MCC_EDIT_PLAYING_NOWignore
21025MCC_EDIT_DISC_INFORMATIONignore
21026MCC_EDIT_SMARTLISTint nPlaylistID
21027MCC_REFRESH_PODCAST_FEEDignore
21028MCC_LOOKUP_MOVIE_INFORMATIONignore

View

Range: 22,000 to 23,000

EnumCommandParameter
22000MCC_TOGGLE_MODE-1: Next Mode, 0: Standard, 1: Mini, 2: Display, 3: Theater View, 4: Cover View
22001MCC_THEATER_VIEW0:Toggle, 1:Home, 2:Playing Now, 3:Audio, 4:Images, 5:Video, 6:Playlists, 7:CD & DVD, 8:TV
22002MCC_PARTY_MODEignore
22003MCC_SHOW_TREE_ROOTint nTreeRootIndex
22004MCC_FIND_MEDIAwchar * pstrSearch (note: memory will be deleted by receiver)
22005MCC_BACKint nLevels (0 does 1 level)
22006MCC_FORWARDint nLevels (0 does 1 level)
22007MCC_REFRESHint nFlags (1: no webpage refresh)
22008MCC_SET_LIST_STYLEint nListStyle (-1 toggles)
22009MCC_SET_MODE-3: Current Mode (update settings), -2: Close Display, -1: Next Mode, 0: Standard, 1: Mini, 2: Display, 3: Theater View, 4: Cover View
22010MCC_SHOW_ARTISTINFOignore
22011MCC_SHOW_FINDCDignore
22012MCC_SHOW_RECENTLYIMPORTEDignore
22013MCC_SHOW_TOPHITSignore
22014MCC_SHOW_RECENTLYPLAYEDignore
22015MCC_SET_MEDIA_MODEint nMediaMode
22016MCC_CONFIGURE_ACCESS_CONTROLignore
22017MCC_SET_SERVER_MODEBOOL bServerMode
22018MCC_SET_MODE_FOR_EXTERNAL_PROGRAM_LAUNCHint nType (0: starting external app, 1: ending external app)
22019MCC_SET_MODE_FOR_SECOND_INSTANCE_LAUNCHUI_MODES Mode
22020MCC_HOMEignore
22021MCC_ROLLUP_VIEW_HEADERBOOL bRollup (-1: toggle)
22022MCC_FOCUS_SEARCH_CONTROLignore
22023MCC_SET_ACTIVE_VIEW_KEYint nViewKey (-1: toggle, -2: toggle backwards, -3: new view)
22024MCC_CLOSE_VIEW_KEYint nViewKey (-1: current view)
22025MCC_VIEW_ZOOM_SETint nZoomPercentage
22026MCC_VIEW_ZOOM_INCREMENTint nZoomDeltaPercentage

Tools

Range: 23,000 to 24,000

EnumCommandParameter
23000MCC_IMPORTint nFlags (1: bDisableAlreadyRunningWarning, 2: bFirstImportMode)
23001MCC_RIP_CDignore
23002MCC_BURNignore
23003MCC_RECORD_AUDIOignore
23004MCC_CONVERTignore
23005MCC_ANALYZE_AUDIOignore
23006MCC_MEDIA_EDITORignore
23007MCC_CD_LABELERignore
23008MCC_MUSICEX_MANAGERignore
23009MCC_PLUGIN_MANAGERignore
23010MCC_SKIN_MANAGERignore
23011MCC_OPTIONSint nPageID
23012MCC_RENAME_CD_FILESignore
23013MCC_WMLICENSE_MANAGERignore
23014MCC_OBSOLETE_23014ignore
23015MCC_HANDHELD_UPLOADloword: nDeviceSessionID (0 gets default), hiword: flags (1: sync only; 2: show warnings)
23016MCC_HANDHELD_UPDATE_UPLOAD_WORKER_FINISHEDint nDeviceSessionID
23017MCC_HANDHELD_CLOSE_DEVICEint nDeviceSessionID
23018MCC_HANDHELD_SHOW_OPTIONSint nDeviceSessionID
23019MCC_HANDHELD_INFO_DUMPBOOL bShowInfo
23020MCC_IMPORT_AUTO_RUN_NOWBOOL bSilent
23021MCC_IMPORT_AUTO_CONFIGUREignore
23022MCC_HANDHELD_EJECTint nDeviceSessionID
23023MCC_RECORD_TVignore
23024MCC_FIND_AND_REPLACEignore
23025MCC_CLEAN_PROPERTIESignore
23026MCC_FILL_TRACK_ORDERignore
23027MCC_MOVE_COPY_FIELDSignore
23028MCC_REMOVE_TAGSignore
23029MCC_UPDATE_TAGS_FROM_DBignore
23030MCC_UPDATE_DB_FROM_TAGSignore
23031MCC_LOOKUP_TRACK_INFO_FROM_INTERNETignore
23032MCC_SUBMIT_TRACK_INFO_TO_INTERNETignore
23033MCC_GRACENOTE_MORE_LIKE_THIS_SONGignore
23034MCC_FILL_PROPERTIES_FROM_FILENAMEignore
23035MCC_RENAME_FILES_FROM_PROPERTIESignore
23036MCC_COVER_ART_ADD_FROM_FILEignore
23037MCC_COVER_ART_QUICK_ADD_FROM_FILEignore
23038MCC_COVER_ART_GET_FROM_INTERNETignore
23039MCC_COVER_ART_SUBMIT_TO_INTERNETignore
23040MCC_COVER_ART_GET_FROM_SCANNERignore
23041MCC_COVER_ART_SELECT_SCANNERignore
23042MCC_COVER_ART_GET_FROM_CLIPBOARDignore
23043MCC_COVER_ART_COPY_TO_CLIPBOARDignore
23044MCC_COVER_ART_REMOVEignore
23045MCC_COVER_ART_PLAYignore
23046MCC_COVER_ART_SAVE_TO_EXTERNAL_FILEignore
23047MCC_COVER_ART_REBUILD_THUMBNAILignore

Help

Range: 24,000 to 25,000

EnumCommandParameter
24000MCC_HELP_CONTENTSignore
24001MCC_HELP_HOWTO_IMPORT_FILESignore
24002MCC_HELP_HOWTO_PLAY_FILESignore
24003MCC_HELP_HOWTO_RIPignore
24004MCC_HELP_HOWTO_BURNignore
24005MCC_HELP_HOWTO_ORGANIZE_FILESignore
24006MCC_HELP_HOWTO_VIEW_SCHEMESignore
24007MCC_HELP_HOWTO_MANAGE_PLAYLISTSignore
24008MCC_HELP_HOWTO_EDIT_PROPERTIESignore
24009MCC_HELP_HOWTO_FINDignore
24010MCC_HELP_HOWTO_CONFIGUREignore
24011MCC_CHECK_FOR_UPDATESignore
24012MCC_BUYignore
24013MCC_INSTALL_LICENSEignore
24014MCC_REGISTRATION_INFOignore
24015MCC_PLUS_FEATURESignore
24016MCC_INTERACTignore
24017MCC_SYSTEM_INFOignore
24018MCC_ABOUTignore
24019MCC_CONFIGURE_DEBUG_LOGGINGignore
24020MCC_WIKIignore
24021MCC_TESTignore
24022MCC_SHOW_EULAignore
24023MCC_BENCHMARKignore

Tree

Range: 25,000 to 26,000

EnumCommandParameter
25000MCC_ADD_VIEW_SCHEMEignore
25001MCC_EDIT_VIEW_SCHEMEignore
25002MCC_OBSOLETE_25002ignore
25003MCC_OBSOLETE_25003ignore
25004MCC_OBSOLETE_25004ignore
25005MCC_OBSOLETE_25005ignore
25006MCC_OBSOLETE_25006ignore
25007MCC_OBSOLETE_25007ignore
25008MCC_TREE_ADD_DIRECTORYignore
25009MCC_TREE_IMPORTignore
25010MCC_TREE_ADD_CD_FOLDERignore
25011MCC_UPDATE_FROM_CD_DATABASEignore
25012MCC_SUBMIT_TO_CD_DATABASEignore
25013MCC_TREE_RIPignore
25014MCC_CLEAR_PLAYING_NOW0: all files; 1: leave playing file
25015MCC_COPY_LISTENING_TOBOOL bPaste
25016MCC_TREE_SET_EXPANDED0: collapsed; 1: expanded
25017MCC_RESET_VIEW_SCHEMESignore
25018MCC_TREE_ERASE_CD_DVDignore
25019MCC_UPDATE_FROM_CDPLAYER_INIignore
25020MCC_TREE_EJECTignore
25021MCC_TREE_ADD_VIRTUAL_DEVICEignore
25022MCC_TREE_RENAME_PLAYLISTint nPlaylistID
25023MCC_TWITTER_LISTENING_TOignore

List

Range: 26,000 to 27,000

EnumCommandParameter
26000MCC_LIST_UPDATE_ORDERignore
26001MCC_LIST_SHUFFLE_ORDERignore
26002MCC_LIST_IMPORTignore
26003MCC_LIST_REMOVE_ORDERignore
26004MCC_LOCATE_FILEint nLocation (-1: on disk (internal); -2: on disk (external); 0-n: library field index)
26005MCC_LIST_MOVE_DISK_FILESignore
26006MCC_LIST_INCREMENT_SELECTIONint nDelta
26007MCC_LIST_REMOVE_DUPLICATESignore
26008MCC_LIST_AUTO_SIZE_COLUMNint nColumn, zero-based column index (-1: all)
26009MCC_LIST_CUSTOMIZE_VIEWignore
26010MCC_LIST_COPY_DISK_FILESignore
26011MCC_LIST_SET_RIP_CHECK0: uncheck, 1: check, -1: toggle
26012MCC_LIST_DOWNLOADignore
26013MCC_LIST_GET_LIST_POINTERignore
26014MCC_LOCATE_STACKignore
26015MCC_SET_AS_STACK_TOPignore
26016MCC_EXPAND_STACKignore
26017MCC_COLLAPSE_STACKignore
26018MCC_AUTOSTACK0: by name, 1: artist, album, name, 2: Artist, Album, Track # and Name
26019MCC_CHECK_STACKSignore
26020MCC_STACKint nZeroBasedSelection
26021MCC_UNSTACKignore
26022MCC_ADD_TO_STACKignore
26023MCC_PANE_RESET_SELECTIONint nPaneIndex (-1 resets all)
26024MCC_LIST_REMOVE_ALLignore
26025MCC_LIST_LOCKBOOL bLock (-1 toggles)
26026MCC_PANE_SET_EXPANDEDloword: nPaneIndex, hiword: 0: collapsed; 1: expanded

System

Range: 27,000 to 28,000

EnumCommandParameter
27000MCC_KEYSTROKEint nKeyCode
27001MCC_SHUTDOWNint nMode (0: shutdown; 1: sleep; 2: hibernate; 3: restart) (based on CSystemShutdown::EShutdownModes)

Playback Engine

Range: 28,000 to 29,000

EnumCommandParameter
28000MCC_PLAYBACK_ENGINE_ZOOM_INignore
28001MCC_PLAYBACK_ENGINE_ZOOM_OUTignore
28002MCC_PLAYBACK_ENGINE_UPignore
28003MCC_PLAYBACK_ENGINE_DOWNignore
28004MCC_PLAYBACK_ENGINE_LEFTignore
28005MCC_PLAYBACK_ENGINE_RIGHTignore
28006MCC_PLAYBACK_ENGINE_ENTERignore
28007MCC_PLAYBACK_ENGINE_FIRSTignore
28008MCC_PLAYBACK_ENGINE_LASTignore
28009MCC_PLAYBACK_ENGINE_NEXTignore
28010MCC_PLAYBACK_ENGINE_PREVIOUSignore
28011MCC_PLAYBACK_ENGINE_PAUSEBOOL bPause (-1 toggles)
28012MCC_IMAGE_PAN_AND_ZOOMBOOL bPanAndZoom (-1 toggles)
28013MCC_IMAGE_TOGGLE_EFFECTint nDelta
28014MCC_IMAGE_RAPID_ZOOMint nRapidZoom
28015MCC_DVD_SET_AUDIO_STREAMint nAudioStream (-1 toggles)
28016MCC_DVD_SHOW_MENUignore
28017MCC_TV_RECORDignore
28018MCC_TV_SNAPSHOTignore
28019MCC_TV_CHANGE_STANDARDignore
28020MCC_PLAYBACK_ENGINE_OSD_VIDEO_PROC_AMPint nIndex (0 for brightness, 1 for contrast, etc. -1 cycles)
28021MCC_PLAYBACK_ENGINE_SET_CUR_VIDEO_PROC_AMPint nStep (... -2, -1, 1, 2, etc. 0 is invalid and will default to 1)
28022MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO-1: cycles; 0 - 8: selects individual Aspect Ratio Modes
28023MCC_PLAYBACK_ENGINE_SCROLL_UPignore
28024MCC_PLAYBACK_ENGINE_SCROLL_DOWNignore
28025MCC_PLAYBACK_ENGINE_SCROLL_LEFTignore
28026MCC_PLAYBACK_ENGINE_SCROLL_RIGHTignore
28027MCC_TV_SET_SAVE_TIME_SHIFTINGint nSaveMode (0 - 6, -1 cycles by incrementing, -2 cycles by decrementing)
28028MCC_PLAYBACK_ENGINE_ZOOM_TO_PRESETint 0 to fit window, 1 for 100%, 2 for 200%
28029MCC_TV_SCAN_PROGRAMMING_EVENTSignored
28030MCC_TV_CHANGE_CHANNEL_KEYint nKey
28031MCC_TV_PLAY_CHANNEL_POSITIONint Playlist position

Other

Range: 30,000 to 31,000

EnumCommandParameter
30000MCC_RELOAD_MC_VIEWignore
30001MCC_CUSTOMIZE_TOOLBARignore
30002MCC_PLAY_TVignore
30003MCC_UPDATE_WEBPAGESignore
30004MCC_SHOW_RUNNING_MCBOOL bToggleVisibility
30005MCC_SHOW_MENUint nMenuID
30006MCC_TUNE_TVignore
30007MCC_PLAY_PLAYLISTint nPlaylistID
30008MCC_SENDTO_TOOL0: labeler; 1: media editor; 2: default editor; 3: ftp upload; 4: email; 5 Menalto Gallery; 6 Web Gallery
30009MCC_SHOW_VIEW_INFOnew CMCViewInfo * (for internal use only)
30010MCC_OBSOLETE_30010ignore
30011MCC_DEVICE_CHANGEDnew DEVICE_CHANGE_INFO * (for internal use only)
30012MCC_CONFIGURE_THEATER_VIEWignore
30013MCC_SET_STATUSTEXTwchar * pstrText (note: memory will be deleted by receiver)
30014MCC_UPDATE_UI_AFTER_ACTIVE_WINDOW_CHANGEignore
30015MCC_REENUM_PORTABLE_DEVICESBOOL bDeviceConnected
30016MCC_PLAY_ADVANCEDPLAY_COMMAND * pCommand (deleted by receiver)
30017MCC_UPDATE_STATUS_BARignore
30018MCC_REQUEST_PODCAST_UPDATEignore
30019MCC_REQUEST_PODCAST_PURGEignore
30020MCC_AUDIBLE_ACTIVATE_PCBOOL bActivate (TRUE: activate, FALSE: deactivate)
30021MCC_SHOW_INVALID_CD_VOLUME_WARNINGTCHAR cDriveLetter

Image Tools

Range: 31,000 to 32,000

EnumCommandParameter
31000MCC_IMAGE_SET_DESKTOP_BACKignore
31001MCC_IMAGE_ROTATE_LEFTignore
31002MCC_IMAGE_ROTATE_RIGHTignore
31003MCC_IMAGE_ROTATE_UPSIDEDOWNignore
31004MCC_IMAGE_RESIZEignore
31005MCC_IMAGE_EDITignore
31006MCC_IMAGE_DELETEint nMFKey
31007MCC_IMAGE_PREVIEW_SHOWignore
31008MCC_IMAGE_PREVIEW_HIDEignore

Query

Range: 32,000 to 33,000

EnumCommandParameter
32000MCC_QUERY_UI_MODEBOOL bInternalMode; Exit status is current UI mode: 0: Standard, 1: Mini, 2: Display, 3: Theater View, 4: Cover View

Commands

Range: 33,000 to 34,000

Note: These are used internally; standard routing.

EnumCommandParameter
33000MCC_GET_SELECTED_FILESloword: GET_SELECTION_MODES Mode, hiword: short nFlags (1: for playback)
33001MCC_PRINTVIEWignore
33002MCC_OUTPUTint nPlaylistID (-1 for active view)
33003MCC_SETFOCUSignore
33004MCC_SELECT_FILESCMediaArray *
33005MCC_DOUBLE_CLICKignore
33006MCC_PLAY_OR_SHOWignore
33007MCC_SHOW_CURRENT_FILEint nFlags (1: force, 2: select)
33008MCC_BUY_SELECTED_TRACKSint nPurchaseFlags
33009MCC_BUY_ALL_TRACKSint nPurchaseFlags
33010MCC_BUY_ALBUMint nPurchaseFlags
33011MCC_UPDATE_AFTER_PLUGIN_INSTALLEDignore
33012MCC_UPDATE_AFTER_SKIN_INSTALLEDBOOL bMiniView

Notifications

Range: 34,000 to 35,000

Note: These are used internally; routed to all view windows.

EnumCommandParameter
34000MCC_NOTIFY_FONT_CHANGEDignore
34001MCC_NOTIFY_VIEW_CHANGEDignore
34002MCC_NOTIFY_BEFORE_ACTIVE_VIEW_CHANGEDignore
34003MCC_NOTIFY_ACTIVE_VIEW_CHANGEDignore
34004MCC_NOTIFY_PLAYER_INFO_CHANGEDPLAYER_INFO_CHANGES nChange
34005MCC_NOTIFY_TOOLTIPS_CHANGEDBOOL bEnabled
34006MCC_NOTIFY_OPTIONS_CHANGEDignore
34007MCC_UPDATEint nFlags
34008MCC_NOTIFY_FOCUS_CHANGEDignore
34009MCC_SAVE_PROPERTIESignore
34010MCC_NOTIFY_UI_MODE_CHANGEDUI_MODES NewMode
34011MCC_NOTIFY_SELECTION_CHANGEDHWND hwndSource
34012MCC_NOTIFY_FILE_CHANGEDint nMFKey (-1: invalidates all files)
34013MCC_NOTIFY_FILE_STATUS_CHANGEDint nMFKey (-1: invalidates all files)
34014MCC_NOTIFY_FILE_ENSURE_VISIBLEint nMFKey
34015MCC_NOTIFY_GET_TAB_HWNDSignore
34016MCC_NOTIFY_BURNER_QUEUE_CHANGEDint nFlags (1: folder change)
34017MCC_NOTIFY_BURNER_PROGRESS_CHANGEDint nPercentage
34018MCC_NOTIFY_BURNER_STATUS_CHANGEDLPCTSTR pStatus
34019MCC_NOTIFY_BURNER_STARTEDignore
34020MCC_NOTIFY_BURNER_FINISHEDignore
34021MCC_NOTIFY_BURNER_FAILEDLPCTSTR pError
34022MCC_NOTIFY_BURNER_CLOSE_UIignore
34023MCC_NOTIFY_BURNER_PREPARE_FOR_NEXT_COPYLPCTSTR pStatus
34024MCC_NOTIFY_RIP_STARTEDignore
34025MCC_NOTIFY_RIP_FINISHEDignore
34026MCC_NOTIFY_RIP_FAILEDLPCTSTR pError
34027MCC_NOTIFY_RIP_PROGRESS_CHANGEDignore
34028MCC_NOTIFY_RIP_QUEUE_CHANGEDignore
34029MCC_NOTIFY_DVD_RIP_STARTEDignore
34030MCC_NOTIFY_DVD_RIP_FINISHEDignore
34031MCC_NOTIFY_DVD_RIP_FAILEDint nErrorCode
34032MCC_NOTIFY_DVD_RIP_PROGRESS_CHANGEDint nPercent
34033MCC_NOTIFY_DOWNLOAD_FINISHEDint nMFKey (-1: unknown)
34034MCC_NOTIFY_DOWNLOAD_FAILEDint nMFKey (-1: unknown)
34035MCC_NOTIFY_DOWNLOAD_STATUS_CHANGEDLPCTSTR pStatus
34036MCC_NOTIFY_STATUS_CHECKER_COMPLETEignore
34037MCC_NOTIFY_CURRENT_ZONE_CHANGEDignore
34038MCC_NOTIFY_DISPLAY_OWNER_CHANGEDHWND hwndOwner
34039MCC_NOTIFY_AFTER_FIRST_UPDATE_LAYOUT_WINDOWignore
34040MCC_NOTIFY_AFTER_FIRST_UPDATE_APPLY_VIEW_STATEignore
34041MCC_NOTIFY_PROCESS_TIME_REMAININGint nSecondsRemaining
34042MCC_NOTIFY_UI_UPDATE_ENABLE_DISABLE_STATESignore
34043MCC_NOTIFY_UI_SKIN_CHANGEDignore
34044MCC_UPDATE_WINDOW_LAYOUTignore
34045MCC_NOTIFY_SAVE_UI_BEFORE_SHUTDOWNignore
34046MCC_NOTIFY_UPDATE_CONTROL_BARSignore
34047MCC_NOTIFY_PLAYLIST_FILES_CHANGEDint nPlaylistID
34048MCC_NOTIFY_PLAYLIST_INFO_CHANGEDint nPlaylistID
34049MCC_NOTIFY_PLAYLIST_ADDED_INTERNALint nPlaylistID
34050MCC_NOTIFY_PLAYLIST_ADDED_BY_USERint nPlaylistID
34051MCC_NOTIFY_PLAYLIST_REMOVEDint nPlaylistID
34052MCC_NOTIFY_PLAYLIST_COLLECTION_CHANGEDignore
34053MCC_NOTIFY_PLAYLIST_PROPERTIES_CHANGEDint nPlaylistID
34054MCC_NOTIFY_HANDHELD_UPLOAD_STARTEDint nDeviceSessionID (0 gets default)
34055MCC_NOTIFY_HANDHELD_AFTER_DEVICE_CHANGEDignore
34056MCC_NOTIFY_HANDHELD_QUEUE_CHANGEDignore
34057MCC_NOTIFY_HANDHELD_INFO_COMPLETEignore
34058MCC_NOTIFY_HANDHELD_AFTER_UPLOAD_FINISHEDignore
34059MCC_NOTIFY_COMPACT_MEMORYignore
34060MCC_NOTIFY_SEARCH_CHANGEDignore
34061MCC_NOTIFY_SEARCH_CONTEXT_CHANGEDignore
34062MCC_NOTIFY_UPDATE_SHOPPING_CARTJRStoreBase * pStore
34063MCC_NOTIFY_UPDATE_NAVIGATION_TRAILignore
34064MCC_NOTIFY_IMPORT_STARTEDBOOL bSilent
34065MCC_NOTIFY_IMPORT_FINISHEDBOOL bSilent
34066MCC_NOTIFY_ROTATED_IMAGESMFKEY nKey
34067MCC_NOTIFY_LOGIN_STATE_CHANGEBOOL bLoggedIn
34068MCC_NOTIFY_MYGAL_PROGRESSignore
34069MCC_NOTIFY_MYGAL_DONEignore
34070MCC_NOTIFY_PODCAST_CHANGEDignore
34071MCC_NOTIFY_PODCAST_SETTINGS_CHANGEDignore
34072MCC_NOTIFY_CONVERT_PROGRESSignore
34073MCC_NOTIFY_CONVERT_DONEignore
34074MCC_NOTIFY_BREADCRUMBS_CHANGEDignore
34075MCC_NOTIFY_UI_LANGUAGE_CHANGEDignore
34076MCC_NOTIFY_INSTALLED_PLUGINS_CHANGEDignore
34077MCC_NOTIFY_SUGGESTED_MUSIC_CHANGEDignore
34078MCC_NOTIFY_VIEW_SETTINGS_CHANGEDint nFlags
34079MCC_NOTIFY_BEFORE_CONFIGURE_VIEW_SETTINGSignore
34080MCC_NOTIFY_TV_RECORDING_CHANGEDignore
34081MCC_NOTIFY_TV_PROGRAMMING_GUIDE_CHANGEDignore
34082MCC_NOTIFY_TV_CHANNELS_CHANGEDignore
34083MCC_NOTIFY_TV_RECORDING_STARTEDignore
34084MCC_NOTIFY_TV_RECORDING_FINISHEDignore
34085MCC_NOTIFY_IMPORT_FILES_ADDEDignore
34086MCC_NOTIFY_PLAYBACK_OPTIONS_CHANGEDignore
34087MCC_NOTIFY_BEFORE_LAYOUT_USER_INTERFACEignore
34088MCC_NOTIFY_AFTER_LAYOUT_USER_INTERFACEignore
34089MCC_NOTIFY_ZONE_ADDED_OR_REMOVEDint nZoneID (PLAYER_ZONE_ID_UNDEFINED means multiple changes)

Store

Range: 35,000 to 36,000

EnumCommandParameter
35000MCC_STORE_DOWNLOADBOOL bAllowPurchaseType
35001MCC_STORE_PURCHASEMFKEY nKey
35002MCC_STORE_SEARCH_AMAZONMFKEY nKey
35003MCC_STORE_SEARCH_AMAZON_MP3_STOREMFKEY nKey
35004MCC_STORE_TSHIRTMFKEY nKey

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,
};