Media Center Core Commands

From wiki.jriver.com
Revision as of 17:48, 30 May 2007 by Glynor (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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_ORDER_PRINTS, [ignore]
20016 MCC_PRINT_IMAGES, [ignore]
20017 MCC_PRINT, [ignore]
20018 MCC_PRINT_PAGESETUP, [ignore]
20019 MCC_PERBCAST_PLAYLIST, [ignore]

Edit

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

View

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

Tools

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

Help

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

Tree

25000 MCC_ADD_VIEW_SCHEME, ignore
25001 MCC_EDIT_VIEW_SCHEME, ignore
25002 MCC_OBSOLETE_25002, ignore
25003 MCC_OBSOLETE_25003, ignore
25004 MCC_OBSOLETE_25004, ignore
25005 MCC_OBSOLETE_25005, ignore
25006 MCC_TREE_PLAY, ignore
25007 MCC_TREE_ADD_TO_PLAYING_NOW, ignore
25008 MCC_TREE_ADD_DIRECTORY, ignore
25009 MCC_TREE_IMPORT, ignore
25010 MCC_TREE_ADD_CD_FOLDER, ignore
25011 MCC_UPDATE_FROM_CD_DATABASE, ignore
25012 MCC_SUBMIT_TO_CD_DATABASE, ignore
25013 MCC_TREE_RIP, ignore
25014 MCC_CLEAR_PLAYING_NOW, 0: all files; 1: leave playing file
25015 MCC_COPY_LISTENING_TO, BOOL bPaste
25016 MCC_TREE_SET_EXPANDED, 0: collapsed; 1: expanded
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

List

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

System

27000 MCC_KEYSTROKE = 27000, int nKeyCode
27001 MCC_SHUTDOWN, ignore

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_HH_FINISHED_FUNCTION,
30013 MCC_CONFIGURE_THEATER_VIEW, ignore
30014 MCC_SET_STATUSTEXT, wchar * pstrText (note: memory will be deleted by receiver)
30015 MCC_UPDATE_UI_SIZE_AFTER_MAXIMIZE, ignore
30016 MCC_REENUM_PORTABLE_DEVICES, BOOL bDeviceConnected
30017 MCC_PLAY_ADVANCED, PLAY_COMMAND * pCommand (deleted by receiver)
30018 MCC_UPDATE_STATUS_BAR, ignore

Image tools

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

Query

32000 MCC_QUERY_SECTION,

Commands

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