diff --git a/CUETools.CTDB.EACPlugin.Installer/CUETools.CTDB.EACPlugin.Installer.vdproj b/CUETools.CTDB.EACPlugin.Installer/CUETools.CTDB.EACPlugin.Installer.vdproj new file mode 100644 index 0000000..702ac8d --- /dev/null +++ b/CUETools.CTDB.EACPlugin.Installer/CUETools.CTDB.EACPlugin.Installer.vdproj @@ -0,0 +1,960 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:CUETools.CTDB.EACPlugin.Installer" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_404CDECAD44DEDE89F5968D20B9790D4" + "OwnerKey" = "8:_5C38BA7F54E368532D5699479E787C04" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_404CDECAD44DEDE89F5968D20B9790D4" + "OwnerKey" = "8:_D773630141C71B97B8E286CAB5D6745D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_404CDECAD44DEDE89F5968D20B9790D4" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_5C38BA7F54E368532D5699479E787C04" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_5C38BA7F54E368532D5699479E787C04" + "OwnerKey" = "8:_D773630141C71B97B8E286CAB5D6745D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_88C1C00C7C570D8CCF5DFB2742F06623" + "OwnerKey" = "8:_5C38BA7F54E368532D5699479E787C04" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_88C1C00C7C570D8CCF5DFB2742F06623" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C8D6D24D8A62DE5D9BD6EBE19184F81B" + "OwnerKey" = "8:_5C38BA7F54E368532D5699479E787C04" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_C8D6D24D8A62DE5D9BD6EBE19184F81B" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D773630141C71B97B8E286CAB5D6745D" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E985E1E2E343425AAC193B3EB3A5B7F0" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_FCE5A5A259EDA6827D332455737A9470" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_82CE165AE35A4FB48DF2F4F7C072C14C" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_FCE5A5A259EDA6827D332455737A9470" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_D773630141C71B97B8E286CAB5D6745D" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_5C38BA7F54E368532D5699479E787C04" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_C8D6D24D8A62DE5D9BD6EBE19184F81B" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_88C1C00C7C570D8CCF5DFB2742F06623" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_404CDECAD44DEDE89F5968D20B9790D4" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\CUETools.CTDB.EACPlugin.Installer.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\CUETools.CTDB.EACPlugin.Installer.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:3" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1" + { + "Name" = "8:.NET Framework 3.5 SP1" + "ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1" + } + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" + { + "Name" = "8:Windows Installer 3.1" + "ProductCode" = "8:Microsoft.Windows.Installer.3.1" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_FC185A7379014186B4A3697CC97F0D4A" + { + "Name" = "8:.NET Framework" + "Message" = "8:[VSDNETMSG]" + "Version" = "8:3.5.30729" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617" + } + } + } + "File" + { + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_404CDECAD44DEDE89F5968D20B9790D4" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:CUETools.CDImage, Version=2.1.2.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_404CDECAD44DEDE89F5968D20B9790D4" + { + "Name" = "8:CUETools.CDImage.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:CUETools.CDImage.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5C38BA7F54E368532D5699479E787C04" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:CUETools.AccurateRip, Version=2.1.2.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_5C38BA7F54E368532D5699479E787C04" + { + "Name" = "8:CUETools.AccurateRip.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:CUETools.AccurateRip.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_88C1C00C7C570D8CCF5DFB2742F06623" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:CUETools.Codecs, Version=2.1.2.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_88C1C00C7C570D8CCF5DFB2742F06623" + { + "Name" = "8:CUETools.Codecs.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:CUETools.Codecs.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C8D6D24D8A62DE5D9BD6EBE19184F81B" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:CUETools.Parity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_C8D6D24D8A62DE5D9BD6EBE19184F81B" + { + "Name" = "8:CUETools.Parity.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:CUETools.Parity.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D773630141C71B97B8E286CAB5D6745D" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:CUETools.CTDB, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_D773630141C71B97B8E286CAB5D6745D" + { + "Name" = "8:CUETools.CTDB.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:CUETools.CTDB.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E985E1E2E343425AAC193B3EB3A5B7F0" + { + "SourcePath" = "8:..\\CUETools\\Resources\\ctdbheader.bmp" + "TargetName" = "8:ctdbheader.bmp" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FCE5A5A259EDA6827D332455737A9470" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:Interop.HelperFunctionsLib, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_FCE5A5A259EDA6827D332455737A9470" + { + "Name" = "8:Interop.HelperFunctionsLib.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:Interop.HelperFunctionsLib.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:TRUE" + "IsDependency" = "11:TRUE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_B6AE380AE9784D55925E5A2F6CEC6447" + { + "DefaultLocation" = "8:[EACFOLDER]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + } + "LaunchCondition" + { + "{836E08B8-0285-4809-BA42-01DB6754A45D}:_7A1614A380F042E28F20DEE4D53A8E69" + { + "Name" = "8:EAC" + "Condition" = "8:EACFOLDER AND EACVERSION = \"1.0beta3\"" + "Message" = "8:EAC is not installed. Would you like to download it?" + "InstallUrl" = "8:http://www.exactaudiocopy.de/en/index.php/resources/download/" + } + } + "Locator" + { + "{CF66B7F7-B7DA-4B08-A67A-233430638C9C}:_3ED8425D9DC54C378340720CCC46588A" + { + "Name" = "8:EAC Version" + "Root" = "2:1" + "RegKey" = "8:SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Exact Audio Copy" + "Value" = "8:DisplayVersion" + "Property" = "8:EACVERSION" + } + "{CF66B7F7-B7DA-4B08-A67A-233430638C9C}:_EEE61D01C8E9468EA11562DC8C4EE3FF" + { + "Name" = "8:EAC Folder" + "Root" = "2:2" + "RegKey" = "8:Software\\AWSoftware\\EACU" + "Value" = "8:InstallPath" + "Property" = "8:EACFOLDER" + } + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:EAC CTDB Plugin" + "ProductCode" = "8:{808BD9EB-533A-4405-8464-5AACC9B0C6DD}" + "PackageCode" = "8:{6EE86F90-4EFF-43A1-B7FC-F25E1686A65F}" + "UpgradeCode" = "8:{E416086B-D9D3-424C-AAEB-397EC05ECF69}" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:2.1.3" + "Manufacturer" = "8:Grigory Chudov" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:http://www.cuetools.net" + "Title" = "8:EAC CTDB Plugin Installer" + "Subject" = "8:" + "ARPCONTACT" = "8:Grigory Chudov" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:http://www.cuetools.net" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E7BCCC0DEB344EF0B759D200395A4CBD" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_56DED725D29D441E8F7ACC23E64EBB8A" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5A1B9B64D55A44539FEA98548B949770" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FBE21B98851B4DF888C801F1291B8416" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_06054E0974C24DDDBDB98C2561BCC47B" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_149D2C65A6034E23981257A4465B7614" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_28D1405EE84E4F1D89E93BE7F0DDDDEC" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5CFE0A330B69423AA82076277CB8DAA7" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:2" + "Value" = "8:_E985E1E2E343425AAC193B3EB3A5B7F0" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6C4CE08D503448388C518E14148CF168" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_796CAFA873F547B5966AB915E3FD68C1" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_7ACB77F2F2D940DCA8A86120E87291A7" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0D135E2BB92F484583633275342BEE39" + { + "Sequence" = "3:110" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:2" + "Value" = "8:_E985E1E2E343425AAC193B3EB3A5B7F0" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_7E1BC5F5734041EEA47B29466BDFE376" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_D5BF64419152419AA5F48FA550D9DA86" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_D703273D4A974D7F928302E53730761C" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_0A6D512C47D44E7E942B2605535D0362" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B007998999164181BC807066594F8BA6" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F7DB7047AEA841FF86A510F94AFB4CC3" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F9C17695705847E7A473DDE58CD1482F" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D2E9A60F16564832A8289FE0EB8D9D95" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:2" + "Value" = "8:_E985E1E2E343425AAC193B3EB3A5B7F0" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_82CE165AE35A4FB48DF2F4F7C072C14C" + { + "SourcePath" = "8:..\\CUETools.CTDB.EACPlugin\\obj\\Release\\CUETools.CTDB.EACPlugin.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B6AE380AE9784D55925E5A2F6CEC6447" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:Built" + "OutputProjectGuid" = "8:{816D964C-9772-46C5-AF1D-49E8C78A1E7C}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/CUETools.CTDB.EACPlugin/FormMetadata.cs b/CUETools.CTDB.EACPlugin/FormMetadata.cs index 06a55d9..066a7b8 100644 --- a/CUETools.CTDB.EACPlugin/FormMetadata.cs +++ b/CUETools.CTDB.EACPlugin/FormMetadata.cs @@ -70,8 +70,11 @@ namespace CUETools.CTDB.EACPlugin label == "" ? "" : " (" + label + ")"); var tip = new StringBuilder(); var i = 0; - foreach(var tr in metadata.track) - tip.AppendFormat("{0}. {2}{1}\n", ++i, tr.name, ((tr.artist ?? metadata.artist) == metadata.artist) ? "" : tr.artist + " / "); + if (metadata.track != null) + { + foreach (var tr in metadata.track) + tip.AppendFormat("{0}. {2}{1}\n", ++i, tr.name, ((tr.artist ?? metadata.artist) == metadata.artist) ? "" : tr.artist + " / "); + } listView1.Items.Add(new ListViewItem(text) { Tag = metadata, ImageKey = metadata.source, ToolTipText = tip.ToString() }); } this.listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); diff --git a/CUETools.Processor/Processor.cs b/CUETools.Processor/Processor.cs index 3732d6e..ca6cdf7 100644 --- a/CUETools.Processor/Processor.cs +++ b/CUETools.Processor/Processor.cs @@ -4786,23 +4786,29 @@ return processor.Go(); { if (_hasEmbeddedCUESheet) { - string trackPrefix = String.Format("cue_track{0:00}_", iTrack + 1); - NameValueCollection albumTags = Tagging.Analyze(_fileInfo); - foreach (string key in albumTags.AllKeys) + if (_fileInfo != null) { - if (key.ToLower().StartsWith(trackPrefix) - || !key.ToLower().StartsWith("cue_track")) + string trackPrefix = String.Format("cue_track{0:00}_", iTrack + 1); + NameValueCollection albumTags = Tagging.Analyze(_fileInfo); + foreach (string key in albumTags.AllKeys) { - string name = key.ToLower().StartsWith(trackPrefix) ? - key.Substring(trackPrefix.Length) : key; - string[] values = albumTags.GetValues(key); - for (int j = 0; j < values.Length; j++) - destTags.Add(name, values[j]); + if (key.ToLower().StartsWith(trackPrefix) + || !key.ToLower().StartsWith("cue_track")) + { + string name = key.ToLower().StartsWith(trackPrefix) ? + key.Substring(trackPrefix.Length) : key; + string[] values = albumTags.GetValues(key); + for (int j = 0; j < values.Length; j++) + destTags.Add(name, values[j]); + } } } } else if (_hasTrackFilenames) - destTags.Add(Tagging.Analyze(_tracks[iTrack]._fileInfo)); + { + if (_tracks[iTrack]._fileInfo != null) + destTags.Add(Tagging.Analyze(_tracks[iTrack]._fileInfo)); + } else if (_hasSingleFilename) { // TODO? @@ -4850,7 +4856,8 @@ return processor.Go(); { if (_hasEmbeddedCUESheet || _hasSingleFilename) { - destTags.Add(Tagging.Analyze(_fileInfo)); + if (_fileInfo != null) + destTags.Add(Tagging.Analyze(_fileInfo)); if (!fWithCUE) CleanupTags(destTags, "CUE_TRACK"); } @@ -4858,6 +4865,7 @@ return processor.Go(); { for (int iTrack = 0; iTrack < TrackCount; iTrack++) { + if (_tracks[iTrack]._fileInfo == null) continue; NameValueCollection trackTags = Tagging.Analyze(_tracks[iTrack]._fileInfo); foreach (string key in trackTags.AllKeys) { diff --git a/CUETools/CUETools.TestCodecs/CUETools.TestCodecs.csproj b/CUETools/CUETools.TestCodecs/CUETools.TestCodecs.csproj index 849e7d5..c26e61f 100644 --- a/CUETools/CUETools.TestCodecs/CUETools.TestCodecs.csproj +++ b/CUETools/CUETools.TestCodecs/CUETools.TestCodecs.csproj @@ -54,6 +54,7 @@ + @@ -72,6 +73,10 @@ CUETools.Codecs.ALAC True + + {E70FA90A-7012-4A52-86B5-362B699D1540} + CUETools.Codecs.FLAC + {082D6B9E-326E-4D15-9798-EDAE9EDE70A6} CUETools.Codecs.FLAKE diff --git a/CUETools/CUETools.TestCodecs/FlacWriterTest.cs b/CUETools/CUETools.TestCodecs/FlacWriterTest.cs new file mode 100644 index 0000000..399f4e3 --- /dev/null +++ b/CUETools/CUETools.TestCodecs/FlacWriterTest.cs @@ -0,0 +1,70 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using CUETools.Codecs; +using CUETools.Codecs.FLAC; + +namespace CUETools.TestCodecs +{ + [TestClass()] + public class FlacWriterTest + { + private TestContext testContextInstance; + + /// + ///Gets or sets the test context which provides + ///information about and functionality for the current test run. + /// + public TestContext TestContext + { + get + { + return testContextInstance; + } + set + { + testContextInstance = value; + } + } + + /// + ///A test for FlacWriter (string, int, int, int, Stream) + /// + [TestMethod()] + public void ConstructorTest() + { + AudioBuffer buff = WAVReader.ReadAllSamples("test.wav", null); + FLACWriter target; + + target = new FLACWriter("flacwriter2.flac", buff.PCM); + target.Padding = 1; + target.BlockSize = 32; + //target.Vendor = "CUETools"; + //target.CreationTime = DateTime.Parse("15 Aug 1976"); + target.FinalSampleCount = buff.Length; + target.Write(buff); + target.Close(); + CollectionAssert.AreEqual(File.ReadAllBytes("flacwriter1.flac"), File.ReadAllBytes("flacwriter2.flac"), "flacwriter2.flac doesn't match."); + } + + [TestMethod()] + public void SeekTest() + { + var r = new FLACReader("test.flac", null); + var buff1 = new AudioBuffer(r, 16536); + var buff2 = new AudioBuffer(r, 16536); + r.Read(buff1, 7777); + r.Position = 0; + r.Read(buff2, 7777); + r.Close(); + Assert.AreEqual(buff1.ByteLength, buff2.ByteLength); + var bytes1 = new byte[buff1.ByteLength]; + var bytes2 = new byte[buff2.ByteLength]; + Array.Copy(buff1.Bytes, bytes1, buff1.ByteLength); + Array.Copy(buff2.Bytes, bytes2, buff2.ByteLength); + CollectionAssert.AreEqual(bytes1, bytes2); + } + } +} diff --git a/CUETools/CUETools.TestCodecs/FlakeWriterTest.cs b/CUETools/CUETools.TestCodecs/FlakeWriterTest.cs index bbc1b8b..d4525e1 100644 --- a/CUETools/CUETools.TestCodecs/FlakeWriterTest.cs +++ b/CUETools/CUETools.TestCodecs/FlakeWriterTest.cs @@ -149,5 +149,23 @@ namespace CUETools.TestCodecs lpc.compute_lpc_coefs(8, reff, lpcs); Assert.IsTrue(lpcs[7 * lpc.MAX_LPC_ORDER] < 3000); } - } + + [TestMethod()] + public void SeekTest() + { + var r = new FlakeReader("test.flac", null); + var buff1 = new AudioBuffer(r, 16536); + var buff2 = new AudioBuffer(r, 16536); + r.Read(buff1, 7777); + r.Position = 0; + r.Read(buff2, 7777); + r.Close(); + Assert.AreEqual(buff1.ByteLength, buff2.ByteLength); + var bytes1 = new byte[buff1.ByteLength]; + var bytes2 = new byte[buff2.ByteLength]; + Array.Copy(buff1.Bytes, bytes1, buff1.ByteLength); + Array.Copy(buff2.Bytes, bytes2, buff2.ByteLength); + CollectionAssert.AreEqual(bytes1, bytes2); + } + } } diff --git a/CUETools/CUETools.TestCodecs/flacwriter1.flac b/CUETools/CUETools.TestCodecs/flacwriter1.flac new file mode 100644 index 0000000..6a91216 Binary files /dev/null and b/CUETools/CUETools.TestCodecs/flacwriter1.flac differ diff --git a/CUETools/CUETools.TestCodecs/test.flac b/CUETools/CUETools.TestCodecs/test.flac new file mode 100644 index 0000000..fb00968 Binary files /dev/null and b/CUETools/CUETools.TestCodecs/test.flac differ diff --git a/CUETools/CUETools.sln b/CUETools/CUETools.sln index f98986a..147d9c1 100644 --- a/CUETools/CUETools.sln +++ b/CUETools/CUETools.sln @@ -181,6 +181,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.TestHelpers", "..\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CUETools.CLParity", "..\CUETools.CLParity\CUETools.CLParity.csproj", "{D41FEFF9-9D43-4049-BF9B-B13D9AC7E192}" EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CUETools.CTDB.EACPlugin.Installer", "..\CUETools.CTDB.EACPlugin.Installer\CUETools.CTDB.EACPlugin.Installer.vdproj", "{0AC7691C-562A-4879-8A11-6C7890BF659B}" +EndProject Global GlobalSection(TestCaseManagementSettings) = postSolution CategoryFile = CUETools1.vsmdi @@ -220,7 +222,7 @@ Global {E70FA90A-7012-4A52-86B5-362B699D1540}.Debug|x64.ActiveCfg = Debug|x64 {E70FA90A-7012-4A52-86B5-362B699D1540}.Debug|x64.Build.0 = Debug|x64 {E70FA90A-7012-4A52-86B5-362B699D1540}.Debug|x86.ActiveCfg = Debug|x64 - {E70FA90A-7012-4A52-86B5-362B699D1540}.Release|Any CPU.ActiveCfg = Release|x64 + {E70FA90A-7012-4A52-86B5-362B699D1540}.Release|Any CPU.ActiveCfg = Release|Win32 {E70FA90A-7012-4A52-86B5-362B699D1540}.Release|Mixed Platforms.ActiveCfg = Release|x64 {E70FA90A-7012-4A52-86B5-362B699D1540}.Release|Mixed Platforms.Build.0 = Release|x64 {E70FA90A-7012-4A52-86B5-362B699D1540}.Release|Win32.ActiveCfg = Release|Win32 @@ -1051,6 +1053,16 @@ Global {D41FEFF9-9D43-4049-BF9B-B13D9AC7E192}.Release|Win32.ActiveCfg = Release|Any CPU {D41FEFF9-9D43-4049-BF9B-B13D9AC7E192}.Release|x64.ActiveCfg = Release|Any CPU {D41FEFF9-9D43-4049-BF9B-B13D9AC7E192}.Release|x86.ActiveCfg = Release|Any CPU + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Debug|Any CPU.ActiveCfg = Debug + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Debug|Mixed Platforms.ActiveCfg = Debug + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Debug|Win32.ActiveCfg = Debug + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Debug|x64.ActiveCfg = Debug + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Debug|x86.ActiveCfg = Debug + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Release|Any CPU.ActiveCfg = Release + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Release|Mixed Platforms.ActiveCfg = Release + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Release|Win32.ActiveCfg = Release + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Release|x64.ActiveCfg = Release + {0AC7691C-562A-4879-8A11-6C7890BF659B}.Release|x86.ActiveCfg = Release EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1102,5 +1114,6 @@ Global {9A0D1EB8-269E-4165-971C-541C96AA506F} = {5D823ABE-D280-4800-824C-2633CBAB2EA9} {0E404B8B-FF82-427F-ADE4-77B54A29219F} = {5D823ABE-D280-4800-824C-2633CBAB2EA9} {816D964C-9772-46C5-AF1D-49E8C78A1E7C} = {86BBE3FC-E4E5-4190-B675-C6745EAF4E64} + {0AC7691C-562A-4879-8A11-6C7890BF659B} = {86BBE3FC-E4E5-4190-B675-C6745EAF4E64} EndGlobalSection EndGlobal diff --git a/CUETools/Resources/ctdbheader.jpg b/CUETools/Resources/ctdbheader.jpg new file mode 100644 index 0000000..44e6325 Binary files /dev/null and b/CUETools/Resources/ctdbheader.jpg differ diff --git a/CUETools/localtestrun.testrunconfig b/CUETools/localtestrun.testrunconfig index 7417230..7112dc6 100644 --- a/CUETools/localtestrun.testrunconfig +++ b/CUETools/localtestrun.testrunconfig @@ -1,14 +1,27 @@ - - + + This is a default test run configuration for a local test run. - + + - + + - - + + + + +
+
+
+
+ + + + + \ No newline at end of file