Media Center Core Commands: Difference between revisions

From wiki.jriver.com
Jump to navigation Jump to search
No edit summary
Line 646: Line 646:
for parameters < 0: zone number + (16777216 + parameter)
for parameters < 0: zone number + (16777216 + parameter)
example: parameter -1 to zone 3: 67108864 + (16777216 + -1) = 83886079
example: parameter -1 to zone 3: 67108864 + (16777216 + -1) = 83886079

MORE WILL FOLOW


==Customization specific (used internally)==
==Customization specific (used internally)==

Revision as of 09:35, 22 May 2007

  1. pragma once


Media Core Commands (for Media Center 9.x and later) Copyright (c) 2003-2006 J. River, Inc. -- All Rights Reserved.

Each command has a "what command" (i.e. MCC_PLAY_PAUSE) and also an optional parameter, which is explained by the comment following the command. If you don't use the parameter, set it to '0'.


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


enum MC_COMMANDS {

   MCC_FIRST = 10000,


Playback (range 10,000 to 20,000)

windows messages

Playback

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

File

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

Edit

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

View

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

Tools

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

Help

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

Tree

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

List

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

System

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

Other

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

Image tools

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

Query

32000 MCC_QUERY_SECTION,

Commands (used internally -- get routed standard way)

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

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

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


Last

   MCC_LAST = 40000

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

MORE WILL FOLOW

Customization specific (used internally)

  1. define MCC_CUSTOMIZATION_OFFSET 100000


How to issue Media Core commands

a) Post a WM_MC_COMMAND based message to the MC frame

Example (C++ source code): HWND hwndMC = FindWindow(_T("MJFrame"), NULL); PostMessage(hwndMC, WM_MC_COMMAND, MCC_PLAY_PAUSE, 0);

b) Fire the same command through the launcher (i.e. 'MC11.exe') in the system directory

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

// the WM_APP based message (WM_APP = 32768, so WM_MC_COMMAND = 33768)

  1. define WM_MC_COMMAND (WM_APP + 1000)

// extended MC_COMMAND message that takes a structure with extra information (internal use only)

  1. define WM_MC_COMMAND_EX (WM_APP + 1001)

// return value for unhandled MCC commands

  1. define MCC_UNHANDLED 0

// flags for command enable, disable, and check enum MCC_UPDATEUI_FLAGS {

   MCC_UPDATEUI_ENABLE = 1,
   MCC_UPDATEUI_DISABLE = 2,
   MCC_UPDATEUI_PRESSED = 4,

};


Helper macros


  1. define IS_MCC_COMMAND_IN_RANGE(INDEX, FIRST, LAST) (((abs((int)INDEX)) >= FIRST) && ((abs((int)INDEX)) < LAST) || ((abs((int)INDEX)) >= FIRST + MCC_CUSTOMIZATION_OFFSET) && ((abs((int)INDEX)) < LAST + MCC_CUSTOMIZATION_OFFSET))
  2. define IS_MCC_COMMAND_IN_SECTION(INDEX, FIRST) IS_MCC_COMMAND_IN_RANGE(INDEX, FIRST, FIRST + 1000)
  3. define IS_VALID_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_RANGE(INDEX, MCC_FIRST, MCC_LAST)
  4. define IS_PLAYBACK_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_PLAYBACK_SECTION)
  5. define IS_FILE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_FILE_SECTION)
  6. define IS_EDIT_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_EDIT_SECTION)
  7. define IS_VIEW_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_VIEW_SECTION)
  8. define IS_TOOL_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_TOOLS_SECTION)
  9. define IS_HELP_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_HELP_SECTION)
  10. define IS_TREE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_TREE_SECTION)
  11. define IS_LIST_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_LIST_SECTION)
  12. define IS_SYSTEM_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_SYSTEM_SECTION)
  13. define IS_IMAGE_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_IMAGE_SECTION)
  14. define IS_INTERNAL_COMMAND_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_COMMANDS_SECTION)
  15. define IS_NOTIFY_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_SECTION(INDEX, MCC_NOTIFICATIONS_SECTION)
  16. define IS_CUSTOMIZATION_MCC_COMMAND(INDEX) IS_MCC_COMMAND_IN_RANGE(INDEX, MCC_FIRST + MCC_CUSTOMIZATION_OFFSET, MCC_LAST + MCC_CUSTOMIZATION_OFFSET)
  1. define MAKE_MCC_PLAYBACK_PARAM(PARAM, ZONE) (((ZONE) == -1) ? ((PARAM) & 0x00FFFFFF) : ((((ZONE) + 1) << 24) & 0xFF000000) | ((PARAM) & 0x00FFFFFF))
  2. define GET_MCC_PLAYBACK_PARAM(PARAM) (((PARAM) & 0x400000) ? ((PARAM) & 0xFFFFFF) - 0x1000000 : ((PARAM) & 0xFFFFFF))
  3. define GET_MCC_PLAYBACK_ZONE(PARAM) (((PARAM) & 0x80000000) ? -1 : (((PARAM) >> 24) - 1))


