home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 January / PCWorld_2007-01_cd.bin / audio-video / musicmatch / mmsetup_10000180_ENU.exe / configspec.xml < prev    next >
Extensible Markup Language  |  2004-12-06  |  9KB  |  223 lines

  1. <?xml version="1.0" encoding="utf-8" ?> 
  2. <ML_ConfigSpec version="1">
  3.  
  4.  
  5. <!-- Static folders have a ClassID and PIDL specified in the config spec and 
  6. these are the only information that is needed to intialize themselves.
  7. Once the parent creates a static folder from its clsid, it passes the PIDL in 
  8. IPersistFolder::Initialize for the Subfolder to initialize itself. 
  9. -->
  10.  
  11. <!-- 
  12. This section defines the actual folder hierarchy.
  13.  
  14. <Folder> 
  15.     Attributes:
  16.         Path = the full path PIDL of the folder
  17.         DisplayName = the actual string to display
  18.         DisplayNameResID = the resource ID used to load the appropriate display name. (has precedence over DisplayName.)
  19.         DescriptionResID = the resource ID used to load the appropriate description
  20.         DefaultIconResID = the resource ID used to load the default icon.
  21.         InvalidIconResID = the resource ID used to load the invalid icon.
  22.         ContextInfoID = the class ID used to create the appropriate context information class.
  23.         Modifiable = (0 or 1) Determines if the folder's settings are modifiable by the user. (default=0)
  24.         Removable = (0 or 1) Determines if the folder is removable by the user. (default=0)
  25.     
  26. <SubfolderGroupInfo>
  27.     Attributes:
  28.         Index = The index of the SubfolderGroupInfo.  Must be unique among its siblings.
  29.         Type = "Simple" (1-to-1 mapping of entry to folder) or "Query" (1-to-many mapping of entry to folders)
  30.         ClassID = The class id of the folder to create
  31.  
  32. SubfolderGroupInfo where Type="Simple":
  33.     Node text:
  34.         The relative PIDL of the SubfolderGroupInfo
  35.     The only 2 pieces of "metadata" available for a static folder are Name and Description.
  36.     
  37. SubfolderGroupInfo where Type="MetadataQuery":
  38.     <MetadataHierarchy> node text = A semicolon separated list of metadata types that defines the grouping hierarchy of the folder's contents
  39.     <LeafContents> node text = The metadata type of the leaf level's contents
  40.     <Scope> node text = The scope of the MIM queries (applies to all levels)
  41.     <Filter> node text = Additional filter for the MIM queries (applies to all levels)
  42.     <ViewInfo>
  43.         The view itself will come to this file and read its own information
  44.         Info is found using full PIDL + Index and traversing up the hierarchy until it finds a match.
  45.         Each metadata type represented in <MetadataHierarchy> and <LeafContents> SHOULD have a corresponding ViewInfo section.
  46.         Attributes:
  47.             MetadataType = Defines which metadata type this view information is for
  48.         Children:
  49.             <MetadataSet> node text = The name of the metadata set that is to be used in this view (see the MetadataSet section below)
  50.                                       Note that the MetadataSet can be overridden for any given level and will be saved in this file, identified by PIDL.
  51.                                       If no metadata set information is provided, just show name.
  52.             <TooltipSet> node text = The name of the tooltip set that is to be used in this view (see the TooltipSetSection below)
  53. -->
  54.  
  55. <!-- each unique browser instance maps to the following cspec roots as  in the Text Node -->
  56. <Roots>
  57.     <EMBEDDED.LIBRARY.MAIN>PID_Root</EMBEDDED.LIBRARY.MAIN>
  58.     <POPUP.PORTABLES>PID_PortableRoot</POPUP.PORTABLES>
  59.     <POPUP.CD.COPY>PID_CDRoot</POPUP.CD.COPY>
  60.     <EMBEDDED.CD.PLAY>PID_PlayCDRoot</EMBEDDED.CD.PLAY>
  61.     <POPUP.PLAYLISTS>PID_PlaylistsRoot</POPUP.PLAYLISTS>
  62.     <POPUP.AUTODJ>PID_AutoDJ</POPUP.AUTODJ>
  63.     <TESTPAGE>PID_TestRoot</TESTPAGE>
  64. </Roots>
  65.  
  66. <!-- the text node value should match the strContentID passed in to LibraryPageObj CreatePage 
  67.  see Contentpageids.h -->
  68. <ContentID>
  69.     <LibraryPageType>EMBEDDED.LIBRARY.MAIN</LibraryPageType>
  70.     <CDCopyPageType>POPUP.CD.COPY</CDCopyPageType>
  71.     <CDPlayPageType>EMBEDDED.CD.PLAY</CDPlayPageType>
  72.     <PlaylistPageType>POPUP.PLAYLISTS</PlaylistPageType>
  73.     <AutoDJPageType>POPUP.AUTODJ</AutoDJPageType>
  74.     <PortablePageType>POPUP.PORTABLES</PortablePageType>
  75.     <TestPageType>TESTPAGE</TestPageType>
  76. </ContentID>
  77.  
  78.  
  79. <Folders>
  80. <!-- This is the root folder. The children are enumerated in <SubfolderGroupInfo></SubfolderGroupInfo> 
  81. Beware this root is used for the Add Tracks dialog, so all these sources need to be here-->
  82.     <Folder PathID="PID_Root"
  83.             ResourceKeyword="Lib.Root">
  84.         <SubfolderGroupInfo Index="0" Type="Static">PID_MyLibrary</SubfolderGroupInfo>
  85.         <SubfolderGroupInfo Index="2" Type="Static">PID_Playlists</SubfolderGroupInfo> 
  86.         <SubfolderGroupInfo Index="5" Type="Static">PID_CDRoms</SubfolderGroupInfo>
  87.     </Folder>
  88.  
  89.     <Folder PathID="PID_PlayCDRoot" 
  90.             ResourceKeyword="Lib.CDPlay"
  91.             IsNavItem="1" HasNavItems="0" IsHidden="0">
  92.         <SubfolderGroupInfo Index="0" Type="DeviceQuery">
  93.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  94.             <Scope>cddvd</Scope> 
  95.         </SubfolderGroupInfo>
  96.     </Folder>
  97.  
  98.     <Folder PathID="PID_CDRoot" 
  99.             ResourceKeyword="Lib.CDRoms"
  100.             IsNavItem="1" HasNavItems="0" IsHidden="0">
  101.         <SubfolderGroupInfo Index="0" Type="DeviceQuery">
  102.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  103.             <Scope>cddvd</Scope> 
  104.         </SubfolderGroupInfo>
  105.         <SubfolderGroupInfo Index="1" Type="Static">Lib.RecLineIn</SubfolderGroupInfo>            
  106.         <SubfolderGroupInfo Index="2" Type="Static">Lib.RecMicIn</SubfolderGroupInfo>            
  107.         <SubfolderGroupInfo Index="3" Type="Static">Lib.RecMixerIn</SubfolderGroupInfo>            
  108.     </Folder>
  109.     
  110.     
  111.     <Folder PathID="Lib.RecLineIn"
  112.             ResourceKeyword="Lib.RecLineIn"
  113.             IsNavItem="1" HasNavItems="0" IsHidden="0">
  114.     </Folder>
  115.     <Folder PathID="Lib.RecMicIn"
  116.             ResourceKeyword="Lib.RecMicIn"
  117.             IsNavItem="1" HasNavItems="0" IsHidden="0">
  118.     </Folder>
  119.  
  120.     <Folder PathID="Lib.RecMixerIn"
  121.             ResourceKeyword="Lib.RecMixerIn"
  122.             IsNavItem="1" HasNavItems="0" IsHidden="0">
  123.     </Folder>
  124.             
  125.     <Folder PathID="PID_PortableRoot" 
  126.             ResourceKeyword="Lib.Portables"
  127.             IsNavItem="1" HasNavItems="0" IsHidden="0">
  128.         <SubfolderGroupInfo Index="0" Type="DeviceQuery" MetadataSpec="PID_PortablesMeta">
  129.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  130.             <Scope>portable</Scope> 
  131.         </SubfolderGroupInfo>            
  132.     </Folder>
  133.  
  134.     <Folder PathID="PID_PlaylistsRoot" 
  135.             ResourceKeyword="Lib.Playlists"
  136.             IsNavItem="1" HasNavItems="1">
  137.     <SubfolderGroupInfo Index="0" Type="Static">PID_Playlists</SubfolderGroupInfo> 
  138.     <Scope>database</Scope>
  139.     </Folder>
  140.     
  141.     <Folder PathID="PID_Playlists" 
  142.             ResourceKeyword="Lib.Playlists"
  143.             IsNavItem="1" HasNavItems="1">
  144.         <SubfolderGroupInfo Index="0" Type="MetadataQuery">
  145.             <SubfoldersHierarchy>Playlist</SubfoldersHierarchy>
  146.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  147.         </SubfolderGroupInfo>
  148. <!--        <SubfolderGroupInfo Index="1" Type="MetadataQuery" ViewLevels="1">
  149.             <SubfoldersHierarchy>AutoDJMix</SubfoldersHierarchy>
  150.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  151.         </SubfolderGroupInfo>
  152. -->        <Scope>database</Scope> 
  153.     </Folder>
  154.  
  155.             
  156. <!--"My Library" Folder's children are user configurable metadata groups-->
  157.     <!-- temp node for usability -->
  158.     <Folder PathID="Lib.NoDevicesFound" 
  159.             ResourceKeyword="Lib.NoDevicesFound"
  160.             IsNavItem="1" HasNavItems="0">
  161.     </Folder>
  162.  
  163.     <Folder PathID="PID_CDRoms" 
  164.             ResourceKeyword="Lib.CDRoms"
  165.             IsNavItem="1" HasNavItems="0" IsHidden="1">
  166.         <SubfolderGroupInfo Index="0" Type="DeviceQuery">
  167.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  168.             <Scope>cddvd</Scope> 
  169.         </SubfolderGroupInfo>            
  170.     </Folder>
  171.  
  172.     <Folder PathID="PID_AutoDJ" 
  173.             ResourceKeyword="Lib.AutoDJMixes"
  174.             Attributes="DatabaseAttrs"
  175.             IsNavItem="1" HasNavItems="0" IsHidden="1">
  176.         <SubfolderGroupInfo Index="0" Type="MetadataQuery">
  177.             <SubfoldersHierarchy>AutoDJMix</SubfoldersHierarchy>
  178.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  179.         </SubfolderGroupInfo>            
  180.         <Scope>database</Scope> 
  181.     </Folder>
  182.     
  183. <!--    <Folder PathID="PID_Playlists" 
  184.             ResourceKeyword="Lib.Playlists"
  185.             Attributes="DatabaseAttrs"
  186.             IsNavItem="1" HasNavItems="0" IsHidden="1">
  187.         <SubfolderGroupInfo Index="0" Type="MetadataQuery">
  188.             <SubfoldersHierarchy>Playlist</SubfoldersHierarchy>
  189.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  190.             <Scope>database</Scope> 
  191.         </SubfolderGroupInfo>            
  192.         <Scope>database</Scope> 
  193.     </Folder>
  194. -->
  195.     <Folder PathID="PID_TestRoot"
  196.             ResourceKeyword="Lib.Root">
  197.         <SubfolderGroupInfo Index="0" Type="Static">PID_MyLibraryTest</SubfolderGroupInfo>
  198.         <SubfolderGroupInfo Index="1" Type="MetadataQuery" IsNavItem="1" HasNavItems="0" DisplayInTree="0" IsHidden="1">
  199.             <SubfoldersHierarchy>ArtistName</SubfoldersHierarchy>
  200.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  201.             <QueryFilter>TrackType!=2</QueryFilter>
  202.         </SubfolderGroupInfo>
  203.         <SubfolderGroupInfo Index="2" Type="DeviceQuery">
  204.             <SubfoldersHierarchy>cddvd</SubfoldersHierarchy>
  205.             <Scope>cddvd</Scope> 
  206.         </SubfolderGroupInfo>            
  207.         <Scope>database</Scope>
  208.     </Folder>
  209.     
  210.     <Folder PathID="PID_MyLibraryTest" ResourceKeyword="Lib.MyLibrary" IsNavItem="1" HasNavItems="1" ViewStyle="26">
  211.         <SubfolderGroupInfo Index="0" Type="MetadataQuery" IsNavItem="0" HasNavItems="0" DisplayInTree="0">
  212.             <SubfoldersHierarchy>Track</SubfoldersHierarchy>
  213.             <Scope>database</Scope>
  214.             <QueryFilter>TrackType!=2</QueryFilter>
  215.         </SubfolderGroupInfo>
  216.     </Folder>
  217.  
  218. </Folders>    
  219.  
  220.  
  221. </ML_ConfigSpec>
  222.  
  223.