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 >
Wrap
Extensible Markup Language
|
2004-12-06
|
9KB
|
223 lines
<?xml version="1.0" encoding="utf-8" ?>
<ML_ConfigSpec version="1">
<!-- Static folders have a ClassID and PIDL specified in the config spec and
these are the only information that is needed to intialize themselves.
Once the parent creates a static folder from its clsid, it passes the PIDL in
IPersistFolder::Initialize for the Subfolder to initialize itself.
-->
<!--
This section defines the actual folder hierarchy.
<Folder>
Attributes:
Path = the full path PIDL of the folder
DisplayName = the actual string to display
DisplayNameResID = the resource ID used to load the appropriate display name. (has precedence over DisplayName.)
DescriptionResID = the resource ID used to load the appropriate description
DefaultIconResID = the resource ID used to load the default icon.
InvalidIconResID = the resource ID used to load the invalid icon.
ContextInfoID = the class ID used to create the appropriate context information class.
Modifiable = (0 or 1) Determines if the folder's settings are modifiable by the user. (default=0)
Removable = (0 or 1) Determines if the folder is removable by the user. (default=0)
<SubfolderGroupInfo>
Attributes:
Index = The index of the SubfolderGroupInfo. Must be unique among its siblings.
Type = "Simple" (1-to-1 mapping of entry to folder) or "Query" (1-to-many mapping of entry to folders)
ClassID = The class id of the folder to create
SubfolderGroupInfo where Type="Simple":
Node text:
The relative PIDL of the SubfolderGroupInfo
The only 2 pieces of "metadata" available for a static folder are Name and Description.
SubfolderGroupInfo where Type="MetadataQuery":
<MetadataHierarchy> node text = A semicolon separated list of metadata types that defines the grouping hierarchy of the folder's contents
<LeafContents> node text = The metadata type of the leaf level's contents
<Scope> node text = The scope of the MIM queries (applies to all levels)
<Filter> node text = Additional filter for the MIM queries (applies to all levels)
<ViewInfo>
The view itself will come to this file and read its own information
Info is found using full PIDL + Index and traversing up the hierarchy until it finds a match.
Each metadata type represented in <MetadataHierarchy> and <LeafContents> SHOULD have a corresponding ViewInfo section.
Attributes:
MetadataType = Defines which metadata type this view information is for
Children:
<MetadataSet> node text = The name of the metadata set that is to be used in this view (see the MetadataSet section below)
Note that the MetadataSet can be overridden for any given level and will be saved in this file, identified by PIDL.
If no metadata set information is provided, just show name.
<TooltipSet> node text = The name of the tooltip set that is to be used in this view (see the TooltipSetSection below)
-->
<!-- each unique browser instance maps to the following cspec roots as in the Text Node -->
<Roots>
<EMBEDDED.LIBRARY.MAIN>PID_Root</EMBEDDED.LIBRARY.MAIN>
<POPUP.PORTABLES>PID_PortableRoot</POPUP.PORTABLES>
<POPUP.CD.COPY>PID_CDRoot</POPUP.CD.COPY>
<EMBEDDED.CD.PLAY>PID_PlayCDRoot</EMBEDDED.CD.PLAY>
<POPUP.PLAYLISTS>PID_PlaylistsRoot</POPUP.PLAYLISTS>
<POPUP.AUTODJ>PID_AutoDJ</POPUP.AUTODJ>
<TESTPAGE>PID_TestRoot</TESTPAGE>
</Roots>
<!-- the text node value should match the strContentID passed in to LibraryPageObj CreatePage
see Contentpageids.h -->
<ContentID>
<LibraryPageType>EMBEDDED.LIBRARY.MAIN</LibraryPageType>
<CDCopyPageType>POPUP.CD.COPY</CDCopyPageType>
<CDPlayPageType>EMBEDDED.CD.PLAY</CDPlayPageType>
<PlaylistPageType>POPUP.PLAYLISTS</PlaylistPageType>
<AutoDJPageType>POPUP.AUTODJ</AutoDJPageType>
<PortablePageType>POPUP.PORTABLES</PortablePageType>
<TestPageType>TESTPAGE</TestPageType>
</ContentID>
<Folders>
<!-- This is the root folder. The children are enumerated in <SubfolderGroupInfo></SubfolderGroupInfo>
Beware this root is used for the Add Tracks dialog, so all these sources need to be here-->
<Folder PathID="PID_Root"
ResourceKeyword="Lib.Root">
<SubfolderGroupInfo Index="0" Type="Static">PID_MyLibrary</SubfolderGroupInfo>
<SubfolderGroupInfo Index="2" Type="Static">PID_Playlists</SubfolderGroupInfo>
<SubfolderGroupInfo Index="5" Type="Static">PID_CDRoms</SubfolderGroupInfo>
</Folder>
<Folder PathID="PID_PlayCDRoot"
ResourceKeyword="Lib.CDPlay"
IsNavItem="1" HasNavItems="0" IsHidden="0">
<SubfolderGroupInfo Index="0" Type="DeviceQuery">
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<Scope>cddvd</Scope>
</SubfolderGroupInfo>
</Folder>
<Folder PathID="PID_CDRoot"
ResourceKeyword="Lib.CDRoms"
IsNavItem="1" HasNavItems="0" IsHidden="0">
<SubfolderGroupInfo Index="0" Type="DeviceQuery">
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<Scope>cddvd</Scope>
</SubfolderGroupInfo>
<SubfolderGroupInfo Index="1" Type="Static">Lib.RecLineIn</SubfolderGroupInfo>
<SubfolderGroupInfo Index="2" Type="Static">Lib.RecMicIn</SubfolderGroupInfo>
<SubfolderGroupInfo Index="3" Type="Static">Lib.RecMixerIn</SubfolderGroupInfo>
</Folder>
<Folder PathID="Lib.RecLineIn"
ResourceKeyword="Lib.RecLineIn"
IsNavItem="1" HasNavItems="0" IsHidden="0">
</Folder>
<Folder PathID="Lib.RecMicIn"
ResourceKeyword="Lib.RecMicIn"
IsNavItem="1" HasNavItems="0" IsHidden="0">
</Folder>
<Folder PathID="Lib.RecMixerIn"
ResourceKeyword="Lib.RecMixerIn"
IsNavItem="1" HasNavItems="0" IsHidden="0">
</Folder>
<Folder PathID="PID_PortableRoot"
ResourceKeyword="Lib.Portables"
IsNavItem="1" HasNavItems="0" IsHidden="0">
<SubfolderGroupInfo Index="0" Type="DeviceQuery" MetadataSpec="PID_PortablesMeta">
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<Scope>portable</Scope>
</SubfolderGroupInfo>
</Folder>
<Folder PathID="PID_PlaylistsRoot"
ResourceKeyword="Lib.Playlists"
IsNavItem="1" HasNavItems="1">
<SubfolderGroupInfo Index="0" Type="Static">PID_Playlists</SubfolderGroupInfo>
<Scope>database</Scope>
</Folder>
<Folder PathID="PID_Playlists"
ResourceKeyword="Lib.Playlists"
IsNavItem="1" HasNavItems="1">
<SubfolderGroupInfo Index="0" Type="MetadataQuery">
<SubfoldersHierarchy>Playlist</SubfoldersHierarchy>
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
</SubfolderGroupInfo>
<!-- <SubfolderGroupInfo Index="1" Type="MetadataQuery" ViewLevels="1">
<SubfoldersHierarchy>AutoDJMix</SubfoldersHierarchy>
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
</SubfolderGroupInfo>
--> <Scope>database</Scope>
</Folder>
<!--"My Library" Folder's children are user configurable metadata groups-->
<!-- temp node for usability -->
<Folder PathID="Lib.NoDevicesFound"
ResourceKeyword="Lib.NoDevicesFound"
IsNavItem="1" HasNavItems="0">
</Folder>
<Folder PathID="PID_CDRoms"
ResourceKeyword="Lib.CDRoms"
IsNavItem="1" HasNavItems="0" IsHidden="1">
<SubfolderGroupInfo Index="0" Type="DeviceQuery">
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<Scope>cddvd</Scope>
</SubfolderGroupInfo>
</Folder>
<Folder PathID="PID_AutoDJ"
ResourceKeyword="Lib.AutoDJMixes"
Attributes="DatabaseAttrs"
IsNavItem="1" HasNavItems="0" IsHidden="1">
<SubfolderGroupInfo Index="0" Type="MetadataQuery">
<SubfoldersHierarchy>AutoDJMix</SubfoldersHierarchy>
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
</SubfolderGroupInfo>
<Scope>database</Scope>
</Folder>
<!-- <Folder PathID="PID_Playlists"
ResourceKeyword="Lib.Playlists"
Attributes="DatabaseAttrs"
IsNavItem="1" HasNavItems="0" IsHidden="1">
<SubfolderGroupInfo Index="0" Type="MetadataQuery">
<SubfoldersHierarchy>Playlist</SubfoldersHierarchy>
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<Scope>database</Scope>
</SubfolderGroupInfo>
<Scope>database</Scope>
</Folder>
-->
<Folder PathID="PID_TestRoot"
ResourceKeyword="Lib.Root">
<SubfolderGroupInfo Index="0" Type="Static">PID_MyLibraryTest</SubfolderGroupInfo>
<SubfolderGroupInfo Index="1" Type="MetadataQuery" IsNavItem="1" HasNavItems="0" DisplayInTree="0" IsHidden="1">
<SubfoldersHierarchy>ArtistName</SubfoldersHierarchy>
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<QueryFilter>TrackType!=2</QueryFilter>
</SubfolderGroupInfo>
<SubfolderGroupInfo Index="2" Type="DeviceQuery">
<SubfoldersHierarchy>cddvd</SubfoldersHierarchy>
<Scope>cddvd</Scope>
</SubfolderGroupInfo>
<Scope>database</Scope>
</Folder>
<Folder PathID="PID_MyLibraryTest" ResourceKeyword="Lib.MyLibrary" IsNavItem="1" HasNavItems="1" ViewStyle="26">
<SubfolderGroupInfo Index="0" Type="MetadataQuery" IsNavItem="0" HasNavItems="0" DisplayInTree="0">
<SubfoldersHierarchy>Track</SubfoldersHierarchy>
<Scope>database</Scope>
<QueryFilter>TrackType!=2</QueryFilter>
</SubfolderGroupInfo>
</Folder>
</Folders>
</ML_ConfigSpec>