Defines for internal use


// update flags

  1. define MCC_UPDATE_FLAG_THUMBNAILS (1 << 0)
  2. define MCC_UPDATE_FLAG_FILE_PROPERTIES (1 << 1)
  3. define MCC_UPDATE_FLAG_FILE_ADDED_OR_REMOVED (1 << 2)
  4. define MCC_UPDATE_FLAG_TREE_STRUCTURE (1 << 3)
  5. define MCC_UPDATE_FLAG_REFILL_LIST (1 << 4)
  6. define MCC_UPDATE_FLAG_ITEM_DELETED (1 << 5)
  7. define MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE (1 << 6)

// update all

  1. define MCC_UPDATE_FLAG_ALL (0x7FFFFFFF & ~(MCC_UPDATE_FLAG_NO_PRESERVE_VIEW_STATE))

// UI modes enum UI_MODES {

   UI_MODE_UNKNOWN = -2000,
   UI_MODE_NO_UI = -1000,
   UI_MODE_CURRENT = -3,
   UI_MODE_CLOSE_DISPLAY = -2,
   UI_MODE_NEXT = -1,
   UI_MODE_STANDARD = 0,
   UI_MODE_MINI,
   UI_MODE_FULLSCREEN,
   UI_MODE_THEATER,
   UI_MODE_WINDOWED,
   UI_MODE_STACK,
   UI_MODE_SLIM,
   UI_MODE_COUNT,

};

// player changes

  1. define PLAYER_INFO_CHANGE_ALL 0xFFFF
  2. define PLAYER_INFO_CHANGE_PLAYERSTATE (1 << 0)
  3. define PLAYER_INFO_CHANGE_VOLUME (1 << 1)
  4. define PLAYER_INFO_CHANGE_FILEINFO (1 << 2)
  5. define PLAYER_INFO_CHANGE_PLAYLISTSTATE (1 << 3)
  6. define PLAYER_INFO_CHANGE_EQCHANGE (1 << 4)
  7. define PLAYER_INFO_CHANGE_IMAGE (1 << 5)
  8. define PLAYER_INFO_CHANGE_PLAYING_FILE (1 << 6)

// player status codes enum PLAYER_STATUS_CODES {

   PLAYER_STATUS_CODE_BUFFERING,
   PLAYER_STATUS_CODE_LOCATING,
   PLAYER_STATUS_CODE_CONNECTING,
   PLAYER_STATUS_CODE_DOWNLOADING_CODEC,
   PLAYER_STATUS_CODE_ACQUIRING_LICENSE,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_STARTING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_CONNECTING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_REQUESTING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_RECEIVING,
   PLAYER_STATUS_CODE_INDIVIDUALIZE_COMPLETED,

};

// theater view modes enum SHOW_THEATER_VIEW_MODES {

   SHOW_THEATER_VIEW_MODE_TOGGLE_THEATER_VIEW,
   SHOW_THEATER_VIEW_MODE_HOME,
   SHOW_THEATER_VIEW_MODE_PLAYING_NOW,
   SHOW_THEATER_VIEW_MODE_AUDIO,
   SHOW_THEATER_VIEW_MODE_IMAGES,
   SHOW_THEATER_VIEW_MODE_VIDEOS,
   SHOW_THEATER_VIEW_MODE_PLAYLISTS,
   SHOW_THEATER_VIEW_MODE_CD_DVD,
   SHOW_THEATER_VIEW_MODE_TV,

};

// get selection modes enum GET_SELECTION_MODES {

   GET_SELECTION_EXACT,
   GET_SELECTION_ALL_ON_NONE,
   GET_SELECTION_ALL_ON_ONE_OR_NONE,
   GET_SELECTION_ALL,

};