Media Center Core Commands

From wiki.jriver.com
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: http://www.jrmediacenter.com/DevZone/MCCommands.h

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

MC Commands

Playback

Enum Command parameter
10000MCC_PLAY_PAUSE ignore
10001MCC_PLAY ignore
10002MCC_STOPBOOL bDisplayWarning
10003 MCC_NEXTBOOL bNotActualNext
10004 MCC_PREVIOUS ignore
10005 MCC_SHUFFLE0: toggle shuffle; 1: shuffle, jump to PN; 2: shuffle, no jump
10006 MCC_CONTINUOUSignore
10007 MCC_UPDATE_VISignore
10008 MCC_FAST_FORWARDignore
10009 MCC_REWINDignore
10010 MCC_STOP_CONDITIONALignore
10011 MCC_SET_ZONEint nZoneIndex (-1 toggles forward, -2 toggles backwards)
10012 MCC_TOGGLE_FULLSCREENBOOL bForceReturnFromFullScreen
10013 MCC_SHOW_WINDOW,BOOL bJumpToPlayingNow
10014 MCC_MINIMIZE_WINDOWignore
10015 MCC_PLAY_CPLDB_INDEXint nIndex
10016 MCC_SHOW_DSP_STUDIOignore
10017 MCC_VOLUME_MUTE0: toggle; 1: mute; 2: unmute
10018 MCC_VOLUME_UPint nDeltaPercent
10019 MCC_VOLUME_DOWNint nDeltaPercent
10020 MCC_VOLUME_SETint nPercent
10021 MCC_SHOW_PLAYBACK_OPTIONSignore
10022 MCC_SET_PAUSEBOOL bPause (-1 toggles)
10023 MCC_SET_CURRENTLY_PLAYING_RATINGint nRating (0 means ?)
10024 MCC_SHOW_PLAYBACK_ENGINE_MENUscreen point (loword: x, hiword: y) -- must send directly
10025 MCC_PLAY_NEXT_PLAYLISTignore
10026 MCC_PLAY_PREVIOUS_PLAYLISTignore
10027 MCC_MAXIMIZE_WINDOWignore
10028 MCC_RESTORE_WINDOWignore
10029 MCC_SET_PLAYERSTATUSPLAYER_STATUS_CODES Code
10030 MCC_SET_ALTERNATE_PLAYBACK_SETTINGSBOOL bAlternateSettings (-1 toggles)
10031 MCC_SET_PREVIEW_MODE_SETTINGSlow 12 bits: int nDurationSeconds, high 12 bits: int nStartSeconds
10032 MCC_SHOW_PLAYBACK_ENGINE_DISPLAY_PLUGIN_MENUscreen point (loword: x, hiword: y) -- must send directly
10033 MCC_DVD_MENUignore
10034 MCC_SEEK_FORWARDint nMilliseconds (0 means default -- varies depending on playback type)
10035 MCC_SEEK_BACKint nMilliseconds (0 means default -- varies depending on playback type)
10036MCC_STOP_AFTER_CURRENT_FILE BOOL bStopAfterCurrentFile (-1 toggles)
10037MCC_DETACH_DISPLAY BOOL bDetach (-1 toggles)
10038MCC_SET_MODE_ZONE_SPECIFIC UI_MODES Mode

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

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
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)]

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

28023 MCC_PLAYBACK_ENGINE_SET_ASPECT_RATIO = 28023, -1: cycles; 0 - 8: selects individual Aspect Ratio Modes

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_SIZE_AFTER_MAXIMIZE, 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)]
30021 MCC_UPDATE_UI_AFTER_ACTIVE_WINDOW_CHANGE 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

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_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

Zones

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

