Added nuke
This commit is contained in:
Родитель
71c6415960
Коммит
88dacbc838
10
README.md
10
README.md
|
@ -2,15 +2,13 @@
|
|||
|
||||
[![Gitter](https://badges.gitter.im/wieslawsoltes/SimpleWavSplitter.svg)](https://gitter.im/wieslawsoltes/SimpleWavSplitter?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/pfooqgyo9uwrj44o/branch/master?svg=true)](https://ci.appveyor.com/project/wieslawsoltes/simplewavsplitter/branch/master)
|
||||
[![Build Status](https://dev.azure.com/wieslawsoltes/SimpleWavSplitter/_apis/build/status/wieslawsoltes.SimpleWavSplitter)](https://dev.azure.com/wieslawsoltes/SimpleWavSplitter/_build/latest?definitionId=1)
|
||||
[![Build status](https://dev.azure.com/wieslawsoltes/SimpleWavSplitter/_apis/build/status/SimpleWavSplitter)](https://dev.azure.com/wieslawsoltes/SimpleWavSplitter/_build/latest?definitionId=-1)
|
||||
|
||||
[![NuGet](https://img.shields.io/nuget/v/WavFile.svg)](https://www.nuget.org/packages/WavFile)
|
||||
[![MyGet](https://img.shields.io/myget/simplewavsplitter-nightly/vpre/WavFile.svg?label=myget)](https://www.myget.org/gallery/simplewavsplitter-nightly)
|
||||
|
||||
Split multi-channel WAV files into single channel WAV files.
|
||||
|
||||
* To run program please install .NET Framework Version 4.5
|
||||
* To build program use Microsoft Visual C# 2017.
|
||||
* Download are available at: https://github.com/wieslawsoltes/SimpleWavSplitter
|
||||
|
||||
|
@ -18,9 +16,8 @@ Split multi-channel WAV files into single channel WAV files.
|
|||
|
||||
| Platforn | Type | Version | Download |
|
||||
|----------------------------------------|-------------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Windows (GUI .NET4.5/WPF) | Portable | 0.3.4 | [SimpleWavSplitter.Wpf-Release-0.3.4.zip](https://github.com/wieslawsoltes/SimpleWavSplitter/releases/download/0.3.4/SimpleWavSplitter.Wpf-Release-0.3.4.zip) |
|
||||
| Windows/Linux/OSX (GUI mono/Avalonia) | Portable | 0.3.4 | [SimpleWavSplitter.Avalonia-Release-0.3.4.zip](https://github.com/wieslawsoltes/SimpleWavSplitter/releases/download/0.3.4/SimpleWavSplitter.Avalonia-Release-0.3.4.zip) |
|
||||
| Windows/Linux/OSX (Console mono/WPF) | Portable | 0.3.4 | [SimpleWavSplitter.Console-Release-0.3.4.zip](https://github.com/wieslawsoltes/SimpleWavSplitter/releases/download/0.3.4/SimpleWavSplitter.Console-Release-0.3.4.zip) |
|
||||
| Windows/Linux/OSX (GUI) | Portable | 0.3.4 | [SimpleWavSplitter.Avalonia-Release-0.3.4.zip](https://github.com/wieslawsoltes/SimpleWavSplitter/releases/download/0.3.4/SimpleWavSplitter.Avalonia-Release-0.3.4.zip) |
|
||||
| Windows/Linux/OSX (Console) | Portable | 0.3.4 | [SimpleWavSplitter.Console-Release-0.3.4.zip](https://github.com/wieslawsoltes/SimpleWavSplitter/releases/download/0.3.4/SimpleWavSplitter.Console-Release-0.3.4.zip) |
|
||||
|
||||
### Mirrors
|
||||
|
||||
|
@ -55,7 +52,6 @@ Does not require any external dependencies.
|
|||
|
||||
Please check first the sample apps and the [helper class](https://github.com/wieslawsoltes/SimpleWavSplitter/blob/master/src/WavFile/SimpleWavFileSplitter.cs).
|
||||
* SimpleWavSplitter.Console
|
||||
* SimpleWavSplitter.Wpf
|
||||
* SimpleWavSplitter.Avalonia
|
||||
|
||||
### Split Wav Files
|
||||
|
|
|
@ -7,28 +7,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WavFile", "src\WavFile\WavF
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleWavSplitter.Console", "src\SimpleWavSplitter.Console\SimpleWavSplitter.Console.csproj", "{0DB24D15-3920-44C4-83FA-89D0F7565E42}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleWavSplitter.Wpf", "src\SimpleWavSplitter.Wpf\SimpleWavSplitter.Wpf.csproj", "{746BB582-59A3-409A-A9C9-53CCFC287D3F}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleWavSplitter.Avalonia", "src\SimpleWavSplitter.Avalonia\SimpleWavSplitter.Avalonia.csproj", "{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{4E9F76C0-2C43-4BEC-91D3-9F76936EB77F}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{D848C9FA-95C3-491C-A343-E5A1A9AD214C}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
src\Shared\SharedAssemblyInfo.cs = src\Shared\SharedAssemblyInfo.cs
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{2C2B9DE5-D2CC-4464-8660-2D2F5590C396}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.editorconfig = .editorconfig
|
||||
build.cake = build.cake
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ci", "ci", "{6B224FC9-092D-4400-BD18-7CEBED0888D6}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
_config.yml = _config.yml
|
||||
appveyor.yml = appveyor.yml
|
||||
azure-pipelines.yml = azure-pipelines.yml
|
||||
.nuke = .nuke
|
||||
build.ps1 = build.ps1
|
||||
build.sh = build.sh
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "git", "git", "{993E4853-EF1E-4D37-8015-BEC79278A997}"
|
||||
|
@ -46,7 +34,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "props", "props", "{335EB7D0
|
|||
ProjectSection(SolutionItems) = preProject
|
||||
build\Avalonia.Desktop.props = build\Avalonia.Desktop.props
|
||||
build\Avalonia.props = build\Avalonia.props
|
||||
build\NETCore.props = build\NETCore.props
|
||||
build\Base.props = build\Base.props
|
||||
build\EmbedXaml.props = build\EmbedXaml.props
|
||||
build\Rx.props = build\Rx.props
|
||||
build\System.IO.FileSystem.props = build\System.IO.FileSystem.props
|
||||
EndProjectSection
|
||||
|
@ -61,41 +50,21 @@ EndProject
|
|||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|Mono = Debug|Mono
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|Mono = Release|Mono
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Debug|Mono.ActiveCfg = Debug|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Debug|Mono.Build.0 = Debug|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Release|Mono.ActiveCfg = Release|Any CPU
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E}.Release|Mono.Build.0 = Release|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Debug|Mono.ActiveCfg = Debug|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Debug|Mono.Build.0 = Debug|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Release|Mono.ActiveCfg = Release|Any CPU
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42}.Release|Mono.Build.0 = Release|Any CPU
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F}.Debug|Mono.ActiveCfg = Debug|Any CPU
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F}.Release|Mono.ActiveCfg = Release|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Debug|Mono.ActiveCfg = Debug|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Debug|Mono.Build.0 = Debug|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Release|Mono.ActiveCfg = Release|Any CPU
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F}.Release|Mono.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -103,9 +72,7 @@ Global
|
|||
GlobalSection(NestedProjects) = preSolution
|
||||
{76465033-784D-46A6-929B-B4B35E7D422E} = {4E9F76C0-2C43-4BEC-91D3-9F76936EB77F}
|
||||
{0DB24D15-3920-44C4-83FA-89D0F7565E42} = {4E9F76C0-2C43-4BEC-91D3-9F76936EB77F}
|
||||
{746BB582-59A3-409A-A9C9-53CCFC287D3F} = {4E9F76C0-2C43-4BEC-91D3-9F76936EB77F}
|
||||
{FFECA3C3-2785-4AAC-B9DE-5FA47415444F} = {4E9F76C0-2C43-4BEC-91D3-9F76936EB77F}
|
||||
{6B224FC9-092D-4400-BD18-7CEBED0888D6} = {2C2B9DE5-D2CC-4464-8660-2D2F5590C396}
|
||||
{993E4853-EF1E-4D37-8015-BEC79278A997} = {2C2B9DE5-D2CC-4464-8660-2D2F5590C396}
|
||||
{20652AD5-435B-4968-849C-67FE00090BB9} = {2C2B9DE5-D2CC-4464-8660-2D2F5590C396}
|
||||
{335EB7D0-D585-4FC2-BDC9-451EA7780FF1} = {2C2B9DE5-D2CC-4464-8660-2D2F5590C396}
|
||||
|
|
35
appveyor.yml
35
appveyor.yml
|
@ -1,35 +0,0 @@
|
|||
version: '{build}'
|
||||
image: Visual Studio 2017
|
||||
skip_branch_with_pr: true
|
||||
platform: Any CPU
|
||||
configuration: Release
|
||||
environment:
|
||||
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||
NUGET_API_KEY:
|
||||
secure: iSkm19DNdKOLxxCvHiaKikWXy25ZMwGBKpv+EgEprliGl0qX5HtKohLmwJsLnx5O
|
||||
NUGET_API_URL: https://www.nuget.org/api/v2/package
|
||||
MYGET_API_KEY:
|
||||
secure: xhYvrWYPHdNI+mQD+f4Zu3baL7fqW+nO/hYXJdN070Lej8wpa6gfrLi1NGtnQlAs
|
||||
MYGET_API_URL: https://www.myget.org/F/simplewavsplitter-nightly/api/v2/package
|
||||
install:
|
||||
- if not exist dotnet-sdk-2.1.401-win-x64.exe appveyor DownloadFile https://download.microsoft.com/download/E/8/A/E8AF2EE0-5DDA-4420-A395-D1A50EEFD83E/dotnet-sdk-2.1.401-win-x64.exe -FileName "dotnet-sdk-2.1.401-win-x64.exe"
|
||||
- ps: Start-Process -FilePath "dotnet-sdk-2.1.401-win-x64.exe" -ArgumentList "/quiet" -Wait
|
||||
- cmd: dotnet --info
|
||||
- cmd: dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
before_build:
|
||||
- cmd: git submodule update --init
|
||||
build_script:
|
||||
- cmd: dotnet cake build.cake -Target="AppVeyor" -Platform="%PLATFORM%" -Configuration="%CONFIGURATION%"
|
||||
test: off
|
||||
notifications:
|
||||
- provider: Webhook
|
||||
url: https://webhooks.gitter.im/e/d9a05a0b1fcbe768bbcd
|
||||
method: POST
|
||||
on_build_success: true
|
||||
on_build_failure: true
|
||||
on_build_status_changed: true
|
||||
artifacts:
|
||||
- path: artifacts\nuget\*.nupkg
|
||||
cache:
|
||||
- dotnet-sdk-2.1.401-win-x64.exe
|
|
@ -1,49 +0,0 @@
|
|||
jobs:
|
||||
- job: Linux
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
- task: DotNetCoreInstaller@0
|
||||
inputs:
|
||||
version: '2.1.401'
|
||||
- script: |
|
||||
export COREHOST_TRACE=0
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
which dotnet
|
||||
dotnet --info
|
||||
dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
export PATH="$PATH:$HOME/.dotnet/tools"
|
||||
dotnet cake build.cake -Target="Azure-Linux" -Platform="Any CPU" -Configuration="Release"
|
||||
- job: macOS
|
||||
pool:
|
||||
vmImage: 'xcode9-macos10.13'
|
||||
steps:
|
||||
- task: DotNetCoreInstaller@0
|
||||
inputs:
|
||||
version: '2.1.401'
|
||||
- script: |
|
||||
export COREHOST_TRACE=0
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
which dotnet
|
||||
dotnet --info
|
||||
dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
export PATH="$PATH:$HOME/.dotnet/tools"
|
||||
dotnet cake build.cake -Target="Azure-macOS" -Platform="Any CPU" -Configuration="Release"
|
||||
- job: Windows
|
||||
pool:
|
||||
vmImage: 'vs2017-win2016'
|
||||
steps:
|
||||
- task: DotNetCoreInstaller@0
|
||||
inputs:
|
||||
version: '2.1.401'
|
||||
- script: |
|
||||
set COREHOST_TRACE=0
|
||||
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
set DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
where dotnet
|
||||
dotnet --info
|
||||
dotnet tool install -g Cake.Tool --version 0.30.0
|
||||
set PATH=%PATH%;%USERPROFILE%\.dotnet\tools
|
||||
dotnet cake build.cake -Target="Azure-Windows" -Platform="Any CPU" -Configuration="Release"
|
452
build.cake
452
build.cake
|
@ -1,452 +0,0 @@
|
|||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ADDINS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#addin "nuget:?package=Polly&version=5.3.1"
|
||||
#addin "nuget:?package=PackageReferenceEditor&version=0.0.3"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TOOLS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#tool "nuget:?package=NuGet.CommandLine&version=4.3.0"
|
||||
#tool "nuget:?package=xunit.runner.console&version=2.3.1"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// USINGS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using PackageReferenceEditor;
|
||||
using Polly;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// ARGUMENTS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var target = Argument("target", "Default");
|
||||
var platform = Argument("platform", "Any CPU");
|
||||
var configuration = Argument("configuration", "Release");
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// CONFIGURATION
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var MainRepo = "wieslawsoltes/SimpleWavSplitter";
|
||||
var MasterBranch = "master";
|
||||
var AssemblyInfoPath = File("./src/Shared/SharedAssemblyInfo.cs");
|
||||
var ReleasePlatform = "Any CPU";
|
||||
var ReleaseConfiguration = "Release";
|
||||
var MSBuildSolution = "./SimpleWavSplitter.sln";
|
||||
var UnitTestsFramework = "net461";
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// .NET Core Projects
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var netCoreAppsRoot= "./src";
|
||||
var netCoreApps = new string[] { "SimpleWavSplitter.Avalonia" };
|
||||
var netCoreProjects = netCoreApps.Select(name =>
|
||||
new {
|
||||
Path = string.Format("{0}/{1}", netCoreAppsRoot, name),
|
||||
Name = name,
|
||||
Framework = XmlPeek(string.Format("{0}/{1}/{1}.csproj", netCoreAppsRoot, name), "//*[local-name()='TargetFramework']/text()"),
|
||||
Runtimes = XmlPeek(string.Format("{0}/{1}/{1}.csproj", netCoreAppsRoot, name), "//*[local-name()='RuntimeIdentifiers']/text()").Split(';')
|
||||
}).ToList();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// .NET Core UnitTests
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var netCoreUnitTestsRoot= "./tests";
|
||||
var netCoreUnitTests = new string[] {
|
||||
};
|
||||
var netCoreUnitTestsProjects = netCoreUnitTests.Select(name =>
|
||||
new {
|
||||
Name = name,
|
||||
Path = string.Format("{0}/{1}", netCoreUnitTestsRoot, name),
|
||||
File = string.Format("{0}/{1}/{1}.csproj", netCoreUnitTestsRoot, name)
|
||||
}).ToList();
|
||||
var netCoreUnitTestsFrameworks = new List<string>() { "netcoreapp2.0" };
|
||||
if (IsRunningOnWindows())
|
||||
{
|
||||
netCoreUnitTestsFrameworks.Add("net461");
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// PARAMETERS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var isPlatformAnyCPU = StringComparer.OrdinalIgnoreCase.Equals(platform, "Any CPU");
|
||||
var isPlatformX86 = StringComparer.OrdinalIgnoreCase.Equals(platform, "x86");
|
||||
var isPlatformX64 = StringComparer.OrdinalIgnoreCase.Equals(platform, "x64");
|
||||
var isLocalBuild = BuildSystem.IsLocalBuild;
|
||||
var isRunningOnUnix = IsRunningOnUnix();
|
||||
var isRunningOnWindows = IsRunningOnWindows();
|
||||
var isRunningOnAppVeyor = BuildSystem.AppVeyor.IsRunningOnAppVeyor;
|
||||
var isPullRequest = BuildSystem.AppVeyor.Environment.PullRequest.IsPullRequest;
|
||||
var isMainRepo = StringComparer.OrdinalIgnoreCase.Equals(MainRepo, BuildSystem.AppVeyor.Environment.Repository.Name);
|
||||
var isMasterBranch = StringComparer.OrdinalIgnoreCase.Equals(MasterBranch, BuildSystem.AppVeyor.Environment.Repository.Branch);
|
||||
var isTagged = BuildSystem.AppVeyor.Environment.Repository.Tag.IsTag
|
||||
&& !string.IsNullOrWhiteSpace(BuildSystem.AppVeyor.Environment.Repository.Tag.Name);
|
||||
var isReleasable = StringComparer.OrdinalIgnoreCase.Equals(ReleasePlatform, platform)
|
||||
&& StringComparer.OrdinalIgnoreCase.Equals(ReleaseConfiguration, configuration);
|
||||
var isMyGetRelease = !isTagged && isReleasable;
|
||||
var isNuGetRelease = isTagged && isReleasable;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// VERSION
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var version = ParseAssemblyInfo(AssemblyInfoPath).AssemblyVersion;
|
||||
|
||||
if (isRunningOnAppVeyor)
|
||||
{
|
||||
if (isTagged)
|
||||
{
|
||||
// Use Tag Name as version
|
||||
version = BuildSystem.AppVeyor.Environment.Repository.Tag.Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Use AssemblyVersion with Build as version
|
||||
version += "-build" + EnvironmentVariable("APPVEYOR_BUILD_NUMBER") + "-alpha";
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// DIRECTORIES
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var artifactsDir = (DirectoryPath)Directory("./artifacts");
|
||||
var testResultsDir = artifactsDir.Combine("test-results");
|
||||
var nugetRoot = artifactsDir.Combine("nuget");
|
||||
var dirSuffix = isPlatformAnyCPU ? configuration : platform + "/" + configuration;
|
||||
var buildDirs =
|
||||
GetDirectories("./src/**/bin/**") +
|
||||
GetDirectories("./src/**/obj/**") +
|
||||
GetDirectories("./samples/**/bin/**") +
|
||||
GetDirectories("./samples/**/obj/**") +
|
||||
GetDirectories("./tests/**/bin/**") +
|
||||
GetDirectories("./tests/**/obj/**");
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// NUGET NUSPECS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var result = Updater.FindReferences("./build", "*.props", new string[] { });
|
||||
|
||||
result.ValidateVersions();
|
||||
|
||||
Information("Setting NuGet package dependencies versions:");
|
||||
|
||||
var SystemIOFileSystem = result.GroupedReferences["System.IO.FileSystem"].FirstOrDefault().Version;
|
||||
|
||||
Information("Package: System.IO.FileSystem, version: {0}", SystemIOFileSystem);
|
||||
|
||||
var nuspecNuGetWavFile = new NuGetPackSettings()
|
||||
{
|
||||
Id = "WavFile",
|
||||
Version = version,
|
||||
Authors = new [] { "wieslawsoltes" },
|
||||
Owners = new [] { "wieslawsoltes" },
|
||||
LicenseUrl = new Uri("http://opensource.org/licenses/MIT"),
|
||||
ProjectUrl = new Uri("https://github.com/wieslawsoltes/SimpleWavSplitter/"),
|
||||
RequireLicenseAcceptance = false,
|
||||
Symbols = false,
|
||||
NoPackageAnalysis = true,
|
||||
Description = "Split multi-channel WAV files into single channel WAV files.",
|
||||
Copyright = "Copyright 2016",
|
||||
Tags = new [] { "Wav", "Audio", "Splitter", "Multi-channel", "Managed", "C#" },
|
||||
Dependencies = new []
|
||||
{
|
||||
// netstandard1.3
|
||||
new NuSpecDependency { Id = "System.IO.FileSystem", TargetFramework = "netstandard1.3", Version = SystemIOFileSystem }
|
||||
},
|
||||
Files = new []
|
||||
{
|
||||
// netstandard1.3
|
||||
new NuSpecContent { Source = "src/WavFile/bin/" + dirSuffix + "/netstandard1.3/" + "WavFile.dll", Target = "lib/netstandard1.3" },
|
||||
new NuSpecContent { Source = "src/WavFile/bin/" + dirSuffix + "/netstandard1.3/" + "WavFile.xml", Target = "lib/netstandard1.3" },
|
||||
// net45
|
||||
new NuSpecContent { Source = "src/WavFile/bin/" + dirSuffix + "/net45/" + "WavFile.dll", Target = "lib/net45" },
|
||||
new NuSpecContent { Source = "src/WavFile/bin/" + dirSuffix + "/net45/" + "WavFile.xml", Target = "lib/net45" }
|
||||
},
|
||||
BasePath = Directory("./"),
|
||||
OutputDirectory = nugetRoot
|
||||
};
|
||||
|
||||
var nuspecNuGetSettings = new List<NuGetPackSettings>();
|
||||
|
||||
nuspecNuGetSettings.Add(nuspecNuGetWavFile);
|
||||
|
||||
var nugetPackages = nuspecNuGetSettings.Select(nuspec => {
|
||||
return nuspec.OutputDirectory.CombineWithFilePath(string.Concat(nuspec.Id, ".", nuspec.Version, ".nupkg"));
|
||||
}).ToArray();
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// INFORMATION
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Information("Building version {0} of SimpleWavSplitter ({1}, {2}, {3}) using version {4} of Cake.",
|
||||
version,
|
||||
platform,
|
||||
configuration,
|
||||
target,
|
||||
typeof(ICakeContext).Assembly.GetName().Version.ToString());
|
||||
|
||||
if (isRunningOnAppVeyor)
|
||||
{
|
||||
Information("Repository Name: " + BuildSystem.AppVeyor.Environment.Repository.Name);
|
||||
Information("Repository Branch: " + BuildSystem.AppVeyor.Environment.Repository.Branch);
|
||||
}
|
||||
|
||||
Information("Target: " + target);
|
||||
Information("Platform: " + platform);
|
||||
Information("Configuration: " + configuration);
|
||||
Information("IsLocalBuild: " + isLocalBuild);
|
||||
Information("IsRunningOnUnix: " + isRunningOnUnix);
|
||||
Information("IsRunningOnWindows: " + isRunningOnWindows);
|
||||
Information("IsRunningOnAppVeyor: " + isRunningOnAppVeyor);
|
||||
Information("IsPullRequest: " + isPullRequest);
|
||||
Information("IsMainRepo: " + isMainRepo);
|
||||
Information("IsMasterBranch: " + isMasterBranch);
|
||||
Information("IsTagged: " + isTagged);
|
||||
Information("IsReleasable: " + isReleasable);
|
||||
Information("IsMyGetRelease: " + isMyGetRelease);
|
||||
Information("IsNuGetRelease: " + isNuGetRelease);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TASKS: VISUAL STUDIO
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
CleanDirectories(buildDirs);
|
||||
CleanDirectory(artifactsDir);
|
||||
CleanDirectory(testResultsDir);
|
||||
CleanDirectory(nugetRoot);
|
||||
});
|
||||
|
||||
Task("Restore-NuGet-Packages")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
var maxRetryCount = 5;
|
||||
var toolTimeout = 1d;
|
||||
Policy
|
||||
.Handle<Exception>()
|
||||
.Retry(maxRetryCount, (exception, retryCount, context) => {
|
||||
if (retryCount == maxRetryCount)
|
||||
{
|
||||
throw exception;
|
||||
}
|
||||
else
|
||||
{
|
||||
Verbose("{0}", exception);
|
||||
toolTimeout+=0.5;
|
||||
}})
|
||||
.Execute(()=> {
|
||||
NuGetRestore(MSBuildSolution, new NuGetRestoreSettings {
|
||||
ToolTimeout = TimeSpan.FromMinutes(toolTimeout)
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Task("Build")
|
||||
.IsDependentOn("Restore-NuGet-Packages")
|
||||
.Does(() =>
|
||||
{
|
||||
MSBuild(MSBuildSolution, settings => {
|
||||
settings.SetConfiguration(configuration);
|
||||
settings.WithProperty("Platform", "\"" + platform + "\"");
|
||||
settings.SetVerbosity(Verbosity.Minimal);
|
||||
settings.SetMaxCpuCount(0);
|
||||
});
|
||||
});
|
||||
|
||||
Task("Run-Unit-Tests")
|
||||
.IsDependentOn("Build")
|
||||
.Does(() =>
|
||||
{
|
||||
if(!isRunningOnWindows)
|
||||
return;
|
||||
var assemblies = GetFiles("./tests/**/bin/" + dirSuffix + "/" + UnitTestsFramework + "/*.UnitTests.dll");
|
||||
var settings = new XUnit2Settings {
|
||||
ToolPath = (isPlatformAnyCPU || isPlatformX86) ?
|
||||
Context.Tools.Resolve("xunit.console.x86.exe") :
|
||||
Context.Tools.Resolve("xunit.console.exe"),
|
||||
OutputDirectory = testResultsDir,
|
||||
XmlReportV1 = true,
|
||||
NoAppDomain = true,
|
||||
Parallelism = ParallelismOption.None,
|
||||
ShadowCopy = false
|
||||
};
|
||||
foreach (var assembly in assemblies)
|
||||
{
|
||||
XUnit2(assembly.FullPath, settings);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Create-NuGet-Packages")
|
||||
.IsDependentOn("Run-Unit-Tests")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach(var nuspec in nuspecNuGetSettings)
|
||||
{
|
||||
NuGetPack(nuspec);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Publish-MyGet")
|
||||
.IsDependentOn("Create-NuGet-Packages")
|
||||
.WithCriteria(() => !isLocalBuild)
|
||||
.WithCriteria(() => !isPullRequest)
|
||||
.WithCriteria(() => isMainRepo)
|
||||
.WithCriteria(() => isMasterBranch)
|
||||
.WithCriteria(() => isMyGetRelease)
|
||||
.Does(() =>
|
||||
{
|
||||
var apiKey = EnvironmentVariable("MYGET_API_KEY");
|
||||
if(string.IsNullOrEmpty(apiKey))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve MyGet API key.");
|
||||
}
|
||||
|
||||
var apiUrl = EnvironmentVariable("MYGET_API_URL");
|
||||
if(string.IsNullOrEmpty(apiUrl))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve MyGet API url.");
|
||||
}
|
||||
|
||||
foreach(var nupkg in nugetPackages)
|
||||
{
|
||||
NuGetPush(nupkg, new NuGetPushSettings {
|
||||
Source = apiUrl,
|
||||
ApiKey = apiKey
|
||||
});
|
||||
}
|
||||
})
|
||||
.OnError(exception =>
|
||||
{
|
||||
Information("Publish-MyGet Task failed, but continuing with next Task...");
|
||||
});
|
||||
|
||||
Task("Publish-NuGet")
|
||||
.IsDependentOn("Create-NuGet-Packages")
|
||||
.WithCriteria(() => !isLocalBuild)
|
||||
.WithCriteria(() => !isPullRequest)
|
||||
.WithCriteria(() => isMainRepo)
|
||||
.WithCriteria(() => isMasterBranch)
|
||||
.WithCriteria(() => isNuGetRelease)
|
||||
.Does(() =>
|
||||
{
|
||||
var apiKey = EnvironmentVariable("NUGET_API_KEY");
|
||||
if(string.IsNullOrEmpty(apiKey))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve NuGet API key.");
|
||||
}
|
||||
|
||||
var apiUrl = EnvironmentVariable("NUGET_API_URL");
|
||||
if(string.IsNullOrEmpty(apiUrl))
|
||||
{
|
||||
throw new InvalidOperationException("Could not resolve NuGet API url.");
|
||||
}
|
||||
|
||||
foreach(var nupkg in nugetPackages)
|
||||
{
|
||||
NuGetPush(nupkg, new NuGetPushSettings {
|
||||
ApiKey = apiKey,
|
||||
Source = apiUrl
|
||||
});
|
||||
}
|
||||
})
|
||||
.OnError(exception =>
|
||||
{
|
||||
Information("Publish-NuGet Task failed, but continuing with next Task...");
|
||||
});
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TASKS: .NET Core
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Restore-NetCore")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach (var project in netCoreProjects)
|
||||
{
|
||||
DotNetCoreRestore(project.Path);
|
||||
}
|
||||
});
|
||||
|
||||
Task("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Clean")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach (var project in netCoreUnitTestsProjects)
|
||||
{
|
||||
DotNetCoreRestore(project.Path);
|
||||
foreach(var framework in netCoreUnitTestsFrameworks)
|
||||
{
|
||||
Information("Running tests for: {0}, framework: {1}", project.Name, framework);
|
||||
DotNetCoreTest(project.File, new DotNetCoreTestSettings {
|
||||
Configuration = configuration,
|
||||
Framework = framework
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Task("Build-NetCore")
|
||||
.IsDependentOn("Restore-NetCore")
|
||||
.Does(() =>
|
||||
{
|
||||
foreach (var project in netCoreProjects)
|
||||
{
|
||||
Information("Building: {0}", project.Name);
|
||||
DotNetCoreBuild(project.Path, new DotNetCoreBuildSettings {
|
||||
Configuration = configuration,
|
||||
MSBuildSettings = new DotNetCoreMSBuildSettings() {
|
||||
MaxCpuCount = 0
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// TARGETS
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Task("Package")
|
||||
.IsDependentOn("Create-NuGet-Packages");
|
||||
|
||||
Task("Default")
|
||||
.IsDependentOn("Run-Unit-Tests");
|
||||
|
||||
Task("AppVeyor")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore")
|
||||
.IsDependentOn("Publish-MyGet")
|
||||
.IsDependentOn("Publish-NuGet");
|
||||
|
||||
Task("Azure-Windows")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore");
|
||||
|
||||
Task("Azure-macOS")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore");
|
||||
|
||||
Task("Azure-Linux")
|
||||
.IsDependentOn("Run-Unit-Tests-NetCore")
|
||||
.IsDependentOn("Build-NetCore");
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// EXECUTE
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
RunTarget(target);
|
|
@ -0,0 +1,69 @@
|
|||
[CmdletBinding()]
|
||||
Param(
|
||||
#[switch]$CustomParam,
|
||||
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
|
||||
[string[]]$BuildArguments
|
||||
)
|
||||
|
||||
Write-Output "Windows PowerShell $($Host.Version)"
|
||||
|
||||
Set-StrictMode -Version 2.0; $ErrorActionPreference = "Stop"; $ConfirmPreference = "None"; trap { exit 1 }
|
||||
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
|
||||
|
||||
###########################################################################
|
||||
# CONFIGURATION
|
||||
###########################################################################
|
||||
|
||||
$BuildProjectFile = "$PSScriptRoot\build\build\_build.csproj"
|
||||
$TempDirectory = "$PSScriptRoot\\.tmp"
|
||||
|
||||
$DotNetGlobalFile = "$PSScriptRoot\\global.json"
|
||||
$DotNetInstallUrl = "https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1"
|
||||
$DotNetChannel = "Current"
|
||||
|
||||
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1
|
||||
$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1
|
||||
$env:NUGET_XMLDOC_MODE = "skip"
|
||||
|
||||
###########################################################################
|
||||
# EXECUTION
|
||||
###########################################################################
|
||||
|
||||
function ExecSafe([scriptblock] $cmd) {
|
||||
& $cmd
|
||||
if ($LASTEXITCODE) { exit $LASTEXITCODE }
|
||||
}
|
||||
|
||||
# If global.json exists, load expected version
|
||||
if (Test-Path $DotNetGlobalFile) {
|
||||
$DotNetGlobal = $(Get-Content $DotNetGlobalFile | Out-String | ConvertFrom-Json)
|
||||
if ($DotNetGlobal.PSObject.Properties["sdk"] -and $DotNetGlobal.sdk.PSObject.Properties["version"]) {
|
||||
$DotNetVersion = $DotNetGlobal.sdk.version
|
||||
}
|
||||
}
|
||||
|
||||
# If dotnet is installed locally, and expected version is not set or installation matches the expected version
|
||||
if ((Get-Command "dotnet" -ErrorAction SilentlyContinue) -ne $null -and `
|
||||
(!(Test-Path variable:DotNetVersion) -or $(& dotnet --version) -eq $DotNetVersion)) {
|
||||
$env:DOTNET_EXE = (Get-Command "dotnet").Path
|
||||
}
|
||||
else {
|
||||
$DotNetDirectory = "$TempDirectory\dotnet-win"
|
||||
$env:DOTNET_EXE = "$DotNetDirectory\dotnet.exe"
|
||||
|
||||
# Download install script
|
||||
$DotNetInstallFile = "$TempDirectory\dotnet-install.ps1"
|
||||
md -force $TempDirectory > $null
|
||||
(New-Object System.Net.WebClient).DownloadFile($DotNetInstallUrl, $DotNetInstallFile)
|
||||
|
||||
# Install by channel or version
|
||||
if (!(Test-Path variable:DotNetVersion)) {
|
||||
ExecSafe { & $DotNetInstallFile -InstallDir $DotNetDirectory -Channel $DotNetChannel -NoPath }
|
||||
} else {
|
||||
ExecSafe { & $DotNetInstallFile -InstallDir $DotNetDirectory -Version $DotNetVersion -NoPath }
|
||||
}
|
||||
}
|
||||
|
||||
Write-Output "Microsoft (R) .NET Core SDK version $(& $env:DOTNET_EXE --version)"
|
||||
|
||||
ExecSafe { & $env:DOTNET_EXE run --project $BuildProjectFile -- $BuildArguments }
|
|
@ -0,0 +1,72 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
echo $(bash --version 2>&1 | head -n 1)
|
||||
|
||||
#CUSTOMPARAM=0
|
||||
BUILD_ARGUMENTS=()
|
||||
for i in "$@"; do
|
||||
case $(echo $1 | awk '{print tolower($0)}') in
|
||||
# -custom-param) CUSTOMPARAM=1;;
|
||||
*) BUILD_ARGUMENTS+=("$1") ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set -eo pipefail
|
||||
SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
|
||||
|
||||
###########################################################################
|
||||
# CONFIGURATION
|
||||
###########################################################################
|
||||
|
||||
BUILD_PROJECT_FILE="$SCRIPT_DIR/build/build/_build.csproj"
|
||||
TEMP_DIRECTORY="$SCRIPT_DIR//.tmp"
|
||||
|
||||
DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json"
|
||||
DOTNET_INSTALL_URL="https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.sh"
|
||||
DOTNET_CHANNEL="Current"
|
||||
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export NUGET_XMLDOC_MODE="skip"
|
||||
|
||||
###########################################################################
|
||||
# EXECUTION
|
||||
###########################################################################
|
||||
|
||||
function FirstJsonValue {
|
||||
perl -nle 'print $1 if m{"'$1'": "([^"\-]+)",?}' <<< ${@:2}
|
||||
}
|
||||
|
||||
# If global.json exists, load expected version
|
||||
if [ -f "$DOTNET_GLOBAL_FILE" ]; then
|
||||
DOTNET_VERSION=$(FirstJsonValue "version" $(cat "$DOTNET_GLOBAL_FILE"))
|
||||
if [ "$DOTNET_VERSION" == "" ]; then
|
||||
unset DOTNET_VERSION
|
||||
fi
|
||||
fi
|
||||
|
||||
# If dotnet is installed locally, and expected version is not set or installation matches the expected version
|
||||
if [[ -x "$(command -v dotnet)" && (-z ${DOTNET_VERSION+x} || $(dotnet --version) == "$DOTNET_VERSION") ]]; then
|
||||
export DOTNET_EXE="$(command -v dotnet)"
|
||||
else
|
||||
DOTNET_DIRECTORY="$TEMP_DIRECTORY/dotnet-unix"
|
||||
export DOTNET_EXE="$DOTNET_DIRECTORY/dotnet"
|
||||
|
||||
# Download install script
|
||||
DOTNET_INSTALL_FILE="$TEMP_DIRECTORY/dotnet-install.sh"
|
||||
mkdir -p "$TEMP_DIRECTORY"
|
||||
curl -Lsfo "$DOTNET_INSTALL_FILE" "$DOTNET_INSTALL_URL"
|
||||
chmod +x "$DOTNET_INSTALL_FILE"
|
||||
|
||||
# Install by channel or version
|
||||
if [ -z ${DOTNET_VERSION+x} ]; then
|
||||
"$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --channel "$DOTNET_CHANNEL" --no-path
|
||||
else
|
||||
"$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --version "$DOTNET_VERSION" --no-path
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Microsoft (R) .NET Core SDK version $("$DOTNET_EXE" --version)"
|
||||
|
||||
"$DOTNET_EXE" run --project "$BUILD_PROJECT_FILE" -- ${BUILD_ARGUMENTS[@]}
|
|
@ -0,0 +1,11 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VersionPrefix>0.5.0</VersionPrefix>
|
||||
<VersionSuffix></VersionSuffix>
|
||||
<Authors>Wiesław Šoltés</Authors>
|
||||
<Company>Wiesław Šoltés</Company>
|
||||
<Copyright>Copyright © Wiesław Šoltés 2018</Copyright>
|
||||
<PackageLicenseUrl>https://github.com/wieslawsoltes/SimpleWavSplitter/blob/master/LICENSE.TXT</PackageLicenseUrl>
|
||||
<PackageProjectUrl>https://github.com/wieslawsoltes/SimpleWavSplitter</PackageProjectUrl>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -0,0 +1,11 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Compile Update="**\*.xaml.cs">
|
||||
<DependentUpon>%(Filename)</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<AvaloniaResource Include="**\*.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
</AvaloniaResource>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -1,6 +0,0 @@
|
|||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NETCore.Runtime.CoreCLR" Version="2.0.8" />
|
||||
<PackageReference Include="Microsoft.NETCore.DotNetHostPolicy" Version="2.1.5" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,117 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Nuke.Common;
|
||||
using Nuke.Common.Git;
|
||||
using Nuke.Common.ProjectModel;
|
||||
using Nuke.Common.Tools.DotNet;
|
||||
using static Nuke.Common.EnvironmentInfo;
|
||||
using static Nuke.Common.IO.FileSystemTasks;
|
||||
using static Nuke.Common.IO.PathConstruction;
|
||||
using static Nuke.Common.Tools.DotNet.DotNetTasks;
|
||||
|
||||
class Build : NukeBuild
|
||||
{
|
||||
public static int Main() => Execute<Build>(x => x.Compile);
|
||||
|
||||
[Solution("SimpleWavSplitter.sln")]
|
||||
readonly Solution Solution;
|
||||
|
||||
[GitRepository]
|
||||
readonly GitRepository GitRepository;
|
||||
|
||||
[Parameter("configuration")]
|
||||
public string Configuration { get; set; }
|
||||
|
||||
[Parameter("version-suffix")]
|
||||
public string VersionSuffix { get; set; }
|
||||
|
||||
[Parameter("publish-framework")]
|
||||
public string PublishFramework { get; set; }
|
||||
|
||||
[Parameter("publish-runtime")]
|
||||
public string PublishRuntime { get; set; }
|
||||
|
||||
[Parameter("publish-project")]
|
||||
public string PublishProject { get; set; }
|
||||
|
||||
AbsolutePath SourceDirectory => RootDirectory / "src";
|
||||
|
||||
AbsolutePath TestsDirectory => RootDirectory / "tests";
|
||||
|
||||
AbsolutePath ArtifactsDirectory => RootDirectory / "artifacts";
|
||||
|
||||
protected override void OnBuildInitialized()
|
||||
{
|
||||
Configuration = Configuration ?? "Release";
|
||||
VersionSuffix = VersionSuffix ?? "";
|
||||
}
|
||||
|
||||
Target Clean => _ => _
|
||||
.Executes(() =>
|
||||
{
|
||||
DeleteDirectories(GlobDirectories(SourceDirectory, "**/bin", "**/obj"));
|
||||
DeleteDirectories(GlobDirectories(TestsDirectory, "**/bin", "**/obj"));
|
||||
EnsureCleanDirectory(ArtifactsDirectory);
|
||||
});
|
||||
|
||||
Target Restore => _ => _
|
||||
.DependsOn(Clean)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetRestore(s => s
|
||||
.SetProjectFile(Solution));
|
||||
});
|
||||
|
||||
Target Compile => _ => _
|
||||
.DependsOn(Restore)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetBuild(s => s
|
||||
.SetProjectFile(Solution)
|
||||
.SetConfiguration(Configuration)
|
||||
.SetVersionSuffix(VersionSuffix)
|
||||
.EnableNoRestore());
|
||||
});
|
||||
|
||||
Target Test => _ => _
|
||||
.DependsOn(Compile)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetTest(s => s
|
||||
.SetProjectFile(Solution)
|
||||
.SetConfiguration(Configuration)
|
||||
.SetLogger("trx")
|
||||
.SetResultsDirectory(ArtifactsDirectory / "TestResults")
|
||||
.EnableNoBuild()
|
||||
.EnableNoRestore());
|
||||
});
|
||||
|
||||
Target Pack => _ => _
|
||||
.DependsOn(Test)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetPack(s => s
|
||||
.SetProject(Solution)
|
||||
.SetConfiguration(Configuration)
|
||||
.SetVersionSuffix(VersionSuffix)
|
||||
.SetOutputDirectory(ArtifactsDirectory / "NuGet")
|
||||
.EnableNoBuild()
|
||||
.EnableNoRestore());
|
||||
});
|
||||
|
||||
Target Publish => _ => _
|
||||
.DependsOn(Test)
|
||||
.Requires(() => PublishRuntime)
|
||||
.Requires(() => PublishFramework)
|
||||
.Requires(() => PublishProject)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetPublish(s => s
|
||||
.SetProject(Solution.GetProject(PublishProject))
|
||||
.SetConfiguration(Configuration)
|
||||
.SetVersionSuffix(VersionSuffix)
|
||||
.SetFramework(PublishFramework)
|
||||
.SetRuntime(PublishRuntime)
|
||||
.SetOutput(ArtifactsDirectory / "Publish" / PublishProject + "-" + PublishRuntime));
|
||||
});
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<RootNamespace></RootNamespace>
|
||||
<IsPackable>False</IsPackable>
|
||||
<NoWarn>CS0649;CS0169</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Nuke.Common" Version="0.12.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<NukeMetadata Include="**\*.json" Exclude="bin\**;obj\**" />
|
||||
<NukeExternalFiles Include="**\*.*.ext" Exclude="bin\**;obj\**" />
|
||||
<None Remove="*.ref;*.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,10 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyCompany("Wiesław Šoltés")]
|
||||
[assembly: AssemblyCopyright("Copyright © Wiesław Šoltés 2010-2017")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyVersion("0.4.0")]
|
||||
[assembly: AssemblyFileVersion("0.4.0")]
|
||||
[assembly: AssemblyInformationalVersion("0.4.0")]
|
|
@ -1,12 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("SimpleWavSplitter.Avalonia")]
|
||||
[assembly: AssemblyDescription("Split multi-channel WAV files into single channel WAV files.")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyProduct("SimpleWavSplitter.Avalonia")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("ffeca3c3-2785-4aac-b9de-5fa47415444f")]
|
|
@ -1,34 +1,29 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeIdentifiers>win7-x64;ubuntu.14.04-x64;osx.10.12-x64</RuntimeIdentifiers>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>Split multi-channel WAV files into single channel WAV files.</Description>
|
||||
<PackageTags>Wav;Audio;Splitter;Multi-channel;Managed;C#;Avalonia</PackageTags>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
<Import Project="..\..\build\Rx.props" />
|
||||
<Import Project="..\..\build\Avalonia.props" />
|
||||
<Import Project="..\..\build\Avalonia.Desktop.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="**\*.xaml.cs">
|
||||
<DependentUpon>%(Filename)</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="**\*.xaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\Shared\SharedAssemblyInfo.cs" Link="Properties\SharedAssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\NETCore.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Rx.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Avalonia.props" />
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\Avalonia.Desktop.props" />
|
||||
<Import Project="..\..\build\EmbedXaml.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\WavFile\WavFile.csproj" />
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,12 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("SimpleWavSplitter.Console")]
|
||||
[assembly: AssemblyDescription("Split multi-channel WAV files into single channel WAV files.")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyProduct("SimpleWavSplitter.Console")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("303d23dd-c234-4e0c-8cbc-4ab06c51702b")]
|
|
@ -1,32 +1,25 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeIdentifiers>win7-x64;ubuntu.14.04-x64;osx.10.12-x64</RuntimeIdentifiers>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<IsPackable>False</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>Split multi-channel WAV files into single channel WAV files.</Description>
|
||||
<PackageTags>Wav;Audio;Splitter;Multi-channel;Managed;C#</PackageTags>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="**\*.xaml.cs">
|
||||
<DependentUpon>%(Filename)</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="**\*.xaml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\Shared\SharedAssemblyInfo.cs" Link="Properties\SharedAssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\NETCore.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\WavFile\WavFile.csproj" />
|
||||
</ItemGroup>
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<!-- Copyright (c) Wiesław Šoltés. All rights reserved. -->
|
||||
<!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
|
||||
<Application x:Class="SimpleWavSplitter.Wpf.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
</Application>
|
|
@ -1,13 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Windows;
|
||||
|
||||
namespace SimpleWavSplitter.Wpf
|
||||
{
|
||||
/// <summary>
|
||||
/// Main application.
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
<!-- Copyright (c) Wiesław Šoltés. All rights reserved. -->
|
||||
<!-- Licensed under the MIT license. See LICENSE file in the project root for full license information. -->
|
||||
<Window x:Class="SimpleWavSplitter.Wpf.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="SimpleWavSplitter"
|
||||
Height="510" Width="700"
|
||||
WindowStartupLocation="CenterScreen"
|
||||
UseLayoutRounding="True" SnapsToDevicePixels="True"
|
||||
TextOptions.TextFormattingMode="Display">
|
||||
<Grid x:Name="layout">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="50"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="120"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="120"/>
|
||||
<ColumnDefinition Width="120"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button x:Name="btnGetWavHeader" Content="Get WAV Header" Grid.Column="0" Margin="3" Grid.RowSpan="1"/>
|
||||
<ProgressBar x:Name="progress" Grid.Column="1" Grid.Row="0" Grid.RowSpan="1" Margin="3" Minimum="0" Maximum="100"/>
|
||||
<Button x:Name="btnCancel" Content="Cancel" Grid.Column="2" Margin="3" Grid.RowSpan="1"/>
|
||||
<Button x:Name="btnSplitWavFiles" Content="Split WAV Files" Grid.Column="3" Margin="3" Grid.RowSpan="1"/>
|
||||
<TextBlock Grid.Column="0" Grid.Row="1" Margin="3" Text="output path:" HorizontalAlignment="Right" VerticalAlignment="Center"/>
|
||||
<TextBox x:Name="textOutputPath" Text="" VerticalContentAlignment="Center" Padding="3" Margin="3" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1"/>
|
||||
<Button x:Name="btnBrowseOutputPath" Content="..." Grid.Column="3" Grid.Row="1" Margin="3" Grid.RowSpan="1"/>
|
||||
<TextBox x:Name="textOutput" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="4" Grid.RowSpan="1" Margin="3" Padding="3" FontSize="12" FontFamily="Consolas"/>
|
||||
</Grid>
|
||||
</Window>
|
|
@ -1,87 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Threading;
|
||||
using Microsoft.Win32;
|
||||
using WavFile;
|
||||
|
||||
namespace SimpleWavSplitter.Wpf
|
||||
{
|
||||
/// <summary>
|
||||
/// Main window.
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
private SimpleWavFileSplitter _wavFileSplitter;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes the new instance of <see cref="MainWindow"/> class.
|
||||
/// </summary>
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
_wavFileSplitter = new SimpleWavFileSplitter();
|
||||
|
||||
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
Title = string.Format("SimpleWavSplitter v{0}.{1}.{2}", version.Major, version.Minor, version.Build);
|
||||
|
||||
btnBrowseOutputPath.Click += (sender, e) => GetOutputPath();
|
||||
btnGetWavHeader.Click += (sender, e) => GetWavHeader();
|
||||
btnSplitWavFiles.Click += async (sender, e) => await SplitWavFiles();
|
||||
btnCancel.Click += async (sender, e) => await _wavFileSplitter.CancelSplitWavFiles(
|
||||
value => Dispatcher.Invoke(() => progress.Value = value));
|
||||
}
|
||||
|
||||
private void GetOutputPath()
|
||||
{
|
||||
var dlg = new System.Windows.Forms.FolderBrowserDialog();
|
||||
string text = textOutputPath.Text;
|
||||
if (text.Length > 0)
|
||||
{
|
||||
dlg.SelectedPath = textOutputPath.Text;
|
||||
}
|
||||
|
||||
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
textOutputPath.Text = dlg.SelectedPath;
|
||||
}
|
||||
}
|
||||
|
||||
private void GetWavHeader()
|
||||
{
|
||||
var dlg = new OpenFileDialog()
|
||||
{
|
||||
Filter = "WAV Files (*.wav)|*.wav|All Files (*.*)|*.*",
|
||||
FilterIndex = 0,
|
||||
Multiselect = true
|
||||
};
|
||||
|
||||
if (dlg.ShowDialog() == true)
|
||||
{
|
||||
_wavFileSplitter.GetWavHeader(dlg.FileNames, text => textOutput.Text = text);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task SplitWavFiles()
|
||||
{
|
||||
var dlg = new OpenFileDialog()
|
||||
{
|
||||
Filter = "WAV Files (*.wav)|*.wav|All Files (*.*)|*.*",
|
||||
FilterIndex = 0,
|
||||
Multiselect = true
|
||||
};
|
||||
|
||||
if (dlg.ShowDialog() == true)
|
||||
{
|
||||
await _wavFileSplitter.SplitWavFiles(
|
||||
dlg.FileNames,
|
||||
textOutputPath.Text,
|
||||
value => Dispatcher.Invoke(() => progress.Value = value),
|
||||
text => Dispatcher.Invoke(() => textOutput.Text = text));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
[assembly: AssemblyTitle("SimpleWavSplitter.Wpf")]
|
||||
[assembly: AssemblyDescription("Split multi-channel WAV files into single channel WAV files.")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyProduct("SimpleWavSplitter.Wpf")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]
|
||||
[assembly: Guid("FBE97138-5D1E-4498-B32B-3449570C9634")]
|
|
@ -1,63 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace SimpleWavSplitter.Wpf.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleWavSplitter.Wpf.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,117 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -1,26 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace SimpleWavSplitter.Wpf.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
|
@ -1,144 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{746BB582-59A3-409A-A9C9-53CCFC287D3F}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>SimpleWavSplitter.Wpf</RootNamespace>
|
||||
<AssemblyName>SimpleWavSplitter.Wpf</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Xaml">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Compile Include="..\Shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Page Include="MainWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MainWindow.xaml.cs">
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<AppDesigner Include="Properties\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\WavFile\WavFile.csproj">
|
||||
<Project>{76465033-784d-46a6-929b-b4b35e7d422e}</Project>
|
||||
<Name>WavFile</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
|
@ -1,3 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
|
|
@ -1,12 +0,0 @@
|
|||
// Copyright (c) Wiesław Šoltés. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("WavFile")]
|
||||
[assembly: AssemblyDescription("Split multi-channel WAV files into single channel WAV files.")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyProduct("WavFile")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: Guid("6b828b56-d237-4cb6-92c7-2398197521e9")]
|
|
@ -1,17 +1,25 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard1.3;net45</TargetFrameworks>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
<EnableDefaultCompileItems>False</EnableDefaultCompileItems>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
|
||||
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<Description>Split multi-channel WAV files into single channel WAV files.</Description>
|
||||
<PackageTags>Wav;Audio;Splitter;Multi-channel;Managed;C#</PackageTags>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\..\build\Base.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\Shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="**\*.cs" Exclude="obj\**" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildThisFileDirectory)..\..\build\System.IO.FileSystem.props" />
|
||||
|
||||
<Import Project="..\..\build\System.IO.FileSystem.props" />
|
||||
|
||||
</Project>
|
||||
|
|
Загрузка…
Ссылка в новой задаче