Skip to content

Commit

Permalink
Merge branch 'release-0.2.8.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
g committed Apr 24, 2019
2 parents 65814af + 025108c commit 01b5ebb
Show file tree
Hide file tree
Showing 24 changed files with 1,268 additions and 136 deletions.
18 changes: 17 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# 0.2.8.0

## New features

* Added an option to create playlist files (m3u, psl, wpl or zpl). [#82](https://github.com/Otiel/BandcampDownloader/issues/82)
* Added italian localization. Thanks **@RichyZ99** for the complete translation! [#84](https://github.com/Otiel/BandcampDownloader/pull/84)

## Improvements

* Tag actions ("modify", "do not modify", "empty") are now localized.
* Minor UI improvements.

## Bug fixes

* Fixed a crash that could occur when "☑ Retrieve files size" was unchecked. [#74](https://github.com/Otiel/BandcampDownloader/issues/74)

# 0.2.7.0

## New features
Expand All @@ -12,7 +28,7 @@
* The track file name setting is now checked and must have the _mp3_ extension. [#80](https://github.com/Otiel/BandcampDownloader/issues/80)
* The proxy port setting is now checked and must be an integer.

# Bug fixes
## Bug fixes

* Minor bug fixes relative to the UI.

Expand Down
3 changes: 1 addition & 2 deletions docs/commits-conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ docs | `patch` | A change to the documentation. | Hidden
style | `patch` | Formatting, missing semi colons, etc; no production code change | Hidden
refactor | `patch` | Refactoring production code, eg. renaming a variable | Hidden
test | `patch` | Adding tests, refactoring tests; no production code change | Hidden
chore | `patch` | Updating grunt tasks, etc; no production code change | Hidden
other | `patch` | What doesn't fall in any other category (udpating a library...) | Conditional
chore | `patch` | Updating grunt tasks, updating a library, etc | Conditional

## Body

Expand Down
1 change: 1 addition & 0 deletions docs/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ BandcampDownloader relies on a number of open-source libraries, all listed below
* [`Json.NET`](https://github.com/JamesNK/Newtonsoft.Json): used to parse Json from bandcamp.com pages.
* [`MessageBoxManager`](https://www.codeproject.com/Articles/18399/Localizing-System-MessageBox): used to localize the buttons of the Windows system message box.
* [`NLog`](https://github.com/NLog/NLog): used to log events.
* [`PlaylistsNET`](https://github.com/tmk907/PlaylistsNET): used to create playlists.
* [`Resource.Embedder`](https://github.com/MarcStan/Resource.Embedder): used to embed localization resources (_*.resources.dll_) in the main _exe_ file (not supported by `Costura`).
* [`TagLib#`](https://github.com/mono/taglib-sharp): used to save ID3 tags in MP3 files.
* [`WPFLocalizationExtension`](https://github.com/XAMLMarkupExtensions/WPFLocalizationExtension): used to manage the localization.
Expand Down
40 changes: 27 additions & 13 deletions src/BandcampDownloader/BandcampDownloader.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Costura.Fody.3.3.2\build\Costura.Fody.props" Condition="Exists('..\packages\Costura.Fody.3.3.2\build\Costura.Fody.props')" />
<Import Project="..\packages\Resource.Embedder.2.0.0\build\Resource.Embedder.props" Condition="Exists('..\packages\Resource.Embedder.2.0.0\build\Resource.Embedder.props')" />
<Import Project="..\packages\Costura.Fody.3.3.2\build\Costura.Fody.props" Condition="Exists('..\packages\Costura.Fody.3.3.2\build\Costura.Fody.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
Expand All @@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>BandcampDownloader</RootNamespace>
<AssemblyName>BandcampDownloader</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
Expand Down Expand Up @@ -83,24 +83,32 @@
<HintPath>..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll</HintPath>
</Reference>
<Reference Include="Config.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=d836a57afd299520, processorArchitecture=MSIL">
<HintPath>..\packages\Config.Net.4.13.2\lib\net452\Config.Net.dll</HintPath>
<HintPath>..\packages\Config.Net.4.13.7\lib\net452\Config.Net.dll</HintPath>
</Reference>
<Reference Include="Costura, Version=3.3.2.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
<HintPath>..\packages\Costura.Fody.3.3.2\lib\net40\Costura.dll</HintPath>
</Reference>
<Reference Include="HtmlAgilityPack, Version=1.11.2.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.11.2\lib\Net45\HtmlAgilityPack.dll</HintPath>
<Reference Include="HtmlAgilityPack, Version=1.11.3.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.11.3\lib\Net45\HtmlAgilityPack.dll</HintPath>
</Reference>
<Reference Include="ImageResizer, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageResizer.4.2.5\lib\net45\ImageResizer.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Build.Framework" />
<Reference Include="Microsoft.Build.Utilities.v4.0" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.6.2\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="PlaylistsNET, Version=1.0.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\PlaylistsNET.1.0.4\lib\net45\PlaylistsNET.dll</HintPath>
</Reference>
<Reference Include="policy.2.0.taglib-sharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0, processorArchitecture=MSIL">
<HintPath>..\packages\taglib.2.1.0.0\lib\policy.2.0.taglib-sharp.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
Expand All @@ -111,13 +119,12 @@
<Reference Include="System.ServiceModel" />
<Reference Include="System.Transactions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Core" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="taglib-sharp">
<Reference Include="taglib-sharp, Version=2.1.0.0, Culture=neutral, PublicKeyToken=db62eba44689b5b0, processorArchitecture=MSIL">
<HintPath>..\packages\taglib.2.1.0.0\lib\taglib-sharp.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
Expand All @@ -137,6 +144,7 @@
</ApplicationDefinition>
<Compile Include="Helpers\BandcampHelper.cs" />
<Compile Include="Helpers\MessageBoxManager.cs" />
<Compile Include="Helpers\PlaylistHelper.cs" />
<Compile Include="Model\Album.cs" />
<Compile Include="Model\TrackFile.cs" />
<Compile Include="Model\JSON\JsonAlbumData.cs" />
Expand Down Expand Up @@ -165,6 +173,9 @@
<Compile Include="UI\Dialogs\Settings\UserControlSettingsGeneral.xaml.cs">
<DependentUpon>UserControlSettingsGeneral.xaml</DependentUpon>
</Compile>
<Compile Include="UI\Dialogs\Settings\UserControlSettingsPlaylist.xaml.cs">
<DependentUpon>UserControlSettingsPlaylist.xaml</DependentUpon>
</Compile>
<Compile Include="UI\Dialogs\Settings\UserControlSettingsNetwork.xaml.cs">
<DependentUpon>UserControlSettingsNetwork.xaml</DependentUpon>
</Compile>
Expand Down Expand Up @@ -206,6 +217,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="UI\Dialogs\Settings\UserControlSettingsPlaylist.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="UI\Dialogs\Settings\UserControlSettingsNetwork.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
Expand Down Expand Up @@ -241,6 +256,7 @@
<EmbeddedResource Include="Properties\Resources.fr.resx">
<LastGenOutput>Resources.fr.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.it.resx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
Expand All @@ -249,9 +265,7 @@
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
Expand Down Expand Up @@ -300,15 +314,15 @@
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\Fody.3.3.5\build\Fody.targets" Condition="Exists('..\packages\Fody.3.3.5\build\Fody.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Resource.Embedder.2.0.0\build\Resource.Embedder.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Resource.Embedder.2.0.0\build\Resource.Embedder.props'))" />
<Error Condition="!Exists('..\packages\Fody.3.3.5\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.3.3.5\build\Fody.targets'))" />
<Error Condition="!Exists('..\packages\Costura.Fody.3.3.2\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.3.3.2\build\Costura.Fody.props'))" />
<Error Condition="!Exists('..\packages\Resource.Embedder.2.0.0\build\Resource.Embedder.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Resource.Embedder.2.0.0\build\Resource.Embedder.props'))" />
</Target>
<Import Project="..\packages\Fody.3.3.5\build\Fody.targets" Condition="Exists('..\packages\Fody.3.3.5\build\Fody.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
Expand Down
29 changes: 27 additions & 2 deletions src/BandcampDownloader/Core/UserSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,23 @@ namespace BandcampDownloader {
public enum Language {
[Description("English")]
en,
[Description("Deutsch (German)")]
de,
[Description("Français (French)")]
fr,
[Description("Deutsch (German)")]
de
[Description("Italiano (Italian)")]
it
}

public enum PlaylistFormat {
[Description("M3U")]
m3u,
[Description("PLS")]
pls,
[Description("WPL (Windows Media Player)")]
wpl,
[Description("ZPL (Zune Media Player)")]
zpl
}

public enum ProxyType {
Expand Down Expand Up @@ -64,6 +77,9 @@ public interface IUserSettings {
[Option(DefaultValue = true)]
Boolean CoverArtInTagsResize { get; set; }

[Option(DefaultValue = false)]
Boolean CreatePlaylist { get; set; }

[Option(DefaultValue = false)]
Boolean DownloadArtistDiscography { get; set; }

Expand Down Expand Up @@ -93,9 +109,18 @@ public interface IUserSettings {
[Option(DefaultValue = Language.en)]
Language Language { get; set; }

[Option(DefaultValue = true)]
Boolean M3uExtended { get; set; }

[Option(DefaultValue = true)]
Boolean ModifyTags { get; set; }

[Option(DefaultValue = "{album}")]
String PlaylistFileNameFormat { get; set; }

[Option(DefaultValue = PlaylistFormat.m3u)]
PlaylistFormat PlaylistFormat { get; set; }

[Option(DefaultValue = ProxyType.System)]
ProxyType Proxy { get; set; }

Expand Down
Loading

0 comments on commit 01b5ebb

Please sign in to comment.