ZONE PARAMZone NumberWparamLparamzone
Z0: Play/PauseMCC_PLAY_PAUSE10000 167772160
Z0: Play Track from BeginningMCC_PLAY10001 167772160
Z0: StopMCC_STOP10002 167772160
Z0: NextMCC_NEXT10003 167772160
Z0: PreviousMCC_PREVIOUS10004 167772160
Z0: Shuffle Mode-ToggleMCC_SHUFFLE10005 167772160
Z0: ReShuffle-Jump to PNMCC_SHUFFLE10005167772170
Z0: ReShuffle-No Jump to PNMCC_SHUFFLE10005167772180
Z0: Continuous Mode-ToggleMCC_CONTINUOUS10006 167772160
Z0: FFMCC_FAST_FORWARD10008 167772160
Z0: RewMCC_REWIND10009 167772160
Z0: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 167772160
Z0: MuteMCC_VOLUME_MUTE10017 167772160
Z0: Vol +5MCC_VOLUME_UP10018167772210
Z0: Vol -5MCC_VOLUME_DOWN10019167772210
Z0: Vol 0MCC_VOLUME_SET10020 167772160
Z0: Vol 25MCC_VOLUME_SET10020167772410
Z0: Vol 50MCC_VOLUME_SET10020167772660
Z0: Vol 75MCC_VOLUME_SET10020167772910
Z0: Vol 100MCC_VOLUME_SET10020167773160
Z0: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 167772160
Z0: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING10023167772170
Z0: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING10023167772180
Z0: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING10023167772190
Z0: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING10023167772200
Z0: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING10023167772210
Z1: Play/PauseMCC_PLAY_PAUSE10000 335544321
Z1: Play Track from BeginningMCC_PLAY10001 335544321
Z1: StopMCC_STOP10002 335544321
Z1: NextMCC_NEXT10003 335544321
Z1: PreviousMCC_PREVIOUS10004 335544321
Z1: Shuffle Mode-ToggleMCC_SHUFFLE10005 335544321
Z1: ReShuffle-Jump to PNMCC_SHUFFLE10005335544331
Z1: ReShuffle-No Jump to PNMCC_SHUFFLE10005335544341
Z1: Continuous Mode-ToggleMCC_CONTINUOUS10006 335544321
Z1: FFMCC_FAST_FORWARD10008 335544321
Z1: RewMCC_REWIND10009 335544321
Z1: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 335544321
Z1: MuteMCC_VOLUME_MUTE10017 335544321
Z1: Vol +5MCC_VOLUME_UP10018335544371
Z1: Vol -5MCC_VOLUME_DOWN10019335544371
Z1: Vol 0MCC_VOLUME_SET10020 335544321
Z1: Vol 25MCC_VOLUME_SET10020335544571
Z1: Vol 50MCC_VOLUME_SET10020335544821
Z1: Vol 75MCC_VOLUME_SET10020335545071
Z1: Vol 100MCC_VOLUME_SET10020335545321
Z1: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 335544321
Z1: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING10023335544331
Z1: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING10023335544341
Z1: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING10023335544351
Z1: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING10023335544361
Z1: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING10023335544371
Z2: Play/PauseMCC_PLAY_PAUSE10000 503316482
Z2: Play Track from BeginningMCC_PLAY10001 503316482
Z2: StopMCC_STOP10002 503316482
Z2: NextMCC_NEXT10003 503316482
Z2: PreviousMCC_PREVIOUS10004 503316482
Z2: Shuffle Mode-ToggleMCC_SHUFFLE10005 503316482
Z2: ReShuffle-Jump to PNMCC_SHUFFLE10005503316492
Z2: ReShuffle-No Jump to PNMCC_SHUFFLE10005503316502
Z2: Continuous Mode-ToggleMCC_CONTINUOUS10006 503316482
Z2: FFMCC_FAST_FORWARD10008 503316482
Z2: RewMCC_REWIND10009 503316482
Z2: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 503316482
Z2: MuteMCC_VOLUME_MUTE10017 503316482
Z2: Vol +5MCC_VOLUME_UP10018503316532
Z2: Vol -5MCC_VOLUME_DOWN10019503316532
Z2: Vol 0MCC_VOLUME_SET10020 503316482
Z2: Vol 25MCC_VOLUME_SET10020503316732
Z2: Vol 50MCC_VOLUME_SET10020503316982
Z2: Vol 75MCC_VOLUME_SET10020503317232
Z2: Vol 100MCC_VOLUME_SET10020503317482
Z2: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 503316482
Z2: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING10023503316492
Z2: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING10023503316502
Z2: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING10023503316512
Z2: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING10023503316522
Z2: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING10023503316532
Z3: Play/PauseMCC_PLAY_PAUSE10000671088643
Z3: Play Track from BeginningMCC_PLAY10001 671088643
Z3: StopMCC_STOP10002 671088643
Z3: NextMCC_NEXT10003 671088643
Z3: PreviousMCC_PREVIOUS10004 671088643
Z3: Shuffle Mode-ToggleMCC_SHUFFLE10005 671088643
Z3: ReShuffle-Jump to PNMCC_SHUFFLE10005671088653
Z3: ReShuffle-No Jump to PNMCC_SHUFFLE10005671088663
Z3: Continuous Mode-ToggleMCC_CONTINUOUS10006 671088643
Z3: FFMCC_FAST_FORWARD10008 671088643
Z3: RewMCC_REWIND10009 671088643
Z3: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 671088643
Z3: MuteMCC_VOLUME_MUTE10017 671088643
Z3: Vol +5MCC_VOLUME_UP10018671088693
Z3: Vol -5MCC_VOLUME_DOWN10019671088693
Z3: Vol 0MCC_VOLUME_SET10020 671088643
Z3: Vol 25MCC_VOLUME_SET10020671088893
Z3: Vol 50MCC_VOLUME_SET10020671089143
Z3: Vol 75MCC_VOLUME_SET10020671089393
Z3: Vol 100MCC_VOLUME_SET10020671089643
Z3: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 671088643
Z3: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING10023671088653
Z3: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING10023671088663
Z3: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING10023671088673
Z3: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING10023671088683
Z3: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING10023671088693
Z4: Play/PauseMCC_PLAY_PAUSE10000 838860804
Z4: Play Track from BeginningMCC_PLAY10001 838860804
Z4: StopMCC_STOP10002 838860804
Z4: NextMCC_NEXT10003 838860804
Z4: PreviousMCC_PREVIOUS10004 838860804
Z4: Shuffle Mode-ToggleMCC_SHUFFLE10005 838860804
Z4: ReShuffle-Jump to PNMCC_SHUFFLE10005838860814
Z4: ReShuffle-No Jump to PNMCC_SHUFFLE10005838860824
Z4: Continuous Mode-ToggleMCC_CONTINUOUS10006 838860804
Z4: FFMCC_FAST_FORWARD10008 838860804
Z4: RewMCC_REWIND10009 838860804
Z4: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 838860804
Z4: MuteMCC_VOLUME_MUTE10017 838860804
Z4: Vol +5MCC_VOLUME_UP10018838860854
Z4: Vol -5MCC_VOLUME_DOWN10019838860854
Z4: Vol 0MCC_VOLUME_SET10020 838860804
Z4: Vol 25MCC_VOLUME_SET10020838861054
Z4: Vol 50MCC_VOLUME_SET10020838861304
Z4: Vol 75MCC_VOLUME_SET10020838861554
Z4: Vol 100MCC_VOLUME_SET10020838861804
Z4: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 838860804
Z4: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING10023838860814
Z4: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING10023838860824
Z4: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING10023838860834
Z4: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING10023838860844
Z4: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING10023838860854
Z5: Play/PauseMCC_PLAY_PAUSE10000 1006632965
Z5: Play Track from BeginningMCC_PLAY10001 1006632965
Z5: StopMCC_STOP10002 1006632965
Z5: NextMCC_NEXT10003 1006632965
Z5: PreviousMCC_PREVIOUS10004 1006632965
Z5: Shuffle Mode-ToggleMCC_SHUFFLE10005 1006632965
Z5: ReShuffle-Jump to PNMCC_SHUFFLE100051006632975
Z5: ReShuffle-No Jump to PNMCC_SHUFFLE100051006632985
Z5: Continuous Mode-ToggleMCC_CONTINUOUS10006 1006632965
Z5: FFMCC_FAST_FORWARD10008 1006632965
Z5: RewMCC_REWIND10009 1006632965
Z5: Play Seq. #MCC_PLAY_CPLDB_INDEX10015 1006632965
Z5: MuteMCC_VOLUME_MUTE10017 1006632965
Z5: Vol +5MCC_VOLUME_UP100181006633015
Z5: Vol -5MCC_VOLUME_DOWN100191006633015
Z5: Vol 0MCC_VOLUME_SET10020 1006632965
Z5: Vol 25MCC_VOLUME_SET100201006633215
Z5: Vol 50MCC_VOLUME_SET100201006633465
Z5: Vol 75MCC_VOLUME_SET100201006633715
Z5: Vol 100MCC_VOLUME_SET100201006633965
Z5: Rating-?MCC_SET_CURRENTLY_PLAYING_RATING10023 1006632965
Z5: Rating-1MCC_SET_CURRENTLY_PLAYING_RATING100231006632975
Z5: Rating-2MCC_SET_CURRENTLY_PLAYING_RATING100231006632985
Z5: Rating-3MCC_SET_CURRENTLY_PLAYING_RATING100231006632995
Z5: Rating-4MCC_SET_CURRENTLY_PLAYING_RATING100231006633005
Z5: Rating-5MCC_SET_CURRENTLY_PLAYING_RATING100231006633015


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. 'MC12.exe') in the system directory

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

// 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_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))

Defines 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)

// update all
#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
#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,
};