[
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n"
  },
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.rsuser\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Mono auto generated files\nmono_crash.*\n\n# Build results\n[Dd]ebug/\n[Dd]ebugPublic/\n[Rr]elease/\n[Rr]eleases/\nx64/\nx86/\n[Ww][Ii][Nn]32/\n[Aa][Rr][Mm]/\n[Aa][Rr][Mm]64/\nbld/\n[Bb]in/\n[Oo]bj/\n[Ll]og/\n[Ll]ogs/\n\n# Visual Studio 2015/2017 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# Visual Studio 2017 auto generated files\nGenerated\\ Files/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUnit\n*.VisualState.xml\nTestResult.xml\nnunit-*.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# Benchmark Results\nBenchmarkDotNet.Artifacts/\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n\n# ASP.NET Scaffolding\nScaffoldingReadMe.txt\n\n# StyleCop\nStyleCopReport.xml\n\n# Files built by Visual Studio\n*_i.c\n*_p.c\n*_h.h\n*.ilk\n*.meta\n*.obj\n*.iobj\n*.pch\n*.pdb\n*.ipdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*_wpftmp.csproj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# Visual Studio Trace Files\n*.e2e\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# AxoCover is a Code Coverage Tool\n.axoCover/*\n!.axoCover/settings.json\n\n# Coverlet is a free, cross platform Code Coverage Tool\ncoverage*.json\ncoverage*.xml\ncoverage*.info\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# Note: Comment the next line if you want to checkin your web deploy settings,\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# NuGet Symbol Packages\n*.snupkg\n# The packages folder can be ignored because of Package Restore\n**/[Pp]ackages/*\n# except build/, which is used as an MSBuild target.\n!**/[Pp]ackages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/[Pp]ackages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n*.appx\n*.appxbundle\n*.appxupload\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!?*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Including strong name files can present a security risk\n# (https://github.com/github/gitignore/pull/2483#issue-259490424)\n#*.snk\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\nServiceFabricBackup/\n*.rptproj.bak\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n*.rptproj.rsuser\n*- [Bb]ackup.rdl\n*- [Bb]ackup ([0-9]).rdl\n*- [Bb]ackup ([0-9][0-9]).rdl\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# CodeRush personal settings\n.cr/personal\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Tabs Studio\n*.tss\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\n\n# OpenCover UI analysis results\nOpenCover/\n\n# Azure Stream Analytics local run output\nASALocalRun/\n\n# MSBuild Binary and Structured Log\n*.binlog\n\n# NVidia Nsight GPU debugger configuration file\n*.nvuser\n\n# MFractors (Xamarin productivity tool) working folder\n.mfractor/\n\n# Local History for Visual Studio\n.localhistory/\n\n# BeatPulse healthcheck temp database\nhealthchecksdb\n\n# Backup folder for Package Reference Convert tool in Visual Studio 2017\nMigrationBackup/\n\n# Ionide (cross platform F# VS Code tools) working folder\n.ionide/\n\n# Fody - auto-generated XML schema\nFodyWeavers.xsd\n\n/obj*\n/bin*\n"
  },
  {
    "path": "LICENSE",
    "content": "Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "README.md",
    "content": "## SpleeterGUI - Music source separation desktop app  \nWindows Desktop Front end for [Spleeter](https://github.com/deezer/spleeter) - AI source separation \n\n***THIS IS AN UPDATED VERSION OF [SPLEETERGUI](https://github.com/boy1dr/SpleeterGui/) WITH NO INSTALLER***\n\n## Installation\n1. Download the compiled binary folder from GitHub releases and place it wherever you want.\n2. Download and extract [SpleeterCore](https://github.com/thooore/SpleeterCore)\n3. Start SpleeterGUI (There could be an error message showing here, continue anyway!)\n4. In SpleeterGUI select ***Advanced > Set SpleeterGUI Core path*** and select the path to where you unzipped SpleeterCore (The `root_folder.txt` of SpleeterCore should be in that folder)\n5. Restart SpleeterGUI\n\n\nThis repository is a fork of the original [SpleeterGUI](https://github.com/boy1dr/SpleeterGui/)  which can be downloaded from [here](https://makenweb.com/SpleeterGUI).\n\nThe original project was developed by by [Maken It So](https://makenweb.com).\n   \n---\nThis new version (3.0) has some additional features:\n- Generate [NI Stems](https://www.native-instruments.com/en/specials/stems/) for use in programs such as [Traktor](https://www.native-instruments.com/en/catalog/traktor/dj-software/)\n- Different output formats\n- Auto-name output files\n\n---\n\nThis project is a C# desktop front end for Spleeter that adds the ability to create [NI Stems](https://www.native-instruments.com/en/specials/stems/).  \n\n![SpleeterGUI_app](./docs/Spleeter_GUI.png)  \n\n\n\n## Examples\nhttps://www.youtube.com/watch?v=bdNzVPLzOLE  \nhttps://www.youtube.com/watch?v=nxJfIsus0Ig  \nhttps://www.youtube.com/watch?v=PHGAmZhuI-c  \nhttps://www.youtube.com/watch?v=3X5nfc2d1Rw  \nhttps://www.youtube.com/watch?v=9KkWJHC2bz0  \nhttps://www.youtube.com/watch?v=Mygm1sFlQXc  \n\nThis project contains the C# source code for the Graphical User Interface. The GUI is an Windows Forms Application requiring Microsoft Visual Studio to build.\n\nThe [SpleeterGUI Core](https://github.com/thooore/SpleeterCore) required to run this program contains Python 3.7 and [Spleeter](https://github.com/deezer/spleeter). It contains everything you need to get up and running.\n\nFeel free to inspect the source code and build for yourself.\n\n## Help, FAQ and more\nCheck out the [Wiki](https://github.com/thooore/SpleeterGUI/wiki) for more information.\nIf you encounter a problem feel free to [create an issue](https://github.com/thooore/SpleeterGUI/issues/new)!\n\n***\n\nAlso huge thanks to the original creator [Maken It So](https://makenweb.com/) for creating such a useful program!"
  },
  {
    "path": "SpleeterGui/App.config",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n    <configSections>\n        <sectionGroup name=\"userSettings\" type=\"System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" >\n            <section name=\"SpleeterGui.Properties.Settings\" type=\"System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" allowExeDefinition=\"MachineToLocalUser\" requirePermission=\"false\" />\n        </sectionGroup>\n    </configSections>\n    <startup> \n        <supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.7.2\" />\n    </startup>\n    <userSettings>\n        <SpleeterGui.Properties.Settings>\n            <setting name=\"output_location\" serializeAs=\"String\">\n                <value />\n            </setting>\n            <setting name=\"language\" serializeAs=\"String\">\n                <value>english</value>\n            </setting>\n            <setting name=\"path_python\" serializeAs=\"String\">\n                <value />\n            </setting>\n            <setting name=\"duration\" serializeAs=\"String\">\n                <value>600</value>\n            </setting>\n            <setting name=\"codec\" serializeAs=\"String\">\n                <value>1</value>\n            </setting>\n            <setting name=\"songName\" serializeAs=\"String\">\n                <value>False</value>\n            </setting>\n            <setting name=\"bitrate\" serializeAs=\"String\">\n                <value>320</value>\n            </setting>\n            <setting name=\"collection_location\" serializeAs=\"String\">\n                <value>Input Collection</value>\n            </setting>\n            <setting name=\"collection_out_location\" serializeAs=\"String\">\n                <value>Output Collection</value>\n            </setting>\n        </SpleeterGui.Properties.Settings>\n    </userSettings>\n</configuration>\n"
  },
  {
    "path": "SpleeterGui/Form1.Designer.cs",
    "content": "namespace SpleeterGui\n{\n    partial class Form1\n    {\n        /// <summary>\n        /// Required designer variable.\n        /// </summary>\n        private System.ComponentModel.IContainer components = null;\n\n        /// <summary>\n        /// Clean up any resources being used.\n        /// </summary>\n        /// <param name=\"disposing\">true if managed resources should be disposed; otherwise, false.</param>\n        protected override void Dispose(bool disposing)\n        {\n            if (disposing && (components != null))\n            {\n                components.Dispose();\n            }\n            base.Dispose(disposing);\n        }\n\n        #region Windows Form Designer generated code\n\n        /// <summary>\n        /// Required method for Designer support - do not modify\n        /// the contents of this method with the code editor.\n        /// </summary>\n        private void InitializeComponent()\n        {\n            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));\n            this.stems2 = new System.Windows.Forms.RadioButton();\n            this.stems4 = new System.Windows.Forms.RadioButton();\n            this.stems5 = new System.Windows.Forms.RadioButton();\n            this.menuStrip1 = new System.Windows.Forms.MenuStrip();\n            this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.mnuLanguage = new System.Windows.Forms.ToolStripMenuItem();\n            this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.setPythonPathToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();\n            this.spleeterupgradeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.helpFAQToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.checkSpleeterGUIUpdateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();\n            this.spleeterGithubPageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\n            this.makenItSoToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();\n            this.btnSaveTo = new System.Windows.Forms.Button();\n            this.txt_output_directory = new System.Windows.Forms.TextBox();\n            this.chkFullBandwidth = new System.Windows.Forms.CheckBox();\n            this.textBox1 = new System.Windows.Forms.TextBox();\n            this.lblDroptext = new System.Windows.Forms.Label();\n            this.lblSlogan1 = new System.Windows.Forms.Label();\n            this.progressBar1 = new System.Windows.Forms.ProgressBar();\n            this.lblSlogan2 = new System.Windows.Forms.Label();\n            this.lblPartsTitle = new System.Windows.Forms.Label();\n            this.parts_btn2 = new System.Windows.Forms.Button();\n            this.parts_btn4 = new System.Windows.Forms.Button();\n            this.parts_btn5 = new System.Windows.Forms.Button();\n            this.parts_label = new System.Windows.Forms.Label();\n            this.lblProgress = new System.Windows.Forms.Label();\n            this.progress_txt = new System.Windows.Forms.Label();\n            this.btnSelectFiles = new System.Windows.Forms.Button();\n            this.openFileDialog2 = new System.Windows.Forms.OpenFileDialog();\n            this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();\n            this.pnlMain = new System.Windows.Forms.Panel();\n            this.panel2 = new System.Windows.Forms.Panel();\n            this.lblBitrate = new System.Windows.Forms.Label();\n            this.lblKbps = new System.Windows.Forms.Label();\n            this.bitrate = new System.Windows.Forms.NumericUpDown();\n            this.lblMaxLength = new System.Windows.Forms.Label();\n            this.lblSeconds = new System.Windows.Forms.Label();\n            this.chkSongName = new System.Windows.Forms.CheckBox();\n            this.duration = new System.Windows.Forms.NumericUpDown();\n            this.codec_label = new System.Windows.Forms.Label();\n            this.cmbBox_codec = new System.Windows.Forms.ComboBox();\n            this.panel3 = new System.Windows.Forms.Panel();\n            this.divider = new System.Windows.Forms.Label();\n            this.panel1 = new System.Windows.Forms.Panel();\n            this.btn_browse_collection = new System.Windows.Forms.Button();\n            this.chkUpdateCollection = new System.Windows.Forms.CheckBox();\n            this.txt_collection_path = new System.Windows.Forms.TextBox();\n            this.chkStemsFolder = new System.Windows.Forms.CheckBox();\n            this.chkStemRemoveFiles = new System.Windows.Forms.CheckBox();\n            this.pictureBox2 = new System.Windows.Forms.PictureBox();\n            this.chkNIStemTwoStems = new System.Windows.Forms.CheckBox();\n            this.chkNIStem = new System.Windows.Forms.CheckBox();\n            this.chkRecombine = new System.Windows.Forms.CheckBox();\n            this.pnlRecombine = new System.Windows.Forms.Panel();\n            this.chkRPartOther = new System.Windows.Forms.CheckBox();\n            this.chkRPartPiano = new System.Windows.Forms.CheckBox();\n            this.chkRPartDrums = new System.Windows.Forms.CheckBox();\n            this.chkRPartBass = new System.Windows.Forms.CheckBox();\n            this.chkRPartVocal = new System.Windows.Forms.CheckBox();\n            this.pictureBox1 = new System.Windows.Forms.PictureBox();\n            this.openFileDialogCollection = new System.Windows.Forms.OpenFileDialog();\n            this.btn_browse_collection_out = new System.Windows.Forms.Button();\n            this.txt_collection_path_out = new System.Windows.Forms.TextBox();\n            this.chkOverwriteCollection = new System.Windows.Forms.CheckBox();\n            this.menuStrip1.SuspendLayout();\n            this.pnlMain.SuspendLayout();\n            this.panel2.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.bitrate)).BeginInit();\n            ((System.ComponentModel.ISupportInitialize)(this.duration)).BeginInit();\n            this.panel3.SuspendLayout();\n            this.panel1.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();\n            this.pnlRecombine.SuspendLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();\n            this.SuspendLayout();\n            // \n            // stems2\n            // \n            this.stems2.Location = new System.Drawing.Point(0, 0);\n            this.stems2.Name = \"stems2\";\n            this.stems2.Size = new System.Drawing.Size(104, 24);\n            this.stems2.TabIndex = 36;\n            // \n            // stems4\n            // \n            this.stems4.Location = new System.Drawing.Point(0, 0);\n            this.stems4.Name = \"stems4\";\n            this.stems4.Size = new System.Drawing.Size(104, 24);\n            this.stems4.TabIndex = 35;\n            // \n            // stems5\n            // \n            this.stems5.Location = new System.Drawing.Point(0, 0);\n            this.stems5.Name = \"stems5\";\n            this.stems5.Size = new System.Drawing.Size(104, 24);\n            this.stems5.TabIndex = 34;\n            // \n            // menuStrip1\n            // \n            this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);\n            this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.fileToolStripMenuItem,\n            this.mnuLanguage,\n            this.advancedToolStripMenuItem,\n            this.helpToolStripMenuItem});\n            this.menuStrip1.Location = new System.Drawing.Point(0, 0);\n            this.menuStrip1.Name = \"menuStrip1\";\n            this.menuStrip1.Size = new System.Drawing.Size(522, 24);\n            this.menuStrip1.TabIndex = 9;\n            this.menuStrip1.Text = \"menuStrip1\";\n            // \n            // fileToolStripMenuItem\n            // \n            this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.exitToolStripMenuItem});\n            this.fileToolStripMenuItem.Name = \"fileToolStripMenuItem\";\n            this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);\n            this.fileToolStripMenuItem.Text = \"&File\";\n            // \n            // exitToolStripMenuItem\n            // \n            this.exitToolStripMenuItem.Name = \"exitToolStripMenuItem\";\n            this.exitToolStripMenuItem.Size = new System.Drawing.Size(93, 22);\n            this.exitToolStripMenuItem.Text = \"E&xit\";\n            this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);\n            // \n            // mnuLanguage\n            // \n            this.mnuLanguage.Name = \"mnuLanguage\";\n            this.mnuLanguage.Size = new System.Drawing.Size(71, 20);\n            this.mnuLanguage.Text = \"Language\";\n            // \n            // advancedToolStripMenuItem\n            // \n            this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.setPythonPathToolStripMenuItem1,\n            this.spleeterupgradeToolStripMenuItem});\n            this.advancedToolStripMenuItem.Name = \"advancedToolStripMenuItem\";\n            this.advancedToolStripMenuItem.Size = new System.Drawing.Size(72, 20);\n            this.advancedToolStripMenuItem.Text = \"&Advanced\";\n            // \n            // setPythonPathToolStripMenuItem1\n            // \n            this.setPythonPathToolStripMenuItem1.Name = \"setPythonPathToolStripMenuItem1\";\n            this.setPythonPathToolStripMenuItem1.Size = new System.Drawing.Size(209, 22);\n            this.setPythonPathToolStripMenuItem1.Text = \"&Set SpleeterGUI Core path\";\n            this.setPythonPathToolStripMenuItem1.Click += new System.EventHandler(this.setPythonPathToolStripMenuItem1_Click);\n            // \n            // spleeterupgradeToolStripMenuItem\n            // \n            this.spleeterupgradeToolStripMenuItem.Name = \"spleeterupgradeToolStripMenuItem\";\n            this.spleeterupgradeToolStripMenuItem.Size = new System.Drawing.Size(209, 22);\n            this.spleeterupgradeToolStripMenuItem.Text = \"&Update Spleeter version\";\n            this.spleeterupgradeToolStripMenuItem.Click += new System.EventHandler(this.spleeterupgradeToolStripMenuItem_Click);\n            // \n            // helpToolStripMenuItem\n            // \n            this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {\n            this.helpFAQToolStripMenuItem,\n            this.checkSpleeterGUIUpdateToolStripMenuItem,\n            this.toolStripMenuItem3,\n            this.spleeterGithubPageToolStripMenuItem,\n            this.makenItSoToolStripMenuItem1});\n            this.helpToolStripMenuItem.Name = \"helpToolStripMenuItem\";\n            this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);\n            this.helpToolStripMenuItem.Text = \"&Help\";\n            // \n            // helpFAQToolStripMenuItem\n            // \n            this.helpFAQToolStripMenuItem.Name = \"helpFAQToolStripMenuItem\";\n            this.helpFAQToolStripMenuItem.Size = new System.Drawing.Size(234, 22);\n            this.helpFAQToolStripMenuItem.Text = \"&Help and FAQ\";\n            this.helpFAQToolStripMenuItem.Click += new System.EventHandler(this.helpFAQToolStripMenuItem_Click);\n            // \n            // checkSpleeterGUIUpdateToolStripMenuItem\n            // \n            this.checkSpleeterGUIUpdateToolStripMenuItem.Name = \"checkSpleeterGUIUpdateToolStripMenuItem\";\n            this.checkSpleeterGUIUpdateToolStripMenuItem.Size = new System.Drawing.Size(234, 22);\n            this.checkSpleeterGUIUpdateToolStripMenuItem.Text = \"Check for SpleeterGUI &updates\";\n            this.checkSpleeterGUIUpdateToolStripMenuItem.Click += new System.EventHandler(this.checkSpleeterGUIUpdateToolStripMenuItem_Click);\n            // \n            // toolStripMenuItem3\n            // \n            this.toolStripMenuItem3.Name = \"toolStripMenuItem3\";\n            this.toolStripMenuItem3.Size = new System.Drawing.Size(231, 6);\n            // \n            // spleeterGithubPageToolStripMenuItem\n            // \n            this.spleeterGithubPageToolStripMenuItem.Name = \"spleeterGithubPageToolStripMenuItem\";\n            this.spleeterGithubPageToolStripMenuItem.Size = new System.Drawing.Size(234, 22);\n            this.spleeterGithubPageToolStripMenuItem.Text = \"SpleeterGUI &GitHub page\";\n            this.spleeterGithubPageToolStripMenuItem.Click += new System.EventHandler(this.spleeterGithubPageToolStripMenuItem_Click);\n            // \n            // makenItSoToolStripMenuItem1\n            // \n            this.makenItSoToolStripMenuItem1.Name = \"makenItSoToolStripMenuItem1\";\n            this.makenItSoToolStripMenuItem1.Size = new System.Drawing.Size(234, 22);\n            this.makenItSoToolStripMenuItem1.Text = \"&Maken It So GitHub\";\n            this.makenItSoToolStripMenuItem1.Click += new System.EventHandler(this.makenItSoToolStripMenuItem1_Click);\n            // \n            // btnSaveTo\n            // \n            this.btnSaveTo.AccessibleDescription = \"Choose folder to save separated files to\";\n            this.btnSaveTo.AccessibleName = \"Save to\";\n            this.btnSaveTo.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.btnSaveTo.Font = new System.Drawing.Font(\"Segoe UI\", 8.25F);\n            this.btnSaveTo.ForeColor = System.Drawing.Color.Black;\n            this.btnSaveTo.Location = new System.Drawing.Point(15, 7);\n            this.btnSaveTo.Name = \"btnSaveTo\";\n            this.btnSaveTo.Size = new System.Drawing.Size(97, 22);\n            this.btnSaveTo.TabIndex = 8;\n            this.btnSaveTo.Text = \"Save to\";\n            this.btnSaveTo.UseVisualStyleBackColor = true;\n            this.btnSaveTo.Click += new System.EventHandler(this.Button2_Click);\n            // \n            // txt_output_directory\n            // \n            this.txt_output_directory.AccessibleDescription = \"shows output directory location\";\n            this.txt_output_directory.AccessibleName = \"output directory display\";\n            this.txt_output_directory.AccessibleRole = System.Windows.Forms.AccessibleRole.StaticText;\n            this.txt_output_directory.Font = new System.Drawing.Font(\"Segoe UI\", 8.25F);\n            this.txt_output_directory.ForeColor = System.Drawing.Color.Black;\n            this.txt_output_directory.Location = new System.Drawing.Point(118, 7);\n            this.txt_output_directory.Name = \"txt_output_directory\";\n            this.txt_output_directory.Size = new System.Drawing.Size(364, 22);\n            this.txt_output_directory.TabIndex = 9;\n            // \n            // chkFullBandwidth\n            // \n            this.chkFullBandwidth.AccessibleDescription = \"enable high quality mode (may increase noise)\";\n            this.chkFullBandwidth.AccessibleName = \"full bandwidth\";\n            this.chkFullBandwidth.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;\n            this.chkFullBandwidth.AutoSize = true;\n            this.chkFullBandwidth.Checked = true;\n            this.chkFullBandwidth.CheckState = System.Windows.Forms.CheckState.Checked;\n            this.chkFullBandwidth.ForeColor = System.Drawing.Color.Black;\n            this.chkFullBandwidth.Location = new System.Drawing.Point(14, 11);\n            this.chkFullBandwidth.Name = \"chkFullBandwidth\";\n            this.chkFullBandwidth.Size = new System.Drawing.Size(192, 17);\n            this.chkFullBandwidth.TabIndex = 7;\n            this.chkFullBandwidth.Text = \"Full bandwidth (16kHz High quality)\";\n            this.chkFullBandwidth.UseVisualStyleBackColor = true;\n            this.chkFullBandwidth.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);\n            // \n            // textBox1\n            // \n            this.textBox1.AcceptsReturn = true;\n            this.textBox1.AccessibleDescription = \"spleeter debug output\";\n            this.textBox1.AccessibleName = \"Console output\";\n            this.textBox1.AccessibleRole = System.Windows.Forms.AccessibleRole.Text;\n            this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\n            this.textBox1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.textBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(102)))), ((int)(((byte)(204)))));\n            this.textBox1.Location = new System.Drawing.Point(4, 139);\n            this.textBox1.Multiline = true;\n            this.textBox1.Name = \"textBox1\";\n            this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;\n            this.textBox1.Size = new System.Drawing.Size(492, 229);\n            this.textBox1.TabIndex = 16;\n            // \n            // lblDroptext\n            // \n            this.lblDroptext.AutoSize = true;\n            this.lblDroptext.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lblDroptext.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));\n            this.lblDroptext.Location = new System.Drawing.Point(43, 39);\n            this.lblDroptext.Name = \"lblDroptext\";\n            this.lblDroptext.Size = new System.Drawing.Size(412, 24);\n            this.lblDroptext.TabIndex = 13;\n            this.lblDroptext.Text = \"Drop your music file(s) here to begin processing\";\n            // \n            // lblSlogan1\n            // \n            this.lblSlogan1.AutoSize = true;\n            this.lblSlogan1.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lblSlogan1.ForeColor = System.Drawing.Color.Gray;\n            this.lblSlogan1.Location = new System.Drawing.Point(308, 56);\n            this.lblSlogan1.Name = \"lblSlogan1\";\n            this.lblSlogan1.Size = new System.Drawing.Size(171, 18);\n            this.lblSlogan1.TabIndex = 0;\n            this.lblSlogan1.Text = \"Music source separation\";\n            // \n            // progressBar1\n            // \n            this.progressBar1.AccessibleDescription = \"Shows overall process completion\";\n            this.progressBar1.AccessibleName = \"Progress Bar\";\n            this.progressBar1.AccessibleRole = System.Windows.Forms.AccessibleRole.ProgressBar;\n            this.progressBar1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(120)))), ((int)(((byte)(215)))));\n            this.progressBar1.Location = new System.Drawing.Point(4, 116);\n            this.progressBar1.Name = \"progressBar1\";\n            this.progressBar1.Size = new System.Drawing.Size(491, 17);\n            this.progressBar1.TabIndex = 11;\n            // \n            // lblSlogan2\n            // \n            this.lblSlogan2.AutoSize = true;\n            this.lblSlogan2.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lblSlogan2.ForeColor = System.Drawing.Color.Gray;\n            this.lblSlogan2.Location = new System.Drawing.Point(308, 75);\n            this.lblSlogan2.Name = \"lblSlogan2\";\n            this.lblSlogan2.Size = new System.Drawing.Size(174, 18);\n            this.lblSlogan2.TabIndex = 1;\n            this.lblSlogan2.Text = \"Windows desktop bundle\";\n            // \n            // lblPartsTitle\n            // \n            this.lblPartsTitle.AutoSize = true;\n            this.lblPartsTitle.Font = new System.Drawing.Font(\"Microsoft Sans Serif\", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lblPartsTitle.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));\n            this.lblPartsTitle.Location = new System.Drawing.Point(19, 129);\n            this.lblPartsTitle.Name = \"lblPartsTitle\";\n            this.lblPartsTitle.Size = new System.Drawing.Size(148, 24);\n            this.lblPartsTitle.TabIndex = 2;\n            this.lblPartsTitle.Text = \"Parts to separate\";\n            // \n            // parts_btn2\n            // \n            this.parts_btn2.AccessibleDescription = \"Separate song in 2 parts\";\n            this.parts_btn2.AccessibleName = \"Two parts\";\n            this.parts_btn2.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.parts_btn2.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.parts_btn2.ForeColor = System.Drawing.Color.Black;\n            this.parts_btn2.Location = new System.Drawing.Point(173, 127);\n            this.parts_btn2.Name = \"parts_btn2\";\n            this.parts_btn2.Size = new System.Drawing.Size(34, 29);\n            this.parts_btn2.TabIndex = 3;\n            this.parts_btn2.Text = \"2\";\n            this.parts_btn2.UseVisualStyleBackColor = false;\n            this.parts_btn2.Click += new System.EventHandler(this.parts_btn2_Click);\n            // \n            // parts_btn4\n            // \n            this.parts_btn4.AccessibleDescription = \"Separate song in 4 parts\";\n            this.parts_btn4.AccessibleName = \"four parts\";\n            this.parts_btn4.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.parts_btn4.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.parts_btn4.ForeColor = System.Drawing.Color.Black;\n            this.parts_btn4.Location = new System.Drawing.Point(213, 127);\n            this.parts_btn4.Name = \"parts_btn4\";\n            this.parts_btn4.Size = new System.Drawing.Size(34, 29);\n            this.parts_btn4.TabIndex = 4;\n            this.parts_btn4.Text = \"4\";\n            this.parts_btn4.UseVisualStyleBackColor = true;\n            this.parts_btn4.Click += new System.EventHandler(this.parts_btn4_Click);\n            // \n            // parts_btn5\n            // \n            this.parts_btn5.AccessibleDescription = \"Separate song in 4 parts\";\n            this.parts_btn5.AccessibleName = \"five parts\";\n            this.parts_btn5.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.parts_btn5.Cursor = System.Windows.Forms.Cursors.Hand;\n            this.parts_btn5.ForeColor = System.Drawing.Color.Black;\n            this.parts_btn5.Location = new System.Drawing.Point(253, 127);\n            this.parts_btn5.Name = \"parts_btn5\";\n            this.parts_btn5.Size = new System.Drawing.Size(34, 29);\n            this.parts_btn5.TabIndex = 5;\n            this.parts_btn5.Text = \"5\";\n            this.parts_btn5.UseVisualStyleBackColor = true;\n            this.parts_btn5.Click += new System.EventHandler(this.parts_btn5_Click);\n            // \n            // parts_label\n            // \n            this.parts_label.AccessibleDescription = \"displays separated parts names\";\n            this.parts_label.AccessibleName = \"parts description\";\n            this.parts_label.AccessibleRole = System.Windows.Forms.AccessibleRole.Text;\n            this.parts_label.AutoSize = true;\n            this.parts_label.ForeColor = System.Drawing.Color.Black;\n            this.parts_label.Location = new System.Drawing.Point(293, 135);\n            this.parts_label.Name = \"parts_label\";\n            this.parts_label.Size = new System.Drawing.Size(122, 13);\n            this.parts_label.TabIndex = 6;\n            this.parts_label.Text = \"Vocal + Accompaniment\";\n            // \n            // lblProgress\n            // \n            this.lblProgress.AutoSize = true;\n            this.lblProgress.Font = new System.Drawing.Font(\"Segoe UI\", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.lblProgress.ForeColor = System.Drawing.Color.Black;\n            this.lblProgress.Location = new System.Drawing.Point(1, 96);\n            this.lblProgress.Name = \"lblProgress\";\n            this.lblProgress.Size = new System.Drawing.Size(61, 17);\n            this.lblProgress.TabIndex = 10;\n            this.lblProgress.Text = \"Progress\";\n            // \n            // progress_txt\n            // \n            this.progress_txt.AutoSize = true;\n            this.progress_txt.Font = new System.Drawing.Font(\"Segoe UI\", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\n            this.progress_txt.ForeColor = System.Drawing.Color.Black;\n            this.progress_txt.Location = new System.Drawing.Point(61, 96);\n            this.progress_txt.Name = \"progress_txt\";\n            this.progress_txt.Size = new System.Drawing.Size(29, 17);\n            this.progress_txt.TabIndex = 12;\n            this.progress_txt.Text = \"idle\";\n            // \n            // btnSelectFiles\n            // \n            this.btnSelectFiles.AccessibleDescription = \"Choose music files to begin processing\";\n            this.btnSelectFiles.AccessibleName = \"Choose music files\";\n            this.btnSelectFiles.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.btnSelectFiles.ForeColor = System.Drawing.Color.Black;\n            this.btnSelectFiles.Location = new System.Drawing.Point(186, 70);\n            this.btnSelectFiles.Name = \"btnSelectFiles\";\n            this.btnSelectFiles.Size = new System.Drawing.Size(124, 23);\n            this.btnSelectFiles.TabIndex = 15;\n            this.btnSelectFiles.Text = \"Or select music file(s)\";\n            this.btnSelectFiles.UseVisualStyleBackColor = true;\n            this.btnSelectFiles.Click += new System.EventHandler(this.button1_Click);\n            // \n            // openFileDialog2\n            // \n            this.openFileDialog2.Filter = \"Music Files|*.mp3;*.wav;*.ogg;*.m4a;*.wma;*.flac|All files (*.*)|*.*\";\n            this.openFileDialog2.Multiselect = true;\n            this.openFileDialog2.FileOk += new System.ComponentModel.CancelEventHandler(this.openFileDialog2_FileOk);\n            // \n            // pnlMain\n            // \n            this.pnlMain.Controls.Add(this.panel2);\n            this.pnlMain.Controls.Add(this.panel3);\n            this.pnlMain.Controls.Add(this.divider);\n            this.pnlMain.Controls.Add(this.panel1);\n            this.pnlMain.Location = new System.Drawing.Point(12, 182);\n            this.pnlMain.Name = \"pnlMain\";\n            this.pnlMain.Size = new System.Drawing.Size(504, 579);\n            this.pnlMain.TabIndex = 37;\n            // \n            // panel2\n            // \n            this.panel2.Controls.Add(this.lblBitrate);\n            this.panel2.Controls.Add(this.lblKbps);\n            this.panel2.Controls.Add(this.bitrate);\n            this.panel2.Controls.Add(this.chkFullBandwidth);\n            this.panel2.Controls.Add(this.lblMaxLength);\n            this.panel2.Controls.Add(this.lblSeconds);\n            this.panel2.Controls.Add(this.chkSongName);\n            this.panel2.Controls.Add(this.duration);\n            this.panel2.Controls.Add(this.codec_label);\n            this.panel2.Controls.Add(this.cmbBox_codec);\n            this.panel2.Location = new System.Drawing.Point(0, 2);\n            this.panel2.Name = \"panel2\";\n            this.panel2.Size = new System.Drawing.Size(504, 88);\n            this.panel2.TabIndex = 43;\n            // \n            // lblBitrate\n            // \n            this.lblBitrate.AutoSize = true;\n            this.lblBitrate.ForeColor = System.Drawing.Color.Black;\n            this.lblBitrate.Location = new System.Drawing.Point(14, 65);\n            this.lblBitrate.Name = \"lblBitrate\";\n            this.lblBitrate.Size = new System.Drawing.Size(37, 13);\n            this.lblBitrate.TabIndex = 40;\n            this.lblBitrate.Text = \"Bitrate\";\n            // \n            // lblKbps\n            // \n            this.lblKbps.AutoSize = true;\n            this.lblKbps.Location = new System.Drawing.Point(105, 65);\n            this.lblKbps.Name = \"lblKbps\";\n            this.lblKbps.Size = new System.Drawing.Size(30, 13);\n            this.lblKbps.TabIndex = 41;\n            this.lblKbps.Text = \"kbps\";\n            // \n            // bitrate\n            // \n            this.bitrate.Location = new System.Drawing.Point(53, 63);\n            this.bitrate.Maximum = new decimal(new int[] {\n            7200,\n            0,\n            0,\n            0});\n            this.bitrate.Name = \"bitrate\";\n            this.bitrate.Size = new System.Drawing.Size(49, 20);\n            this.bitrate.TabIndex = 42;\n            this.bitrate.Value = new decimal(new int[] {\n            128,\n            0,\n            0,\n            0});\n            this.bitrate.ValueChanged += new System.EventHandler(this.bitrate_ValueChanged);\n            // \n            // lblMaxLength\n            // \n            this.lblMaxLength.AutoSize = true;\n            this.lblMaxLength.ForeColor = System.Drawing.Color.Black;\n            this.lblMaxLength.Location = new System.Drawing.Point(14, 38);\n            this.lblMaxLength.Name = \"lblMaxLength\";\n            this.lblMaxLength.Size = new System.Drawing.Size(109, 13);\n            this.lblMaxLength.TabIndex = 17;\n            this.lblMaxLength.Text = \"Maximum song length\";\n            // \n            // lblSeconds\n            // \n            this.lblSeconds.AutoSize = true;\n            this.lblSeconds.Location = new System.Drawing.Point(175, 38);\n            this.lblSeconds.Name = \"lblSeconds\";\n            this.lblSeconds.Size = new System.Drawing.Size(47, 13);\n            this.lblSeconds.TabIndex = 18;\n            this.lblSeconds.Text = \"seconds\";\n            // \n            // chkSongName\n            // \n            this.chkSongName.AccessibleDescription = \"Writes input song file name to the output files\";\n            this.chkSongName.AccessibleName = \"Song name to output\";\n            this.chkSongName.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;\n            this.chkSongName.AutoSize = true;\n            this.chkSongName.Location = new System.Drawing.Point(309, 11);\n            this.chkSongName.Name = \"chkSongName\";\n            this.chkSongName.Size = new System.Drawing.Size(172, 17);\n            this.chkSongName.TabIndex = 39;\n            this.chkSongName.Text = \"Write input name to output files\";\n            this.chkSongName.UseVisualStyleBackColor = true;\n            this.chkSongName.CheckedChanged += new System.EventHandler(this.chkSongName_CheckedChanged);\n            // \n            // duration\n            // \n            this.duration.Location = new System.Drawing.Point(123, 36);\n            this.duration.Maximum = new decimal(new int[] {\n            7200,\n            0,\n            0,\n            0});\n            this.duration.Name = \"duration\";\n            this.duration.Size = new System.Drawing.Size(49, 20);\n            this.duration.TabIndex = 19;\n            this.duration.Value = new decimal(new int[] {\n            600,\n            0,\n            0,\n            0});\n            this.duration.ValueChanged += new System.EventHandler(this.duration_ValueChanged);\n            // \n            // codec_label\n            // \n            this.codec_label.AutoSize = true;\n            this.codec_label.Location = new System.Drawing.Point(324, 38);\n            this.codec_label.Name = \"codec_label\";\n            this.codec_label.Size = new System.Drawing.Size(72, 13);\n            this.codec_label.TabIndex = 21;\n            this.codec_label.Text = \"Output codec\";\n            // \n            // cmbBox_codec\n            // \n            this.cmbBox_codec.AccessibleDescription = \"Choose what codec you want the output to be in\";\n            this.cmbBox_codec.AccessibleName = \"Choose codec\";\n            this.cmbBox_codec.AccessibleRole = System.Windows.Forms.AccessibleRole.DropList;\n            this.cmbBox_codec.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\n            this.cmbBox_codec.FormattingEnabled = true;\n            this.cmbBox_codec.Items.AddRange(new object[] {\n            \"wav\",\n            \"mp3\",\n            \"ogg\",\n            \"m4a\",\n            \"wma\",\n            \"flac\"});\n            this.cmbBox_codec.Location = new System.Drawing.Point(402, 35);\n            this.cmbBox_codec.Name = \"cmbBox_codec\";\n            this.cmbBox_codec.Size = new System.Drawing.Size(79, 21);\n            this.cmbBox_codec.TabIndex = 20;\n            this.cmbBox_codec.SelectedIndexChanged += new System.EventHandler(this.cmbBox_codec_SelectedIndexChanged);\n            // \n            // panel3\n            // \n            this.panel3.Controls.Add(this.txt_output_directory);\n            this.panel3.Controls.Add(this.btnSaveTo);\n            this.panel3.Controls.Add(this.lblDroptext);\n            this.panel3.Controls.Add(this.btnSelectFiles);\n            this.panel3.Controls.Add(this.textBox1);\n            this.panel3.Controls.Add(this.progress_txt);\n            this.panel3.Controls.Add(this.lblProgress);\n            this.panel3.Controls.Add(this.progressBar1);\n            this.panel3.Location = new System.Drawing.Point(0, 89);\n            this.panel3.Name = \"panel3\";\n            this.panel3.Size = new System.Drawing.Size(504, 376);\n            this.panel3.TabIndex = 43;\n            // \n            // divider\n            // \n            this.divider.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;\n            this.divider.Location = new System.Drawing.Point(0, 471);\n            this.divider.Name = \"divider\";\n            this.divider.Size = new System.Drawing.Size(504, 2);\n            this.divider.TabIndex = 42;\n            // \n            // panel1\n            // \n            this.panel1.Controls.Add(this.chkOverwriteCollection);\n            this.panel1.Controls.Add(this.btn_browse_collection_out);\n            this.panel1.Controls.Add(this.txt_collection_path_out);\n            this.panel1.Controls.Add(this.btn_browse_collection);\n            this.panel1.Controls.Add(this.chkUpdateCollection);\n            this.panel1.Controls.Add(this.txt_collection_path);\n            this.panel1.Controls.Add(this.chkStemsFolder);\n            this.panel1.Controls.Add(this.chkStemRemoveFiles);\n            this.panel1.Controls.Add(this.pictureBox2);\n            this.panel1.Controls.Add(this.chkNIStemTwoStems);\n            this.panel1.Controls.Add(this.chkNIStem);\n            this.panel1.Location = new System.Drawing.Point(0, 476);\n            this.panel1.Name = \"panel1\";\n            this.panel1.Size = new System.Drawing.Size(504, 100);\n            this.panel1.TabIndex = 41;\n            // \n            // btn_browse_collection\n            // \n            this.btn_browse_collection.AccessibleDescription = \"Choose the collection to read from\";\n            this.btn_browse_collection.AccessibleName = \"Browse\";\n            this.btn_browse_collection.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.btn_browse_collection.Font = new System.Drawing.Font(\"Segoe UI\", 8.25F);\n            this.btn_browse_collection.ForeColor = System.Drawing.Color.Black;\n            this.btn_browse_collection.Location = new System.Drawing.Point(458, 54);\n            this.btn_browse_collection.Name = \"btn_browse_collection\";\n            this.btn_browse_collection.Size = new System.Drawing.Size(40, 22);\n            this.btn_browse_collection.TabIndex = 17;\n            this.btn_browse_collection.Text = \"...\";\n            this.btn_browse_collection.UseVisualStyleBackColor = true;\n            this.btn_browse_collection.Click += new System.EventHandler(this.btn_browse_collection_Click);\n            // \n            // chkUpdateCollection\n            // \n            this.chkUpdateCollection.AccessibleDescription = \"Update an .nml with the data from the splitted song\";\n            this.chkUpdateCollection.AccessibleName = \"Update Collection\";\n            this.chkUpdateCollection.AutoSize = true;\n            this.chkUpdateCollection.Location = new System.Drawing.Point(4, 56);\n            this.chkUpdateCollection.Name = \"chkUpdateCollection\";\n            this.chkUpdateCollection.Size = new System.Drawing.Size(110, 17);\n            this.chkUpdateCollection.TabIndex = 45;\n            this.chkUpdateCollection.Text = \"Update Collection\";\n            this.chkUpdateCollection.UseVisualStyleBackColor = false;\n            this.chkUpdateCollection.CheckedChanged += new System.EventHandler(this.chkUpdateCollection_CheckedChanged);\n            // \n            // txt_collection_path\n            // \n            this.txt_collection_path.AccessibleDescription = \"shows input collection location\";\n            this.txt_collection_path.AccessibleName = \"input collection display\";\n            this.txt_collection_path.AccessibleRole = System.Windows.Forms.AccessibleRole.StaticText;\n            this.txt_collection_path.Font = new System.Drawing.Font(\"Segoe UI\", 8.25F);\n            this.txt_collection_path.ForeColor = System.Drawing.Color.Black;\n            this.txt_collection_path.Location = new System.Drawing.Point(118, 54);\n            this.txt_collection_path.Name = \"txt_collection_path\";\n            this.txt_collection_path.Size = new System.Drawing.Size(337, 22);\n            this.txt_collection_path.TabIndex = 17;\n            // \n            // chkStemsFolder\n            // \n            this.chkStemsFolder.AutoSize = true;\n            this.chkStemsFolder.Checked = true;\n            this.chkStemsFolder.CheckState = System.Windows.Forms.CheckState.Checked;\n            this.chkStemsFolder.Location = new System.Drawing.Point(215, 26);\n            this.chkStemsFolder.Name = \"chkStemsFolder\";\n            this.chkStemsFolder.Size = new System.Drawing.Size(129, 17);\n            this.chkStemsFolder.TabIndex = 44;\n            this.chkStemsFolder.Text = \"Save to \\'stems\\' Folder\";\n            this.chkStemsFolder.UseVisualStyleBackColor = false;\n            // \n            // chkStemRemoveFiles\n            // \n            this.chkStemRemoveFiles.AccessibleDescription = \"Remove intermediary files when creating NI Stems\";\n            this.chkStemRemoveFiles.AccessibleName = \"Remove Working Files\";\n            this.chkStemRemoveFiles.AutoSize = true;\n            this.chkStemRemoveFiles.Checked = true;\n            this.chkStemRemoveFiles.CheckState = System.Windows.Forms.CheckState.Checked;\n            this.chkStemRemoveFiles.Location = new System.Drawing.Point(121, 3);\n            this.chkStemRemoveFiles.Name = \"chkStemRemoveFiles\";\n            this.chkStemRemoveFiles.Size = new System.Drawing.Size(133, 17);\n            this.chkStemRemoveFiles.TabIndex = 43;\n            this.chkStemRemoveFiles.Text = \"Remove Working Files\";\n            this.chkStemRemoveFiles.UseVisualStyleBackColor = true;\n            // \n            // pictureBox2\n            // \n            this.pictureBox2.AccessibleDescription = \"NI Stem Logo\";\n            this.pictureBox2.AccessibleName = \"NI Stem Logo\";\n            this.pictureBox2.AccessibleRole = System.Windows.Forms.AccessibleRole.Graphic;\n            this.pictureBox2.Image = global::SpleeterGui.Properties.Resources.stems_logo_full;\n            this.pictureBox2.Location = new System.Drawing.Point(346, -5);\n            this.pictureBox2.Name = \"pictureBox2\";\n            this.pictureBox2.Size = new System.Drawing.Size(155, 53);\n            this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;\n            this.pictureBox2.TabIndex = 42;\n            this.pictureBox2.TabStop = false;\n            // \n            // chkNIStemTwoStems\n            // \n            this.chkNIStemTwoStems.AccessibleDescription = \"Runs a script that generates a Native Instruments stem file from 2 stems\";\n            this.chkNIStemTwoStems.AccessibleName = \"Generate NI 2 Stem\";\n            this.chkNIStemTwoStems.AutoSize = true;\n            this.chkNIStemTwoStems.Location = new System.Drawing.Point(4, 26);\n            this.chkNIStemTwoStems.Name = \"chkNIStemTwoStems\";\n            this.chkNIStemTwoStems.Size = new System.Drawing.Size(205, 17);\n            this.chkNIStemTwoStems.TabIndex = 41;\n            this.chkNIStemTwoStems.Text = \"Generate NI Container from two stems\";\n            this.chkNIStemTwoStems.UseVisualStyleBackColor = true;\n            this.chkNIStemTwoStems.CheckedChanged += new System.EventHandler(this.chkNIStemTwoStems_CheckedChanged);\n            // \n            // chkNIStem\n            // \n            this.chkNIStem.AccessibleDescription = \"Runs a script that generates a Native Instruments stem file from 4 stems\";\n            this.chkNIStem.AccessibleName = \"Generate NI Stem\";\n            this.chkNIStem.AutoSize = true;\n            this.chkNIStem.Location = new System.Drawing.Point(4, 3);\n            this.chkNIStem.Name = \"chkNIStem\";\n            this.chkNIStem.Size = new System.Drawing.Size(111, 17);\n            this.chkNIStem.TabIndex = 40;\n            this.chkNIStem.Text = \"Generate NI Stem\";\n            this.chkNIStem.UseVisualStyleBackColor = true;\n            this.chkNIStem.CheckedChanged += new System.EventHandler(this.chkNIStem_CheckedChanged);\n            // \n            // chkRecombine\n            // \n            this.chkRecombine.AutoSize = true;\n            this.chkRecombine.ForeColor = System.Drawing.Color.Black;\n            this.chkRecombine.Location = new System.Drawing.Point(3, 3);\n            this.chkRecombine.Name = \"chkRecombine\";\n            this.chkRecombine.Size = new System.Drawing.Size(247, 17);\n            this.chkRecombine.TabIndex = 38;\n            this.chkRecombine.Text = \"Recombine (Merge output parts back together)\";\n            this.chkRecombine.UseVisualStyleBackColor = true;\n            this.chkRecombine.CheckedChanged += new System.EventHandler(this.chkRecombine_CheckedChanged);\n            // \n            // pnlRecombine\n            // \n            this.pnlRecombine.Controls.Add(this.chkRPartOther);\n            this.pnlRecombine.Controls.Add(this.chkRecombine);\n            this.pnlRecombine.Controls.Add(this.chkRPartPiano);\n            this.pnlRecombine.Controls.Add(this.chkRPartDrums);\n            this.pnlRecombine.Controls.Add(this.chkRPartBass);\n            this.pnlRecombine.Controls.Add(this.chkRPartVocal);\n            this.pnlRecombine.Location = new System.Drawing.Point(23, 162);\n            this.pnlRecombine.Name = \"pnlRecombine\";\n            this.pnlRecombine.Size = new System.Drawing.Size(493, 14);\n            this.pnlRecombine.TabIndex = 39;\n            // \n            // chkRPartOther\n            // \n            this.chkRPartOther.AutoSize = true;\n            this.chkRPartOther.ForeColor = System.Drawing.Color.Black;\n            this.chkRPartOther.Location = new System.Drawing.Point(255, 26);\n            this.chkRPartOther.Name = \"chkRPartOther\";\n            this.chkRPartOther.Size = new System.Drawing.Size(52, 17);\n            this.chkRPartOther.TabIndex = 5;\n            this.chkRPartOther.Text = \"Other\";\n            this.chkRPartOther.UseVisualStyleBackColor = true;\n            // \n            // chkRPartPiano\n            // \n            this.chkRPartPiano.AutoSize = true;\n            this.chkRPartPiano.ForeColor = System.Drawing.Color.Black;\n            this.chkRPartPiano.Location = new System.Drawing.Point(197, 26);\n            this.chkRPartPiano.Name = \"chkRPartPiano\";\n            this.chkRPartPiano.Size = new System.Drawing.Size(53, 17);\n            this.chkRPartPiano.TabIndex = 4;\n            this.chkRPartPiano.Text = \"Piano\";\n            this.chkRPartPiano.UseVisualStyleBackColor = true;\n            // \n            // chkRPartDrums\n            // \n            this.chkRPartDrums.AutoSize = true;\n            this.chkRPartDrums.ForeColor = System.Drawing.Color.Black;\n            this.chkRPartDrums.Location = new System.Drawing.Point(136, 26);\n            this.chkRPartDrums.Name = \"chkRPartDrums\";\n            this.chkRPartDrums.Size = new System.Drawing.Size(56, 17);\n            this.chkRPartDrums.TabIndex = 3;\n            this.chkRPartDrums.Text = \"Drums\";\n            this.chkRPartDrums.UseVisualStyleBackColor = true;\n            // \n            // chkRPartBass\n            // \n            this.chkRPartBass.AutoSize = true;\n            this.chkRPartBass.ForeColor = System.Drawing.Color.Black;\n            this.chkRPartBass.Location = new System.Drawing.Point(82, 26);\n            this.chkRPartBass.Name = \"chkRPartBass\";\n            this.chkRPartBass.Size = new System.Drawing.Size(49, 17);\n            this.chkRPartBass.TabIndex = 2;\n            this.chkRPartBass.Text = \"Bass\";\n            this.chkRPartBass.UseVisualStyleBackColor = true;\n            // \n            // chkRPartVocal\n            // \n            this.chkRPartVocal.AutoSize = true;\n            this.chkRPartVocal.ForeColor = System.Drawing.Color.Black;\n            this.chkRPartVocal.Location = new System.Drawing.Point(24, 26);\n            this.chkRPartVocal.Name = \"chkRPartVocal\";\n            this.chkRPartVocal.Size = new System.Drawing.Size(53, 17);\n            this.chkRPartVocal.TabIndex = 1;\n            this.chkRPartVocal.Text = \"Vocal\";\n            this.chkRPartVocal.UseVisualStyleBackColor = true;\n            // \n            // pictureBox1\n            // \n            this.pictureBox1.AccessibleDescription = \"Spleeter logo\";\n            this.pictureBox1.AccessibleName = \"Spleeter logo\";\n            this.pictureBox1.AccessibleRole = System.Windows.Forms.AccessibleRole.Graphic;\n            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject(\"pictureBox1.Image\")));\n            this.pictureBox1.Location = new System.Drawing.Point(23, 36);\n            this.pictureBox1.Name = \"pictureBox1\";\n            this.pictureBox1.Size = new System.Drawing.Size(279, 71);\n            this.pictureBox1.TabIndex = 22;\n            this.pictureBox1.TabStop = false;\n            // \n            // openFileDialogCollection\n            // \n            this.openFileDialogCollection.Filter = \"Collection|*.nml;*.xml|All files (*.*)|*.*\";\n            // \n            // btn_browse_collection_out\n            // \n            this.btn_browse_collection_out.AccessibleDescription = \"Choose the collection to write to\";\n            this.btn_browse_collection_out.AccessibleName = \"Browse\";\n            this.btn_browse_collection_out.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;\n            this.btn_browse_collection_out.Font = new System.Drawing.Font(\"Segoe UI\", 8.25F);\n            this.btn_browse_collection_out.ForeColor = System.Drawing.Color.Black;\n            this.btn_browse_collection_out.Location = new System.Drawing.Point(458, 78);\n            this.btn_browse_collection_out.Name = \"btn_browse_collection_out\";\n            this.btn_browse_collection_out.Size = new System.Drawing.Size(40, 22);\n            this.btn_browse_collection_out.TabIndex = 46;\n            this.btn_browse_collection_out.Text = \"...\";\n            this.btn_browse_collection_out.UseVisualStyleBackColor = true;\n            this.btn_browse_collection_out.Click += new System.EventHandler(this.btn_browse_collection_out_Click);\n            // \n            // txt_collection_path_out\n            // \n            this.txt_collection_path_out.AccessibleDescription = \"shows output collection location\";\n            this.txt_collection_path_out.AccessibleName = \"output collection display\";\n            this.txt_collection_path_out.AccessibleRole = System.Windows.Forms.AccessibleRole.StaticText;\n            this.txt_collection_path_out.Font = new System.Drawing.Font(\"Segoe UI\", 8.25F);\n            this.txt_collection_path_out.ForeColor = System.Drawing.Color.Black;\n            this.txt_collection_path_out.Location = new System.Drawing.Point(118, 78);\n            this.txt_collection_path_out.Name = \"txt_collection_path_out\";\n            this.txt_collection_path_out.Size = new System.Drawing.Size(337, 22);\n            this.txt_collection_path_out.TabIndex = 47;\n            // \n            // chkOverwriteCollection\n            // \n            this.chkOverwriteCollection.AccessibleDescription = \"Create a new collection, overwriting the existing one\";\n            this.chkOverwriteCollection.AccessibleName = \"Clear Collection\";\n            this.chkOverwriteCollection.AutoSize = true;\n            this.chkOverwriteCollection.Location = new System.Drawing.Point(4, 80);\n            this.chkOverwriteCollection.Name = \"chkOverwriteCollection\";\n            this.chkOverwriteCollection.Size = new System.Drawing.Size(99, 17);\n            this.chkOverwriteCollection.TabIndex = 48;\n            this.chkOverwriteCollection.Text = \"Clear Collection\";\n            this.chkOverwriteCollection.UseVisualStyleBackColor = false;\n            // \n            // Form1\n            // \n            this.AllowDrop = true;\n            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\n            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\n            this.BackColor = System.Drawing.Color.White;\n            this.ClientSize = new System.Drawing.Size(522, 763);\n            this.Controls.Add(this.pnlRecombine);\n            this.Controls.Add(this.pnlMain);\n            this.Controls.Add(this.parts_label);\n            this.Controls.Add(this.parts_btn5);\n            this.Controls.Add(this.parts_btn4);\n            this.Controls.Add(this.parts_btn2);\n            this.Controls.Add(this.lblPartsTitle);\n            this.Controls.Add(this.lblSlogan2);\n            this.Controls.Add(this.menuStrip1);\n            this.Controls.Add(this.lblSlogan1);\n            this.Controls.Add(this.pictureBox1);\n            this.Controls.Add(this.stems5);\n            this.Controls.Add(this.stems4);\n            this.Controls.Add(this.stems2);\n            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;\n            this.Icon = ((System.Drawing.Icon)(resources.GetObject(\"$this.Icon\")));\n            this.MainMenuStrip = this.menuStrip1;\n            this.Margin = new System.Windows.Forms.Padding(2);\n            this.MaximizeBox = false;\n            this.Name = \"Form1\";\n            this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;\n            this.Text = \"SpleeterGUI\";\n            this.Load += new System.EventHandler(this.Form1_Load);\n            this.Shown += new System.EventHandler(this.Form1_Shown);\n            this.menuStrip1.ResumeLayout(false);\n            this.menuStrip1.PerformLayout();\n            this.pnlMain.ResumeLayout(false);\n            this.panel2.ResumeLayout(false);\n            this.panel2.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.bitrate)).EndInit();\n            ((System.ComponentModel.ISupportInitialize)(this.duration)).EndInit();\n            this.panel3.ResumeLayout(false);\n            this.panel3.PerformLayout();\n            this.panel1.ResumeLayout(false);\n            this.panel1.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();\n            this.pnlRecombine.ResumeLayout(false);\n            this.pnlRecombine.PerformLayout();\n            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();\n            this.ResumeLayout(false);\n            this.PerformLayout();\n\n        }\n\n        #endregion\n        private System.Windows.Forms.RadioButton stems2;\n        private System.Windows.Forms.RadioButton stems4;\n        private System.Windows.Forms.RadioButton stems5;\n        private System.Windows.Forms.MenuStrip menuStrip1;\n        private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;\n        private System.Windows.Forms.Button btnSaveTo;\n        private System.Windows.Forms.TextBox txt_output_directory;\n        private System.Windows.Forms.CheckBox chkFullBandwidth;\n        private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;\n        private System.Windows.Forms.TextBox textBox1;\n        private System.Windows.Forms.ToolStripMenuItem helpFAQToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem spleeterGithubPageToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem makenItSoToolStripMenuItem1;\n        private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;\n        private System.Windows.Forms.Label lblDroptext;\n        private System.Windows.Forms.PictureBox pictureBox1;\n        private System.Windows.Forms.Label lblSlogan1;\n        private System.Windows.Forms.ProgressBar progressBar1;\n        private System.Windows.Forms.Label lblSlogan2;\n        private System.Windows.Forms.Label lblPartsTitle;\n        private System.Windows.Forms.Button parts_btn2;\n        private System.Windows.Forms.Button parts_btn4;\n        private System.Windows.Forms.Button parts_btn5;\n        private System.Windows.Forms.Label parts_label;\n        private System.Windows.Forms.Label lblProgress;\n        private System.Windows.Forms.Label progress_txt;\n        private System.Windows.Forms.Button btnSelectFiles;\n        private System.Windows.Forms.OpenFileDialog openFileDialog2;\n        private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;\n        private System.Windows.Forms.ToolStripMenuItem checkSpleeterGUIUpdateToolStripMenuItem;\n        private System.Windows.Forms.Panel pnlMain;\n        private System.Windows.Forms.CheckBox chkRecombine;\n        private System.Windows.Forms.Panel pnlRecombine;\n        private System.Windows.Forms.CheckBox chkRPartOther;\n        private System.Windows.Forms.CheckBox chkRPartPiano;\n        private System.Windows.Forms.CheckBox chkRPartDrums;\n        private System.Windows.Forms.CheckBox chkRPartBass;\n        private System.Windows.Forms.CheckBox chkRPartVocal;\n        private System.Windows.Forms.ToolStripMenuItem mnuLanguage;\n        private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem;\n        private System.Windows.Forms.ToolStripMenuItem setPythonPathToolStripMenuItem1;\n        private System.Windows.Forms.Label lblSeconds;\n        private System.Windows.Forms.Label lblMaxLength;\n        private System.Windows.Forms.NumericUpDown duration;\n        private System.Windows.Forms.Label codec_label;\n        private System.Windows.Forms.CheckBox chkSongName;\n        private System.Windows.Forms.ComboBox cmbBox_codec;\n        private System.Windows.Forms.CheckBox chkNIStem;\n        private System.Windows.Forms.Panel panel1;\n        private System.Windows.Forms.PictureBox pictureBox2;\n        private System.Windows.Forms.CheckBox chkNIStemTwoStems;\n        private System.Windows.Forms.CheckBox chkStemRemoveFiles;\n        private System.Windows.Forms.ToolStripMenuItem spleeterupgradeToolStripMenuItem;\n        private System.Windows.Forms.CheckBox chkStemsFolder;\n        private System.Windows.Forms.Label divider;\n        private System.Windows.Forms.Panel panel3;\n        private System.Windows.Forms.Panel panel2;\n        private System.Windows.Forms.Label lblBitrate;\n        private System.Windows.Forms.Label lblKbps;\n        private System.Windows.Forms.NumericUpDown bitrate;\n        private System.Windows.Forms.Button btn_browse_collection;\n        private System.Windows.Forms.CheckBox chkUpdateCollection;\n        private System.Windows.Forms.TextBox txt_collection_path;\n        private System.Windows.Forms.OpenFileDialog openFileDialogCollection;\n        private System.Windows.Forms.Button btn_browse_collection_out;\n        private System.Windows.Forms.TextBox txt_collection_path_out;\n        private System.Windows.Forms.CheckBox chkOverwriteCollection;\n    }\n}\n\n"
  },
  {
    "path": "SpleeterGui/Form1.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Diagnostics;\nusing System.Drawing;\nusing System.IO;\nusing System.Linq;\n\nusing System.Net;\nusing System.Reflection;\nusing System.Runtime.InteropServices;\nusing System.Text;\nusing System.Threading;\nusing System.Threading.Tasks;\nusing System.Web.Script.Serialization;\nusing System.Windows.Forms;\nusing System.Xml;\n\n/* TODO:\n * \n * Fix NI-stem to be able to use different bitrates (higher than 128k)\n * \n * \n * Make the panels a groupbox and disable all of them when running, so the user can't screw things up (right now the user can uncheck things)\n * /\\ - Changing checkbox states while the program is running crashes things, but the user has to be pretty stupid to try this\n * Refactor the Stem-building and ffmpeg stuff\n * \n * \n * */\n\nnamespace SpleeterGui\n{\n    public partial class Form1 : Form\n    {\n        private bool stemSyncerBackup = false;\n        private string stem_count = \"2\";\n        private string mask_extension = \"average\";\n        private string storage = \"\";\n\n        private string path_python = \"\";    //needs to be the SpleeterGUI folder, not python\n\n        private string current_song = \"\";\n        private string current_songname = \"\";\n        private int files_remain = 0;\n        private List<string> files_to_process = new List<string>();\n        private Boolean run_silent = true;\n        private String gui_version = \"\";\n        IDictionary<string, string> langStr = new Dictionary<string, string>();\n\n        public Form1()\n        {\n            InitializeComponent();\n        }\n\n        private void Form1_Load(object sender, EventArgs e)\n        {\n            this.AllowDrop = true;\n            this.DragEnter += new DragEventHandler(Form1_DragEnter);\n            this.DragDrop += new DragEventHandler(Form1_DragDrop);\n        }\n\n        private void Form1_Shown(object sender, EventArgs e)\n        {\n            LoadStuff();\n        }\n\n        public void LoadStuff()\n        {\n            //program startup - initialise things\n            txt_output_directory.Text = Properties.Settings.Default.output_location;\n            cmbBox_codec.SelectedIndex = Properties.Settings.Default.codec;\n            chkSongName.Checked = Properties.Settings.Default.songName;\n            txt_collection_path.Text = Properties.Settings.Default.collection_location;\n            txt_collection_path_out.Text = Properties.Settings.Default.collection_out_location;\n\n            if (Properties.Settings.Default.path_python == \"\")\n            {\n                path_python = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @\"\\SpleeterGUI\\python\";\n                storage = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @\"\\SpleeterGUI\";\n            }\n            else\n            {\n                path_python = Properties.Settings.Default.path_python + @\"\\python\";\n                storage = Properties.Settings.Default.path_python;\n            }\n\n\n            gui_version = Assembly.GetExecutingAssembly().GetName().Version.ToString();\n            String version = Assembly.GetExecutingAssembly().GetName().Version.Major.ToString() + \".\" + Assembly.GetExecutingAssembly().GetName().Version.Minor.ToString();\n            this.Text = \"SpleeterGUI \" + version;\n\n\n\n            bitrate.Value = Properties.Settings.Default.bitrate;\n            duration.Value = Properties.Settings.Default.duration;\n\n            update_checks();\n            get_languages();\n            update_language(Properties.Settings.Default.language);\n\n            string txt = langStr[\"LoadStuff_textBox1\"];\n            txt = txt.Replace(\"[NL]\", \"\\r\\n\");\n            textBox1.Text = txt + \"...\\r\\n\";\n            run_cmd(\"pip show spleeter\");\n\n            textBox1.AppendText(storage + \"\\r\\n\");\n        }\n\n        void get_languages()\n        {\n            //find and load language files in to menu toolstrip\n            ToolStrip language_menu = new ToolStrip();\n            var enviroment = System.Environment.CurrentDirectory;\n            string[] fileEntries = Directory.GetFiles(enviroment + \"\\\\languages\");\n\n\n            ToolStripMenuItem[] items = new ToolStripMenuItem[fileEntries.Length];\n            int i = 0;\n            foreach (string fileName in fileEntries)\n            {\n                string name = Path.GetFileName(fileName);\n                XmlDataDocument xmldoc = new XmlDataDocument();\n                XmlNodeList xmlnode;\n                FileStream fs = new FileStream(enviroment + \"\\\\languages\\\\\" + name, FileMode.Open, FileAccess.Read);\n                xmldoc.Load(fs);\n                xmlnode = xmldoc.GetElementsByTagName(\"language\");\n                string lang_text = xmlnode[0].ChildNodes.Item(0).InnerText.Trim();\n\n                items[i] = new ToolStripMenuItem();\n                items[i].Text = lang_text + \" (\" + name.Replace(\".xml\", \"\") + \")\";\n                items[i].Tag = name.Replace(\".xml\", \"\");\n                items[i].Click += new EventHandler(LanguageItemClickHandler);\n                i++;\n            }\n            this.mnuLanguage.DropDownItems.AddRange(items);\n        }\n\n        private void LanguageItemClickHandler(object sender, EventArgs e)\n        {\n            //a language is chosen by the user, load it up\n            ToolStripMenuItem clickedItem = (ToolStripMenuItem)sender;\n            update_language(clickedItem.Tag.ToString());\n        }\n\n        void update_language(string lang_name)\n        {\n            // Read the XML language files, iterate through menu's & controls and update labels.\n            Properties.Settings.Default.language = lang_name;\n            Properties.Settings.Default.Save();\n            XmlDataDocument xmldoc = new XmlDataDocument();\n            XmlNodeList xmlnode;\n            int i = 0;\n            string control_name = null;\n            string control_label = null;\n            var enviroment = System.Environment.CurrentDirectory;\n            FileStream fs = new FileStream(enviroment + \"\\\\languages\\\\\" + lang_name + \".xml\", FileMode.Open, FileAccess.Read);\n            xmldoc.Load(fs);\n            xmlnode = xmldoc.GetElementsByTagName(\"item\");  //load control texts\n            for (i = 0; i <= xmlnode.Count - 1; i++)\n            {\n                xmlnode[i].ChildNodes.Item(0).InnerText.Trim();\n                control_label = xmlnode[i].ChildNodes.Item(0).InnerText.Trim();\n                control_name = xmlnode[i].Attributes[\"control\"].InnerText;\n\n                Control ctn = Controls.Find(control_name, true)[0];\n                ctn.Text = control_label;\n            }\n            xmlnode = xmldoc.GetElementsByTagName(\"menu\");  //load menu texts\n            for (i = 0; i <= xmlnode.Count - 1; i++)\n            {\n                xmlnode[i].ChildNodes.Item(0).InnerText.Trim();\n                control_label = xmlnode[i].ChildNodes.Item(0).InnerText.Trim();\n                control_name = xmlnode[i].Attributes[\"control\"].InnerText;\n\n                foreach (ToolStripMenuItem item in menuStrip1.Items)\n                {\n                    if (item.Name == control_name)\n                    {\n                        item.Text = control_label;\n                    }\n                    foreach (ToolStripMenuItem subitem in item.DropDownItems.OfType<ToolStripMenuItem>())\n                    {\n                        if (subitem.Name == control_name)\n                        {\n                            subitem.Text = control_label;\n                        }\n                    }\n                }\n            }\n            xmlnode = xmldoc.GetElementsByTagName(\"lang\");  //load all the program texts\n            for (i = 0; i <= xmlnode.Count - 1; i++)\n            {\n                xmlnode[i].ChildNodes.Item(0).InnerText.Trim();\n                control_label = xmlnode[i].ChildNodes.Item(0).InnerText.Trim();\n                control_name = xmlnode[i].Attributes[\"control\"].InnerText;\n                langStr[control_name] = control_label;\n            }\n            progress_txt.Text = langStr[\"idle\"];\n        }\n\n        void Form1_DragEnter(object sender, DragEventArgs e)\n        {\n            if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;\n        }\n\n        void Form1_DragDrop(object sender, DragEventArgs e)\n        {\n            //music files have been dropped on the app, start processing them\n            if (files_remain == 0)\n            {\n                textBox1.Text = \"\";\n                if (txt_output_directory.Text == \"\")\n                {\n                    MessageBox.Show(langStr[\"output_message\"]);\n                    return;\n                }\n\n                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);\n                files_remain = 0;\n                foreach (string file in files)\n                {\n                    files_to_process.Add(file);\n                    files_remain++;\n                }\n                textBox1.AppendText(langStr[\"starting_all\"] + \"\\r\\n\");\n                progressBar1.Maximum = files_remain + 1;\n                progressBar1.Value = 0;\n                progress_txt.Text = langStr[\"starting\"] + \"...\" + files_remain + \" \" + langStr[\"songs_remaining\"];\n                next_song();\n            }\n            else\n            {\n                System.Media.SystemSounds.Asterisk.Play();\n            }\n        }\n\n        private void checkForSpleeterError()\n        {\n            bool somethingWentWrong;\n\n            if (chkSongName.Checked == true)\n            {\n\n\n                somethingWentWrong = (current_songname != \"\" &&\n                ((stem_count == \"2\" &&\n                (!File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - accompaniment.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n                ) ||\n                (stem_count == \"4\" &&\n                (!File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n                ) ||\n                (stem_count == \"5\" &&\n                (!File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - piano.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem))))));\n            }\n            else\n            {\n                somethingWentWrong = (current_songname != \"\" &&\n                ((stem_count == \"2\" &&\n                (!File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"accompaniment.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n                ) ||\n                (stem_count == \"4\" &&\n                (!File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n                ) ||\n                (stem_count == \"5\" &&\n                (!File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"piano.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)) ||\n                !File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + \"other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem))))));\n            }\n\n            if (somethingWentWrong)\n            {\n                spleeterError();\n            }\n\n        }\n\n        private void spleeterError()\n        {\n            // Process exited but no files were created!!! Error!\n            textBox1.Text += \"\\r\\n \\r\\n\" +\n            \"Error: Spleeter exited but no files were created! \\r\\n\" +\n            \"==================================== \\r\\n\" +\n            \"Files containing spaces at the end e.g. 'songfilename .mp3' are problematic and crash Spleeter. \\r\\n\" +\n            \"Try renaming the file! \\r\\n\";\n\n            System.Media.SystemSounds.Exclamation.Play();\n            MessageBox.Show(\"Error: Spleeter exited but no files were created! \\n\" +\n                \"Files containing spaces at the end e.g. 'songfilename .mp3' are problematic and crash Spleeter. \\n\" +\n                \"Try renaming the file!\");\n\n\n            //System.Media.SystemSounds.Exclamation.Play();\n            //MessageBox.Show(\"Error: Spleeter exited but no files were created! \\n\" +\n            //    \"The input file somehow crashed Spleeter. This could be due to the file name. \\n\" +\n            //    \"Files containing spaces such as 'songfilename .mp3' seem to be problematic. \\n\" +\n            //    \"Try renaming the file and please create an issue on GitHub! \\n\" +\n            //    \"A log file has been generated in the output folder.\");\n\n            //generateLog();\n\n            // Clear the song queue\n            files_remain = 0;\n            next_song();\n        }\n\n        private void generateLog()\n        {\n\n            string variables =\n            \" \\n txt_output_directory.Text: \\t \" + txt_output_directory.Text +\n            \" \\n current_songname: \\t \" + current_songname +\n            \" \\n cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem): \\t \" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + \"\" +\n            \" \\n storage: \\t \" + storage +\n            \" \\n path_python: \\t \" + path_python +\n            \" \\n Environment.CurrentDirectory: \\t \" + Environment.CurrentDirectory +\n            \" \\n (duration.Value).ToString(): \\t \" + (duration.Value).ToString() +\n            \" \\n chkSongName.Checked: \\t \" + chkSongName.Checked +\n            \" \\n stem_count: \\t \" + stem_count + \"\" +\n            \" \\n files_remain: \\t \" + files_remain +\n            \" \\n chkRecombine.Checked: \\t \" + chkRecombine.Checked +\n            \" \\n chkFullBandwidth.Checked: \\t \" + chkFullBandwidth.Checked +\n            \" \\n gui_version: \\t \" + gui_version +\n            \" \\n current_song: \\t \" + current_song;\n\n\n            using (StreamWriter outputFile = new StreamWriter(Path.Combine(txt_output_directory.Text, \"_SpleeterGUI_log_\" + DateTime.Now.ToString(\"yyyy_MM_dd_HH_mm_ss\") + \".txt\")))\n            {\n                outputFile.WriteLine(textBox1.Text + \"\\n \\n \\n StackTrace: \\n \\n \\n \" + Environment.StackTrace + \"\\n \\n \\n variables: \\n \\n \\n \" + variables);\n            }\n\n            textBox1.Text += \"\\r\\n A log file has been created at \" + txt_output_directory.Text + \"\\r\\n\";\n        }\n\n        private void next_song()\n        {\n            //begins the spleeting function on the next song in the queue\n            if (files_remain > 0)\n            {\n                run_silent = false;\n                //string pyPath = storage + @\"\\python\\python.exe\";\n                string pyPath = path_python + @\"\\python.exe\";\n\n                string filename = files_to_process[0];\n\n                string fullBandWidth = \"\";\n                if (chkFullBandwidth.Checked)\n                {\n                    fullBandWidth = \"-16kHz\";\n                }\n\n                progressBar1.Value = progressBar1.Value + 1;\n                textBox1.AppendText(langStr[\"processing\"] + \" \" + filename + \"\\r\\n\");\n                progress_txt.Text = langStr[\"working\"] + \"... \" + files_remain + \" \" + langStr[\"songs_remaining\"];\n                ProcessStartInfo processStartInfo;\n                textBox1.AppendText((\"-m spleeter separate -o \" + (char)34 + txt_output_directory.Text + (char)34 + \" -d \" +\n                        (duration.Value).ToString() + \" -b \" + (bitrate.Value).ToString() + \"k -p \" + (char)34 + \"spleeter:\" + stem_count + \"stems\" + fullBandWidth + (char)34 + \" -c \" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) +\n                        \" -f \" + (char)34 + \"{filename}\\\\{filename} - {instrument}.{codec}\" + (char)34 + \" \" + (char)34 + filename + (char)34) + \"\\r\\n\");\n                if (chkNIStem.Checked == true)\n                {\n                    processStartInfo = new ProcessStartInfo(pyPath, @\" -m spleeter separate  -o \" + (char)34 + txt_output_directory.Text + (char)34 + \" -d \" +\n                        (duration.Value).ToString() + \" -b \" + (bitrate.Value).ToString() + \"k -p \" + (char)34 + \"spleeter:\" + stem_count + \"stems\" + fullBandWidth + (char)34 + \" -c \" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) +\n                        \" -f \" + (char)34 + \"{filename}\\\\{filename} - {instrument}.{codec}\" + (char)34 + \" \" + (char)34 + filename + (char)34);\n                }\n                else if (chkSongName.Checked == true)\n                {\n                    processStartInfo = new ProcessStartInfo(pyPath, @\" -m spleeter separate  -o \" + (char)34 + txt_output_directory.Text + (char)34 + \" -d \" +\n                        (duration.Value).ToString() + \" -b \" + (bitrate.Value).ToString() + \"k -p \" + (char)34 + \"spleeter:\" + stem_count + \"stems\" + fullBandWidth + (char)34 + \" -c \" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) +\n                        \" -f \" + (char)34 + \"{filename}\\\\{filename} - {instrument}.{codec}\" + (char)34 + \" \" + (char)34 + filename + (char)34);\n                }\n                else\n                {\n                    processStartInfo = new ProcessStartInfo(pyPath, @\" -m spleeter separate  -o \" + (char)34 + txt_output_directory.Text + (char)34 + \" -d \" +\n                        (duration.Value).ToString() + \" -b \" + (bitrate.Value).ToString() + \"k -p \" + (char)34 + \"spleeter:\" + stem_count + \"stems\" + fullBandWidth + (char)34 + \" -c \" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) +\n                        \" \" + (char)34 + filename + (char)34);\n                }\n                processStartInfo.WorkingDirectory = storage;\n\n                processStartInfo.UseShellExecute = false;\n                processStartInfo.ErrorDialog = false;\n                processStartInfo.RedirectStandardOutput = true;\n                processStartInfo.RedirectStandardError = true;\n                processStartInfo.CreateNoWindow = true;\n\n                files_to_process.Remove(filename);\n\n                Process process = new Process();\n                process.StartInfo = processStartInfo;\n                process.EnableRaisingEvents = true;\n                process.Exited += new EventHandler(ProcessExited);\n                process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n                process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n                try\n                {\n                    bool processStarted = process.Start();\n                    process.BeginOutputReadLine();\n                    process.BeginErrorReadLine();\n\n                    current_songname = Path.GetFileNameWithoutExtension(filename);\n                    current_song = filename;\n                }\n                catch\n                {\n                    //\"Error: unable to find python.exe\"\n                    MessageBox.Show(langStr[\"python_not_found\"] + \"\\n\" + langStr[\"python_path_error_tip\"]);\n                }\n            }\n            else\n            {\n                current_songname = \"\";\n                progress_txt.Text = langStr[\"idle\"];\n                textBox1.AppendText(langStr[\"finished\"] + \"\\r\\n\");\n                progressBar1.Value = progressBar1.Maximum;\n                System.Media.SystemSounds.Beep.Play();\n            }\n        }\n\n        private void run_cmd(String cmd)\n        {\n            //general function for executing python commands.\n            try\n            {\n                ProcessStartInfo processStartInfo;\n                string pyPath = path_python + @\"\\python.exe\";\n\n                processStartInfo = new ProcessStartInfo(pyPath, @\" -W ignore -m \" + cmd);\n                processStartInfo.WorkingDirectory = storage;\n\n                processStartInfo.UseShellExecute = false;\n                processStartInfo.ErrorDialog = false;\n                processStartInfo.RedirectStandardOutput = true;\n                processStartInfo.RedirectStandardError = true;\n                processStartInfo.CreateNoWindow = true;\n                Process process = new Process();\n                process.StartInfo = processStartInfo;\n                process.EnableRaisingEvents = true;\n                process.Exited += new EventHandler(ProcessExited);\n                process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n                process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n\n                bool processStarted = process.Start();\n                process.BeginOutputReadLine();\n                process.BeginErrorReadLine();\n            }\n            catch\n            {\n                MessageBox.Show(langStr[\"python_not_found\"] + \"\\n\" + langStr[\"python_path_error_tip\"]);\n            }\n        }\n        private void run_recombine(String args)\n        {\n            //executes the ffmpeg comand to recombine the output stems\n            ProcessStartInfo processStartInfo = new ProcessStartInfo(storage + @\"\\ffmpeg.exe\", args);\n            processStartInfo.WorkingDirectory = storage;\n\n            processStartInfo.UseShellExecute = false;\n            processStartInfo.ErrorDialog = false;\n            processStartInfo.RedirectStandardOutput = true;\n            processStartInfo.RedirectStandardError = true;\n            processStartInfo.CreateNoWindow = true;\n            Process process = new Process();\n            process.StartInfo = processStartInfo;\n            process.EnableRaisingEvents = true;\n            process.Exited += new EventHandler(run_recombineExited);\n            process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n            process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n            bool processStarted = process.Start();\n            process.BeginOutputReadLine();\n            process.BeginErrorReadLine();\n        }\n        void OutputHandler(object sender, DataReceivedEventArgs e)\n        {\n            //output handler called by run_cmd\n            this.BeginInvoke(new MethodInvoker(() =>\n            {\n                if (!String.IsNullOrEmpty(e.Data))\n                {\n                    if (txt_check(e.Data))   //Please don't email Deezer about problems with this GUI app.\n                    {\n                        textBox1.AppendText(e.Data.TrimEnd('\\r', '\\n') + \"\\r\\n\");\n                    }\n                }\n            }));\n        }\n        bool txt_check(string txt)  //prevent output\n        {\n            bool allow = true;\n            if (txt.IndexOf(\"Author-email\") != -1) { allow = false; }\n            if (txt.IndexOf(\"Summary:\") != -1) { allow = false; }\n            if (txt.IndexOf(\"source separation library\") != -1) { allow = false; }\n            if (txt.IndexOf(\"models based on\") != -1) { allow = false; }\n            if (txt.IndexOf(\"Home-page:\") != -1) { allow = false; }\n            if (txt.IndexOf(\"Author:\") != -1) { allow = false; }\n            if (txt.IndexOf(\"License:\") != -1) { allow = false; }\n            if (txt.IndexOf(\"Location:\") != -1) { allow = false; }\n            if (txt.IndexOf(\"Requires:\") != -1) { allow = false; }\n            if (txt.IndexOf(\"Required-by:\") != -1) { allow = false; }\n            return allow;\n        }\n        void ErrorHandler(object sender, DataReceivedEventArgs e)\n        {\n            //handles errors from the run_cmd functions\n            this.BeginInvoke(new MethodInvoker(() =>\n            {\n                if (!String.IsNullOrEmpty(e.Data))\n                {\n                    textBox1.AppendText(e.Data.TrimEnd('\\r', '\\n') + \"\\r\\n\");\n                }\n            }));\n        }\n        private void run_recombineExited(object sender, EventArgs e)\n        {\n            //cleanup function called by run_recombine\n            Invoke((Action)(() =>\n            {\n                //do nothing\n            }));\n        }\n\n        private void run_ffmpegExited(object sender, EventArgs e)\n        {\n            //cleanup function called by run_ffmpeg\n            Invoke((Action)(() =>\n            {\n                if (chkNIStemTwoStems.Checked)\n                {\n                    run_ffmpegTwoStemMakerRunner(current_songname);\n                    //This structure is really spaghetti, should be refactored\n                }\n                run_NIStem();\n            }));\n        }\n\n        private void run_doNothingOnExit(object sender, EventArgs e)\n        {\n            //cleanup function\n            Invoke((Action)(() =>\n            {\n                //do nothing\n            }));\n        }\n\n\n        private void run_StemSyncerExited(object sender, EventArgs e)\n        {\n            textBox1.AppendText(\"\\r\\n\" + \"StemSyncer Exited\" + \"\\r\\n\");\n        }\n\n        private void run_niStemExited(object sender, EventArgs e)\n        {\n            //cleanup function called by run_niStem\n            Invoke((Action)(() =>\n            {\n                if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.wav\"))\n                {\n                    File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.wav\");\n                    // System.Media.SystemSounds.Beep.Play();\n                }\n\n                if (chkStemRemoveFiles.Checked == true)\n                {\n                    RemoveStemFiles();\n                }\n\n                if (chkUpdateCollection.Checked == true)\n                {\n                    textBox1.AppendText(\"\\r\\n\" + \"Starting StemSyncer\" + \"\\r\\n\");\n                    run_StemSyncer();\n                }\n\n                files_remain--;\n                if (files_remain > -1)\n                {\n                    //start processing the next song\n                    next_song();\n                }\n                if (files_remain < 0) files_remain = 0;\n\n                if (!run_silent)\n                {\n                    textBox1.AppendText(\"\\r\\n\" + langStr[\"run_complete\"] + \"\\r\\n\");\n                    System.Media.SystemSounds.Beep.Play();\n                }\n\n            }));\n        }\n\n        private void RemoveStemFiles()\n        {\n            textBox1.AppendText(\"\\r\\n\" + \"Removing working files\" + \"\\r\\n\");\n\n            if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n            {\n                File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n            }\n            if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n            {\n                File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n            }\n            if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n            {\n                File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n            }\n            if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n            {\n                File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n            }\n            if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n            {\n                File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n            }\n            if (!Directory.EnumerateFileSystemEntries(txt_output_directory.Text + @\"\\\" + current_songname).Any())\n            {\n                Directory.Delete(txt_output_directory.Text + @\"\\\" + current_songname);\n            }\n            else\n            {\n                textBox1.AppendText(\"\\r\\n\" + \"Folder: \\\"\" + txt_output_directory.Text + @\"\\\" + current_songname + \"\\\" is not empty! Not removing folder!\" + \"\\r\\n\");\n            }\n\n        }\n\n        private void recombineAudio()\n        {\n            String recomnbine_command = \"\";\n            String codec = cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem);\n            int input_count = 0;\n            if (chkSongName.Checked == false)\n            {\n                if (chkRPartVocal.Checked) { input_count++; recomnbine_command += \" -i \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\vocals.\" + codec + (char)34; }\n                if (chkRPartBass.Checked) { input_count++; recomnbine_command += \" -i \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\bass.\" + codec + (char)34; }\n                if (chkRPartDrums.Checked) { input_count++; recomnbine_command += \" -i \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\drums.\" + codec + (char)34; }\n                if (chkRPartPiano.Checked) { input_count++; recomnbine_command += \" -i \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\piano.\" + codec + (char)34; }\n                if (chkRPartOther.Checked) { input_count++; recomnbine_command += \" -i \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\other.\" + codec + (char)34; }\n                if (recomnbine_command != \"\")\n                {\n                    String filter_a = \"\";\n                    String filter_b = \"\";\n                    for (int i = 0; i < input_count; i++)\n                    {\n                        filter_a += \"[\" + i + \"]volume=\" + input_count + \"[\" + ((char)97 + i) + \"];\";\n                        filter_b += \"[\" + ((char)97 + i) + \"]\";\n                    }\n                    recomnbine_command = recomnbine_command + \" -filter_complex \" + (char)34 + filter_a + filter_b + \"amix=inputs=\" + input_count.ToString() +\n                        \":duration =longest\" + (char)34 + \" -ab \" + (bitrate.Value).ToString() + \"k \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + \"_recombined.\"\n                        + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n                    run_recombine(recomnbine_command);\n                }\n            }\n            else\n            {\n                if (chkRPartVocal.Checked)\n                {\n                    input_count++; recomnbine_command += \" -i \" + (char)34 +\ntxt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + @\" - vocals.\" + codec + (char)34;\n                }\n                if (chkRPartBass.Checked)\n                {\n                    input_count++; recomnbine_command += \" -i \" + (char)34 +\ntxt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + @\" - bass.\" + codec + (char)34;\n                }\n                if (chkRPartDrums.Checked)\n                {\n                    input_count++; recomnbine_command += \" -i \" + (char)34 +\ntxt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + @\" - drums.\" + codec + (char)34;\n                }\n                if (chkRPartPiano.Checked)\n                {\n                    input_count++; recomnbine_command += \" -i \" + (char)34 +\ntxt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + @\" - piano.\" + codec + (char)34;\n                }\n                if (chkRPartOther.Checked)\n                {\n                    input_count++; recomnbine_command += \" -i \" + (char)34 +\ntxt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + @\" - other.\" + codec + (char)34;\n                }\n                if (recomnbine_command != \"\")\n                {\n                    String filter_a = \"\";\n                    String filter_b = \"\";\n                    for (int i = 0; i < input_count; i++)\n                    {\n                        filter_a += \"[\" + i + \"]volume=\" + input_count + \"[\" + ((char)97 + i) + \"];\";\n                        filter_b += \"[\" + ((char)97 + i) + \"]\";\n                    }\n                    recomnbine_command = recomnbine_command + \" -filter_complex \" + (char)34 + filter_a + filter_b + \"amix=inputs=\" + input_count.ToString() + \":duration =longest\"\n                        + (char)34 + \" -ab \" + (bitrate.Value).ToString() + \"k \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + \"_recombined.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n                    run_recombine(recomnbine_command);\n                }\n            }\n        }\n\n        private void ProcessExited(object sender, EventArgs e)\n        {\n            //called by run_cmd when thread exits after spleeting a song. runs the recombine (if enabled) and starts processing next song in queue.\n            Invoke((Action)(() =>\n            {\n                checkForSpleeterError();\n\n                if (chkNIStem.Checked == false && chkNIStemTwoStems.Checked == false)\n                {\n                    //recombine audio (if enabled)\n                    if (\n                                    current_songname != \"\" &&\n                                    chkRecombine.Checked == true && (\n                                    chkRPartVocal.Checked ||\n                                    chkRPartBass.Checked ||\n                                    chkRPartDrums.Checked ||\n                                    chkRPartPiano.Checked ||\n                                    chkRPartOther.Checked)\n                                    )\n                    {\n                        recombineAudio();\n                    }\n\n                    files_remain--;\n                    if (files_remain > -1)\n                    {\n                        //start processing the next song\n                        next_song();\n                    }\n                    if (files_remain < 0) files_remain = 0;\n\n                    if (!run_silent)\n                    {\n                        textBox1.AppendText(\"\\r\\n\" + langStr[\"run_complete\"] + \"\\r\\n\");\n                        System.Media.SystemSounds.Beep.Play();\n                    }\n                }\n                if (chkNIStem.Checked == true || chkNIStemTwoStems.Checked == true)\n                // Should maybe be two different if statements if you want it to behave differently\n                {\n                    if (files_remain > 0)\n                    {\n                        NIStemRunner();\n\n                    }\n                }\n            }));\n        }\n\n        private void Button2_Click(object sender, EventArgs e)\n        {\n            //prompt user for output folder\n            var folderBrowserDialog1 = new FolderBrowserDialog();\n            folderBrowserDialog1.ShowNewFolderButton = true;\n            folderBrowserDialog1.Description = langStr[\"set_output\"];\n            DialogResult result = folderBrowserDialog1.ShowDialog();\n            if (result == DialogResult.OK)\n            {\n                txt_output_directory.Text = folderBrowserDialog1.SelectedPath;\n                Properties.Settings.Default.output_location = txt_output_directory.Text;\n                Properties.Settings.Default.Save();\n            }\n            else\n            {\n                txt_output_directory.Text = \"\";\n            }\n        }\n        private void setPythonPathToolStripMenuItem1_Click(object sender, EventArgs e)\n        {\n            //prompt user for python path\n            var folderBrowserDialog1 = new FolderBrowserDialog();\n            folderBrowserDialog1.SelectedPath = storage;\n            folderBrowserDialog1.Description = langStr[\"set_python_path\"];\n            folderBrowserDialog1.ShowNewFolderButton = false;\n            DialogResult result = folderBrowserDialog1.ShowDialog();\n            if (result == DialogResult.OK)\n            {\n                path_python = folderBrowserDialog1.SelectedPath;\n                Properties.Settings.Default.path_python = path_python;\n                Properties.Settings.Default.Save();\n                LoadStuff();\n            }\n        }\n\n        private void exitToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            Application.Exit();\n        }\n\n        //private string get_config_string()\n        //{\n        //    //reads the JSON config file for the current stem mode\n        //    var enviroment = System.Environment.CurrentDirectory;\n        //    string readText = File.ReadAllText(enviroment + @\"\\configs\\\" + stem_count + \"stems.json\");\n        //    if (mask_extension == \"average\")\n        //    {\n        //        readText = readText.Replace(\"zeros\", \"average\");\n        //    }\n        //    return readText;\n        //}\n\n        private void checkBox1_CheckedChanged(object sender, EventArgs e)\n        {\n            //sets the full bandwidth mode (16Khz)\n            mask_extension = chkFullBandwidth.Checked ? \"average\" : \"zeros\";\n        }\n\n        private void spleeterGithubPageToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            //help - opens SpleeterGUI github page in a browser window\n            System.Diagnostics.Process.Start(\"https://github.com/thooore/SpleeterGUI\");\n        }\n\n        private void makenItSoToolStripMenuItem1_Click(object sender, EventArgs e)\n        {\n            //help - opens the Maken it so old SpleeterGUI github in a browser window\n            System.Diagnostics.Process.Start(\"https://github.com/boy1dr/SpleeterGUI\");\n        }\n\n        private void helpFAQToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            //help - opens the SpleeterGUI help page in a browser window\n            System.Diagnostics.Process.Start(\"https://github.com/thooore/SpleeterGUI/wiki\");\n        }\n\n        private void parts_btn2_Click(object sender, EventArgs e)\n        {\n            //set the stem mode to 2\n            parts_label.Text = langStr[\"vocal_accompaniment\"];\n            parts_btn2.UseVisualStyleBackColor = false;\n            parts_btn4.UseVisualStyleBackColor = true;\n            parts_btn5.UseVisualStyleBackColor = true;\n            stem_count = \"2\";\n            update_checks();\n        }\n\n        private void parts_btn4_Click(object sender, EventArgs e)\n        {\n            //set the stem mode to 4\n            parts_label.Text = langStr[\"vocal_bass_drums_other\"];\n            parts_btn2.UseVisualStyleBackColor = true;\n            parts_btn4.UseVisualStyleBackColor = false;\n            parts_btn5.UseVisualStyleBackColor = true;\n            stem_count = \"4\";\n            update_checks();\n        }\n\n        private void parts_btn5_Click(object sender, EventArgs e)\n        {\n            //set the stem mode to 5\n            parts_label.Text = langStr[\"vocal_bass_drums_piano_other\"];\n            parts_btn2.UseVisualStyleBackColor = true;\n            parts_btn4.UseVisualStyleBackColor = true;\n            parts_btn5.UseVisualStyleBackColor = false;\n            stem_count = \"5\";\n            update_checks();\n        }\n\n        private void button1_Click(object sender, EventArgs e)\n        {\n            //choose a song(s) to spleet\n            if (files_remain == 0)\n            {\n                openFileDialog2.ShowDialog();\n            }\n            else\n            {\n                System.Media.SystemSounds.Asterisk.Play();\n            }\n        }\n\n        private void openFileDialog2_FileOk(object sender, CancelEventArgs e)\n        {\n            //files chosen, start spleeting\n            if (files_remain == 0)\n            {\n                if (txt_output_directory.Text == \"\")\n                {\n                    MessageBox.Show(langStr[\"output_message\"]);\n                    return;\n                }\n                textBox1.Text = \"\";\n                files_remain = 0;\n                foreach (String file in openFileDialog2.FileNames)\n                {\n                    files_to_process.Add(file);\n                    files_remain++;\n                }\n                textBox1.AppendText(langStr[\"starting_all\"] + \"\\r\\n\");\n                progressBar1.Maximum = files_remain + 1;\n                progressBar1.Value = 0;\n                progress_txt.Text = langStr[\"starting\"] + \"...\" + files_remain + \" \" + langStr[\"songs_remaining\"];\n                next_song();\n            }\n        }\n\n        private void spleeterupgradeToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            //help - spleeter core upgrade\n            run_silent = false;\n            current_songname = \"\";\n            textBox1.Text = langStr[\"run_update\"] + \"\\r\\n\" + langStr[\"run_update_b\"] + \"\\r\\n\\r\\n\";\n            run_cmd(\"pip install --upgrade spleeter\");\n        }\n\n        private void checkSpleeterGUIUpdateToolStripMenuItem_Click(object sender, EventArgs e)\n        {\n            //help - check SpleeterGUI version\n            try\n            {\n                WebRequest request = WebRequest.Create(\"https://raw.githubusercontent.com/thooore/SpleeterGUI/master/SpleeterGui/Properties/AssemblyInfo.cs\");\n                WebResponse response = request.GetResponse();\n                Stream data = response.GetResponseStream();\n                string html = String.Empty;\n                int posStart = 0;\n                int posEnd = 0;\n                String version_check = \"\";\n                using (StreamReader sr = new StreamReader(data))\n                {\n                    html = sr.ReadToEnd();\n                }\n                if (html != \"\")\n                {\n                    posStart = html.IndexOf(\"\\n[assembly: AssemblyVersion(\");\n                    if (posStart > 0)\n                    {\n                        posStart += 29;\n                        posEnd = html.IndexOf('\"', posStart);\n                        if (posEnd > 0)\n                        {\n                            version_check = html.Substring(posStart, posEnd - posStart);\n                            if (version_check != \"\" && version_check != gui_version)\n                            {\n                                MessageBox.Show(langStr[\"version\"] + \" \" + version_check + \" \" + langStr[\"is_available\"] + \"\\n\" + langStr[\"current_version\"] + \" \" + gui_version);\n                            }\n                            else\n                            {\n                                MessageBox.Show(langStr[\"latest\"] + \" \" + gui_version);\n                            }\n                        }\n                    }\n                }\n                else\n                {\n                    MessageBox.Show(langStr[\"unable\"] + \"\\n\" + langStr[\"current_version\"] + \" \" + gui_version);\n                }\n            }\n            catch\n            {\n                MessageBox.Show(langStr[\"unable\"] + \"\\n\" + langStr[\"current_version\"] + \" \" + gui_version);\n            }\n        }\n\n        private void chkRecombine_CheckedChanged(object sender, EventArgs e)\n        {\n            update_checks();\n        }\n\n        private void update_checks()\n        {\n            //update the user interface based on the chosen stem count\n            chkRPartVocal.Checked = false;\n            chkRPartBass.Checked = false;\n            chkRPartDrums.Checked = false;\n            chkRPartPiano.Checked = false;\n            chkRPartOther.Checked = false;\n\n            //          || chkSongName.Checked == true\n            if (stem_count == \"2\" || chkNIStem.Checked == true)\n            {\n                chkRecombine.Checked = false;\n                chkRecombine.Enabled = false;\n                pnlRecombine.Height = 20;\n                pnlMain.Location = new Point(12, 182);\n                this.Height = 802;\n                // Project height default in Designer: 667 (before)\n                // this.Height = 677;\n            }\n            else\n            {\n                chkRecombine.Enabled = true;\n\n                if (chkRecombine.Checked)\n                {\n                    pnlRecombine.Height = 50;\n                    pnlMain.Location = new Point(12, 202);\n                    this.Height = 822;\n                    // this.Height = 697; (before)\n                }\n                else\n                {\n                    pnlRecombine.Height = 20;\n                    pnlMain.Location = new Point(12, 182);\n                    this.Height = 802;\n                    // this.Height = 677; (before)\n\n                    chkRPartVocal.Checked = false;\n                    chkRPartBass.Checked = false;\n                    chkRPartDrums.Checked = false;\n                    chkRPartPiano.Checked = false;\n                    chkRPartOther.Checked = false;\n                }\n                switch (stem_count)\n                {\n                    case \"4\":\n                        chkRPartVocal.Enabled = true;\n                        chkRPartBass.Enabled = true;\n                        chkRPartDrums.Enabled = true;\n                        chkRPartPiano.Enabled = false;\n                        chkRPartOther.Enabled = true;\n                        break;\n                    case \"5\":\n                        chkRPartVocal.Enabled = true;\n                        chkRPartBass.Enabled = true;\n                        chkRPartDrums.Enabled = true;\n                        chkRPartPiano.Enabled = true;\n                        chkRPartOther.Enabled = true;\n                        break;\n                }\n            }\n            if (chkUpdateCollection.Checked && (chkNIStem.Checked || chkNIStemTwoStems.Checked))\n            {\n                chkOverwriteCollection.Enabled = true;\n            }\n            else\n            {\n                chkOverwriteCollection.Enabled = false;\n            }\n            if (chkNIStemTwoStems.Checked || chkNIStem.Checked)\n            {\n                chkStemRemoveFiles.Enabled = true;\n                chkStemsFolder.Enabled = true;\n                chkUpdateCollection.Enabled = true;\n            }\n            else\n            {\n                chkStemRemoveFiles.Enabled = false;\n                chkStemsFolder.Enabled = false;\n                chkUpdateCollection.Enabled = false;\n            }\n        }\n\n        private void duration_ValueChanged(object sender, EventArgs e)\n        {\n            Properties.Settings.Default.duration = Convert.ToInt32(duration.Value);\n            Properties.Settings.Default.Save();\n        }\n\n        private void chkSongName_CheckedChanged(object sender, EventArgs e)\n        {\n            Properties.Settings.Default.songName = chkSongName.Checked;\n            Properties.Settings.Default.Save();\n\n            //EMPTY!!!!\n            //update_checks();\n        }\n\n        private void chkNIStemTwoStems_CheckedChanged(object sender, EventArgs e)\n        {\n\n            if (chkNIStemTwoStems.Checked == true)\n            {\n                chkNIStem.Checked = false;\n                chkRecombine.Enabled = false;\n                chkSongName.Enabled = false;\n                chkSongName.Checked = true;     // Probably not necessary\n                cmbBox_codec.SelectedIndex = 3; // Set codec m4a\n                cmbBox_codec.Enabled = false;\n\n                parts_btn2.Enabled = false;\n                parts_btn4.Enabled = false;\n                parts_btn5.Enabled = false;\n\n                //set the stem mode to 2\n                parts_label.Text = langStr[\"vocal_accompaniment\"];\n                parts_btn2.UseVisualStyleBackColor = false;\n                parts_btn4.UseVisualStyleBackColor = true;\n                parts_btn5.UseVisualStyleBackColor = true;\n                stem_count = \"2\";\n\n\n            }\n            else\n            {\n                //chkRecombine.Enabled = true;\n                chkSongName.Enabled = true;\n                cmbBox_codec.Enabled = true;\n                parts_btn2.Enabled = true;\n                parts_btn4.Enabled = true;\n                parts_btn5.Enabled = true;\n            }\n            update_checks();\n        }\n\n        private void chkNIStem_CheckedChanged(object sender, EventArgs e)\n        {\n            update_checks();\n            if (chkNIStem.Checked == true)\n            {\n                chkNIStemTwoStems.Checked = false;\n                chkRecombine.Enabled = false;\n                chkSongName.Enabled = false;\n                chkSongName.Checked = true;     // Probably not necessary\n                cmbBox_codec.SelectedIndex = 3; // Set codec m4a\n                cmbBox_codec.Enabled = false;\n\n                parts_btn2.Enabled = false;\n                parts_btn4.Enabled = false;\n                parts_btn5.Enabled = false;\n\n                //set the stem mode to 4\n                parts_label.Text = langStr[\"vocal_bass_drums_other\"];\n                parts_btn2.UseVisualStyleBackColor = true;\n                parts_btn4.UseVisualStyleBackColor = false;\n                parts_btn5.UseVisualStyleBackColor = true;\n                stem_count = \"4\";\n\n\n            }\n            else\n            {\n                //chkRecombine.Enabled = true;\n                chkSongName.Enabled = true;\n                cmbBox_codec.Enabled = true;\n                parts_btn2.Enabled = true;\n                parts_btn4.Enabled = true;\n                parts_btn5.Enabled = true;\n            }\n        }\n\n        private void NIStemRunner()\n        {\n            run_ffmpeg(current_song);\n        }\n\n        private void run_NIStem()\n        {\n\n            if (File.Exists(storage + @\"\\ni-stem\\ni-stem.exe\"))\n            {\n                String outputArgument;\n\n                if (!chkStemsFolder.Checked)\n                {\n                    outputArgument = (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + \".stem.\" +\n                    cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n                }\n                else\n                {\n                    outputArgument = (char)34 + txt_output_directory.Text + @\"\\\" + \"stems\" + @\"\\\" + current_songname + \".stem.\" +\n                    cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n                }\n\n\n\n                String args = \"create -x \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.wav\" + (char)34 + \" -s \" +\n                    (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - vocals.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34 + \" \" +\n                    (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34 + \" \" +\n                    (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34 + \" \" +\n                    (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34 + \" \" +\n                    \"-m \" + (char)34 + storage + @\"\\ni-stem\\ni-stem-metadata.json\" + (char)34 + \" -o \" + outputArgument;\n\n\n\n                ProcessStartInfo processStartInfo = new ProcessStartInfo(storage + @\"\\ni-stem\\ni-stem.exe\", args);\n                processStartInfo.WorkingDirectory = storage;\n\n                processStartInfo.UseShellExecute = false;\n                processStartInfo.ErrorDialog = false;\n                processStartInfo.RedirectStandardOutput = true;\n                processStartInfo.RedirectStandardError = true;\n                processStartInfo.CreateNoWindow = true;\n                Process process = new Process();\n                process.StartInfo = processStartInfo;\n                process.EnableRaisingEvents = true;\n                process.Exited += new EventHandler(run_niStemExited);\n                process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n                process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n                bool processStarted = process.Start();\n                process.BeginOutputReadLine();\n                process.BeginErrorReadLine();\n            }\n            else\n            {\n                textBox1.AppendText(\"\\r\\n\" +\n                    \"=============================\" + \"\\r\\n\" +\n                    \"Error: ni-stem.exe not found!\" + \"\\r\\n\" +\n                    \"=============================\" + \"\\r\\n\" +\n                    \"You need to reinstall SpleeterCore to fix this!\" + \"\\r\\n\" +\n                    \"Follow the install instructions under 'Help' > 'Help and FAQ'\" + \"\\r\\n\" +\n                    \"https://github.com/thooore/SpleeterGUI/wiki\" + \"\\r\\n\");\n                System.Media.SystemSounds.Exclamation.Play();\n                MessageBox.Show(\"Error: ni-stem.exe not found!\" + \"\\r\\n\" +\n                    \"You need to reinstall SpleeterCore to fix this!\" + \"\\r\\n\" +\n                    \"Follow the install instructions under 'Help' > 'Help and FAQ'\");\n            }\n        }\n\n        private void run_ffmpeg(String filename)\n        {\n            run_ffmpegAudio(filename);\n        }\n\n        private void run_ffmpegAudio(String filename)\n        {\n            String args = \"-y -i \" + (char)34 + filename + (char)34 + \" \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.wav\" + (char)34;\n\n            ProcessStartInfo processStartInfo = new ProcessStartInfo(storage + @\"\\ffmpeg.exe\", args);\n            processStartInfo.WorkingDirectory = storage;\n\n            processStartInfo.UseShellExecute = false;\n            processStartInfo.ErrorDialog = false;\n            processStartInfo.RedirectStandardOutput = true;\n            processStartInfo.RedirectStandardError = true;\n            processStartInfo.CreateNoWindow = true;\n            Process process = new Process();\n            process.StartInfo = processStartInfo;\n            process.EnableRaisingEvents = true;\n            process.Exited += new EventHandler(run_ffmpegExited);\n            process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n            process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n            bool processStarted = process.Start();\n            process.BeginOutputReadLine();\n            process.BeginErrorReadLine();\n\n            textBox1.AppendText(\"\\r\\n\" + (\"AUDIO DONE!\") + \"\\r\\n\");\n        }\n\n        private void run_ffmpegTwoStemMakerRunner(String filename)\n        {\n            run_ffmpegSilenceMakerDrums(filename);\n            silenceMakerBass(filename);\n            twoStemMakerOther(filename);\n        }\n\n        private void run_ffmpegSilenceMakerDrums(String filename)\n        {\n            String args = \"-y -i \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - mix.wav\" + (char)34\n                + \" -filter:a \\\"volume=0\\\" \" + (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" +\n                cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n\n            ProcessStartInfo processStartInfo = new ProcessStartInfo(storage + @\"\\ffmpeg.exe\", args);\n            processStartInfo.WorkingDirectory = storage;\n\n            processStartInfo.UseShellExecute = false;\n            processStartInfo.ErrorDialog = false;\n            processStartInfo.RedirectStandardOutput = true;\n            processStartInfo.RedirectStandardError = true;\n            processStartInfo.CreateNoWindow = true;\n            Process process = new Process();\n            process.StartInfo = processStartInfo;\n            process.EnableRaisingEvents = true;\n            process.Exited += new EventHandler(run_doNothingOnExit);\n            process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n            process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n            bool processStarted = process.Start();\n            process.BeginOutputReadLine();\n            process.BeginErrorReadLine();\n            process.WaitForExit();\n\n            textBox1.AppendText(\"\\r\\n\" + (\"DRUMS SILENCE DONE!\") + \"\\r\\n\");\n        }\n\n        private void silenceMakerBass(String filename)\n        {\n            File.Copy(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - drums.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem),\n            txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - bass.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n\n            textBox1.AppendText(\"\\r\\n\" + (\"BASS SILENCE DONE!\") + \"\\r\\n\");\n        }\n\n        private void twoStemMakerOther(String filename)\n        {\n            if (File.Exists(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem)))\n            {\n                File.Delete(txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n            }\n\n\n            File.Move(\n                txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - accompaniment.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem),\n                txt_output_directory.Text + @\"\\\" + current_songname + @\"\\\" + current_songname + \" - other.\" + cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem));\n\n            textBox1.AppendText(\"\\r\\n\" + (\"RENAME ACCOMPANIMENT DONE!\") + \"\\r\\n\");\n        }\n\n        private void run_StemSyncer()\n        {\n\n            if (File.Exists(storage + @\"\\StemSyncer\\StemSyncer\\StemSyncer.py\"))\n            {\n                String collectionPath = txt_collection_path.Text;\n                String outputCollectionPath = txt_collection_path_out.Text;\n                if (File.Exists(collectionPath))\n                {\n                    string createNewCollection = \"\";\n                    if (!(File.Exists(outputCollectionPath)))\n                    {\n                        textBox1.AppendText(\"\\r\\n\" +\n                        \"Output collection does not exist! \\n Trying to create a new collection!\");\n                        createNewCollection = \" -create\";\n                    }\n                    if (!(stemSyncerBackup))\n                    {\n                        File.Copy(collectionPath, txt_output_directory.Text + \"\\\\collection_backup.nml\", true);\n                        stemSyncerBackup = true;\n                    }\n                    if (chkOverwriteCollection.Checked)\n                    {\n                        createNewCollection = \" -create\";\n                    }\n                    collectionPath = (char)34 + collectionPath + (char)34;\n                    outputCollectionPath = (char)34 + outputCollectionPath + (char)34;\n\n                    textBox1.AppendText(\"\\r\\n\" +\n                        \"Running StemSyncer!\");\n\n                    String outputArgument;\n\n                    if (!chkStemsFolder.Checked)\n                    {\n                        outputArgument = (char)34 + txt_output_directory.Text + @\"\\\" + current_songname + \".stem.\" +\n                        cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n                    }\n                    else\n                    {\n                        outputArgument = (char)34 + txt_output_directory.Text + @\"\\\" + \"stems\" + @\"\\\" + current_songname + \".stem.\" +\n                        cmbBox_codec.GetItemText(cmbBox_codec.SelectedItem) + (char)34;\n                    }\n\n                    String args = storage + @\"\\StemSyncer\\StemSyncer\\StemSyncer.py \" + \" \\\"\" + current_song + \"\\\" \" + outputArgument + \" \" + collectionPath + \" \" + outputCollectionPath + \" \" + createNewCollection;\n                    ProcessStartInfo processStartInfo = new ProcessStartInfo(((char)34 + storage + @\"\\StemSyncer\\python.exe\" + (char)34), args);\n                    processStartInfo.WorkingDirectory = storage;\n\n                    processStartInfo.UseShellExecute = false;\n                    processStartInfo.ErrorDialog = false;\n                    processStartInfo.RedirectStandardOutput = true;\n                    processStartInfo.RedirectStandardError = true;\n                    processStartInfo.CreateNoWindow = true;\n                    Process process = new Process();\n                    process.StartInfo = processStartInfo;\n                    process.EnableRaisingEvents = true;\n                    process.Exited += new EventHandler(run_StemSyncerExited);\n                    process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);\n                    process.ErrorDataReceived += new DataReceivedEventHandler(ErrorHandler);\n                    bool processStarted = process.Start();\n                    process.BeginOutputReadLine();\n                    process.BeginErrorReadLine();\n                    process.WaitForExit(); \n                }\n                else\n                {\n                    textBox1.AppendText(\"\\r\\n\" +\n                        \"Collection was not found!\" + \"\\r\\n\");\n                }\n            }\n            else\n            {\n                textBox1.AppendText(\"\\r\\n\" +\n                    \"StemSyncer was not found!\" + \"\\r\\n\");\n            }\n        }\n\n\n        private void cmbBox_codec_SelectedIndexChanged(object sender, EventArgs e)\n        {\n            if (cmbBox_codec.SelectedIndex == 0 || cmbBox_codec.SelectedIndex == 5)\n            {\n                bitrate.Enabled = false;\n            }\n            else\n            {\n                bitrate.Enabled = true;\n            }\n            Properties.Settings.Default.codec = cmbBox_codec.SelectedIndex;\n            Properties.Settings.Default.Save();\n        }\n\n        private void bitrate_ValueChanged(object sender, EventArgs e)\n        {\n            Properties.Settings.Default.bitrate = Convert.ToInt32(bitrate.Value);\n            Properties.Settings.Default.Save();\n        }\n\n        private void btn_browse_collection_Click(object sender, EventArgs e)\n        {\n            //choose a song(s) to spleet\n            if (files_remain == 0)\n            {\n                DialogResult result = openFileDialogCollection.ShowDialog();\n                if (result == DialogResult.OK)\n                {\n                    txt_collection_path.Text = openFileDialogCollection.FileName;\n                    Properties.Settings.Default.collection_location = txt_collection_path.Text;\n                    Properties.Settings.Default.Save();\n                }\n            }\n            else\n            {\n                System.Media.SystemSounds.Asterisk.Play();\n            }\n        }\n\n        private void btn_browse_collection_out_Click(object sender, EventArgs e)\n        {\n            //choose a song(s) to spleet\n            if (files_remain == 0)\n            {\n                DialogResult result = openFileDialogCollection.ShowDialog();\n                if (result == DialogResult.OK)\n                {\n                    txt_collection_path_out.Text = openFileDialogCollection.FileName;\n                    Properties.Settings.Default.collection_out_location = txt_collection_path_out.Text;\n                    Properties.Settings.Default.Save();\n                }\n            }\n            else\n            {\n                System.Media.SystemSounds.Asterisk.Play();\n            }\n\n        }\n\n        private void chkUpdateCollection_CheckedChanged(object sender, EventArgs e)\n        {\n            update_checks();\n        }\n    }\n}\n"
  },
  {
    "path": "SpleeterGui/Form1.resx",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <metadata name=\"menuStrip1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>17, 17</value>\n  </metadata>\n  <metadata name=\"openFileDialog2.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>132, 17</value>\n  </metadata>\n  <metadata name=\"folderBrowserDialog1.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>272, 17</value>\n  </metadata>\n  <assembly alias=\"System.Drawing\" name=\"System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\" />\n  <data name=\"pictureBox1.Image\" type=\"System.Drawing.Bitmap, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        /9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAAB\n        AAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAXcMAAAD6AABdwwAAAPocGFpbnQubmV0IDQu\n        Mi44AP/bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\n        AQEBAQEBAQEBAQEBAf/bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\n        AQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAEwBGAMBIQACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAA\n        AAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgj\n        QrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2\n        d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj\n        5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIE\n        BAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYn\n        KCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqi\n        o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEA\n        AhEDEQA/AP79ucAD6cfT6gcHtk/zwv8APHPb/P54oAM8Zo/P/P8An1oAX/P+f84pBj6YHfsP8j9KAFoz\n        /n/P+eaACjNABRQAUUAFFACZz/n/AA+v60tABQPx/GgAooAKKAEPTpn2/wA/5PSm4Hf2JySe2Dn0+vtn\n        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\n        6+x/oDQAtFABSE/zH6nFAC0UAf/Z\n</value>\n  </data>\n  <metadata name=\"openFileDialogCollection.TrayLocation\" type=\"System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a\">\n    <value>441, 17</value>\n  </metadata>\n  <metadata name=\"$this.TrayHeight\" type=\"System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">\n    <value>53</value>\n  </metadata>\n  <data name=\"$this.Icon\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n    <value>\n        AAABAAMAEBAAAAEAIABoBAAANgAAACAgAAABACAAqBAAAJ4EAAAwMAAAAQAgAKglAABGFQAAKAAAABAA\n        AAAgAAAAAQAgAAAAAAAABAAAww4AAMMOAAAAAAAAAAAAAP/////+/////v////7//////////v7///7+\n        ///////////////+/////v7//////////////v7///7+////////////////////////////////////\n        ////////////////////////////////////////////////////////+/7///f8/v/3/P//+vz///v9\n        ///4+/7/+fr+//z7/v/9+/3/+/j8//z4+v/9+/z//fv7//35+P/9+vn//vz7/5fa9/8VpvT/Dp70/1m6\n        8f+IyfL/JHvp/0RY3v+Vi9z/vYfK/40nlv+gLm7/yI+l/8uPf/+8UTH/umk4/9ezlP+S2Pb/CqLz/wSa\n        9P9RtvD/i8ny/yt+6f9KXd//mY7d/7+LzP+SL5v/pDVz/8qTqP/MkoP/vlc5/71uQP/YtZn/+f3///P6\n        /v/y+v7/+v3//9fv+/+z1vj/vcbz/9nW8v/n0+z/1bHZ/9u1y//q19//7NbQ/+bAsv/myrL/8OTV////\n        /////////P7///////941Pb/AIjt/xpQ3P96ftr/sXC7/3cBef+LDEn/u36P/799YP+rOQD/qFgA/82r\n        b////////v////z+////////uu78/3rL+P+Lru//vcPu/9Wx1/+3drH/wnyX/9u5vv/iwLL/2J9//9ev\n        fv/o2Lj////////////9/v///////7jm+v9wxfn/ebv4/6jL8////////v7///7+/v//////yNSc/7DB\n        bf+1vXL/19mz/////////////P7///////932vj/AKb3/wCO9P9Zpur////+//z7/f/8+/v//////5ex\n        Sf9nlAD/bJIA/7DBbP////////////7/////////4fn+/8Tw/v/I6/3/2+/7/////////////v/+////\n        ///e6cj/zuKs/83irf/k7tL///////////////////////////////////////////////////////7+\n        /v//////n8J0/3CsLv9xqy//stCN///////////////////////9/////P7///z+///9/v//////////\n        ///+/v7//////6rJgv+BtUP/gbRE/7rVmf//////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAACAAAABAAAAAAQAgAAAA\n        AAAAEAAAww4AAMMOAAAAAAAAAAAAAP//////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ///////////////////////////////////////////////////////////////////+/////v////7/\n        ///+/////v////7///////////////7////+/////v////7//////v////7///////////////7////+\n        /////v////7////+/////v///////////////v7////+/////v////7////+/////v//////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /v///////P7///v9///7/f//+/3///v9///7/f///P3///7////8/f7/+/3///v8/v/8/P7//Pz+//z8\n        /v/+/v7///7///37/f/9+/3//fv9//78/f/9+/z//fv8///+/v/+/v7//vz7//78/P/+/Pv//vz8//78\n        +//+/fz////+/+7+//9jxPH/K6/0/y6v9/8trfX/Lqv2/yyi7v+ByfH/2/n//06j6P87ke7/TIbq/1d6\n        5f9lb+T/ZlnO/8W54//r1e7/kEat/55Fq/+kSZz/qkyO/7FOgf+rTm3/69jh/9vBu/+3WEX/yGtR/8Vw\n        Uf/FeFP/xH1Q/8CMY//68ef/6v3//zy17v8Am/L/AZz2/wCY8/8BlvT/AIzr/2G77f/S+P7/Iovj/wp1\n        6v8faOb/Llng/z5K3f8/MMT/uKfc/+bK6v91GJn/hheX/44chP+VH3P/nyJi/5UiSv/mz9r/0rKp/6Qv\n        Fv+7Ryf/t00m/7ZXJ/+1XiX/sG87//ju4v/q/f//P7bu/wCc8v8Bnfb/AJnz/wGY9P8Ajev/ZLzu/9P4\n        //8ljeT/DXfr/yJq5v8wW+D/QUze/0IyxP+5qdz/58vq/3cbmv+HGpj/kB+F/5YidP+gJWP/lyRM/+fQ\n        2v/Ss6r/pTEZ/71JKf+4Tyn/t1kq/7dgKP+ycT7/+O7i/+z+//9Uv/D/F6jz/xuo9/8bpfX/G6P2/xma\n        7f91xe//1/n//zuZ5v8mhe3/OXro/0Zs4/9UX+H/VUfK/8Cx4P/p0e3/hTKm/5Qxo/+bNpL/oTmD/6k7\n        c/+iO17/6dTe/9e7s/+uRjH/wlw//79hP/+/akD/vXA9/7mAUv/58OT//v////f8/v/1+/7/9fv///X7\n        ///1+///9fv+//n9/v//////////////////////////////////////////////////////////////\n        ///////////////////////////////////////////////////////////////////+////////////\n        ///////////////////+/////////+z7/v+L0fT/fsL2/4m48v+OrO//l6Ht/5aR3//Y0Oz/8eLz/7N/\n        xv+7gMT/v4O6/8GGsf/GiKj/wYia//Hm6v/m1c//zY19/9ibg//Wn4H/1qZ//9apfP/Ts4n/+/bs////\n        ///+/////v////7////+/////v////3+////////2fn9/ySs7f8Lk/D/HX/p/yhp4v83VeD/NjTG/7Oo\n        3P/lyOj/cRCR/4ASjf+HGHr/jhxp/5ggV/+OIED/5c/W/9Cypf+gLAr/uEcV/7JPEf+xWg7/r2EH/6x0\n        IP/479v//////////////////////////////////v/////////Z+v3/Mrrw/xqk9P8pke3/NH3m/0Jr\n        5P9CTc3/t7Ph/+fO6f9+JZX/jSaR/5QsgP+ZMHH/oTNf/5g0Sv/o09j/1Lqs/6dCHf+9Wyb/uGMj/7dt\n        IP+2cxr/soQx//jw3f/////////////////////////////////+/////////9j6/f8nvvL/DKj1/xyU\n        7/8ogOn/Nm3n/zhOzv+ytOH/58zn/30gj/+MIor/kyh3/5ksaP+hMFb/lzBC/+fT1P/Tu6f/pEIU/7hc\n        Hf+0Yxn/s2wY/7J0Ef+whSn/+PHb////////////////////////////////////////////9////9b1\n        /v/Q8P3/1Oz8/9fo+//a4/r/2t31//Lw+f/48vj/38ji/+PJ4f/lyt3/5svY/+jM1f/mzM//+PPz//jy\n        8P/x2NP/9d7W//Tg1P/z4tP/8uTT//Lp1//+/Pj/////////////////////////////////////////\n        ///0/f7/v+X6/7bh/P+43/z/utz7/7za/P++1ff/4uz4//////////////////////////////////7+\n        /v//////7vDf/9Xdtf/Z4Lf/2d64/9vduf/b3Ln/3NzA//v79f//////////////////////////////\n        ///+/////////9r5/P8osu//CqT4/xSb9f8ZkfP/IIn0/yV44/+dwef///////37/f/+/f7//v3+//79\n        /f/+/f3//Pv7///////Fy5T/dIkF/4KWCv+Ckwz/hZIP/4aODP+MkSn/8vLb////////////////////\n        //////////////7/////////2/r9/zK/8v8Ws/n/H6v4/ySi9/8qmvf/L4vo/6HJ6v///////v7+////\n        ///////////////////9/f3//////8bQmP90mA7/f6UR/3+hE/+BoRX/gZ4R/4ugLv/x9Nv/////////\n        /////////////////////////v/////////V+v3/GsLz/wC2+v8ErPn/CaP3/w+a9v8Wiun/lsnq////\n        ///+/f7///////////////////////39/f//////vsyJ/1+SAP9roQL/ap0A/2udAf9qmwD/dZsT/+30\n        1P///////////////////////////////////////////+z9/v+b5/v/iuL9/5He/f+T2vz/ltb8/5jP\n        9f/Q6fb////////+/////////////////////////v7+///////k687/vtSP/8Paj//C2I//wtmQ/8HY\n        jv/F2Jz/+Pvt////////////////////////////////////////////////////////////////////\n        //////////////////////////////////////////////////////////////r8+v/z+PL/8/jy//P5\n        8v/0+fL/8vny//P58v/9/v3////////////////////////////////////////////+////+/7///v+\n        ///6/f//+/7///v9///7/f///f7///////////////////////////////////39/f//////wdSj/2ii\n        KP9xrSr/cKsq/3CsKv9uqib/eaw+/+323v//////////////////////////////////////////////\n        ///+/////////////////////////////////////////////////////////////////////f39////\n        ///B1KP/aaEo/3GuK/9wqyv/casr/22qJ/95rD7/7fbe////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ///9/f3//////77Rn/9gnBz/aakf/2imHv9pph//ZaUa/3GnM//r9tz/////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////7+/v//////1uLB/5m/bf+fyG//nsZu/57Hb/+cxWv/pMZ8//L56P//////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ///////////////////////////////////////////////////+//3//v7+//7+/v/+//7//v/+//7/\n        /v//////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEA\n        IAAAAAAAACQAAMMOAADDDgAAAAAAAAAAAAD/////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////7+/v/////////////////////////////////////////////////////////////+\n        /v/////////////////////////////////////////////+////////////////////////////////\n        /////////////////v/////////////////////////////////+/v7////+/////v//////////////\n        //////7////////////////////////////////////////+////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////v////3+///9/v///f7///3+///9/v///f7///3+///9/v///f7///7+/////////v7+//3+\n        ///9/v///f7///39///9/v7//f3+//39///9/f///f3+/////////////v3+//79/v/+/f7//f39//79\n        /v/+/f7//v3+//79/f/+/f3//v39/////////////v39//79/f/+/f3//v39//79/f///v3//v39//79\n        /f/+/v3///7+////////////tun6/1K77v9BuPT/Pbb3/z209v88s/b/PLL2/zyw9f8/r/b/Tavn/5vY\n        9v/u////ntDv/0We6v9MnfD/UpXu/1qN6v9hhef/aX7l/3B24/95b97/fW/E/+XZ8f//8///rYDC/5lN\n        s/+kVbT/p1Sp/6xWof+wWZj/s1qP/7hdif+zWHn/vIGT//33+//v5OD/sm9j/8lvXP/Kc1z/yXdd/8p8\n        Xv/JgV7/yYVf/8qMYv+9hVr/3cCo////////////nuH5/xai6v8An/H/AZ31/wCb9f8AmfT/AJfz/wCU\n        8v8Bk/P/Do7f/3nJ8//p////fL/q/wR74/8Oe+z/F27n/yFk5P8qWuD/NFHd/z5G2v9JPtT/UD2y/93L\n        7P//7v//klSt/3cQm/+FGZn/ihqM/5Acgf+TH3X/mSFq/6AkYP+aHkv/pFVu//3z+v/p29X/lj0r/7Y9\n        Iv+4RCT/uEkl/7hOJv+1VCb/tlwn/7lkLP+lWyD/0KqK////////////oeL5/x6m6v8IovL/AqD2/wKd\n        9f8BnPT/Apr0/wKY8/8Fl/T/F5Hg/33L9P/q////gcHr/wyA5P8XgO3/HnTo/yhr5v8yYeL/O1fe/0RL\n        2/9PRNX/V0S1/97N7f//7v//llqv/3sYnv+JIZ3/jiKR/5Mkhf+YJXv/nSdv/6MrZv+cJlL/plt0//30\n        +v/q3Nf/mkQz/7hDKf+7SSz/uk8t/7lULf+4Wi3/uGEv/7tpM/+oYCf/0q6P////////////oeL5/x6l\n        6v8HovH/AaD2/wGe9f8BnPT/AZrz/wGY8/8El/T/F5Hg/33L9P/p////gcHr/wyA5P8XgO3/HnPp/ydq\n        5v8xYOL/O1be/0VL2/9PQtb/VkO0/97N7f//7///llqw/3oXnf+JIZ3/jiKR/5Mjhf+XJnn/nCht/6Mr\n        Zf+dJVL/plpz//31+f/q3Nf/mUMy/7hDKf+8SSv/uk8s/7lULf+5Wi3/uWEv/7tpMv+pYCf/0a2O////\n        ////////n+H5/xmj6f8BoPH/AJ72/wCc9f8AmvT/AJfz/wCV8v8ClPP/EY/f/3vK9P/p////fcDq/wd8\n        4/8Rfez/GHHn/yNn5f8tXeD/N1Pe/0FI2v9MP9T/Uj+z/93M7P//7v//k1au/3gSm/+GHJr/ix2O/5Ee\n        gv+UIHj/mSNr/6EnYP+bIE3/pVdv//30+v/p29f/lz4u/7Y/JP+4Rib/uEso/7hQKf+2Vij/t14q/7pl\n        Lv+nXSL/0KuL////////////qub5/zWw7P8hrPL/Har3/x2o9v8dpvb/HaX1/xyj9P8fovX/L57i/4rS\n        9P/s////jcjt/yaN5v8vje7/NYLq/z966P9IceT/UGjh/1df3v9hV9n/Z1e8/+LS7v//8f//oWq5/4gu\n        qP+XN6n/mTid/546kv+iPIj/pj59/61Bdf+oPGL/sGuB//31+//s4Nv/pVZI/79XQP/BXEP/wGBC/8Bm\n        Q//Ba0P/wHFE/8F5SP+xcD7/1raZ/////////////f7///n9/v/5/f//+f3///j8/v/5/P//+f3///n9\n        ///5/P//+fz+//z+///+/////P7+//r8/v/6/P//+vz///r7///7/P7/+vv+//r8/v/7+/7/+/v9//7+\n        /////////Pv9//z6/f/8+v3//fr9//36/P/9+vz//fr8//36/P/9+vv//fv8/////////v7//fv7//77\n        +//++/v//vv7//78+//+/Pv//fz7//38+//9+/v//v38///////+////////////////////////////\n        /////////////////////////////////////////f7///n9///5/f7/+vv+//v8/v/7/P7/+/v+//v6\n        /f/7+/7/+/v9//79/////////Pv9//v5/f/9+v3//fr9//36/P/8+/z//Pv8//z6/P/8+fr//fz7////\n        /v/+/v7//fv7//36+v/9+/r//fv6//36+v/9/Pr//vv6//77+v/9+/r//v39///////+/////v/////+\n        //////////////////////////////////////////////z+/v/6////nNvz/0Ox7/9HrPP/TaDv/1WW\n        7P9Ziun/YX/m/2hz4v9vbN7/dGnC/+PX8P//8v//qHe9/5JArf+dSKz/n0qi/6NMmf+lT5D/qVGI/69U\n        f/+pUG//s3uK//33+v/u49z/q2VV/8VlTP/FbEr/xHBI/8V1SP/EfEX/xIFF/8aIR/+1gjz/2L6Y////\n        //////////////////////////////////////////////////////////////v+/v/4////gdXx/xCg\n        7P8VnPH/HY3u/yV96f8sb+T/NGHg/z5U3f9GR9f/TkO0/9rM7P//7v//kVOq/3YOlf+EGpX/hxuG/4we\n        e/+QIXD/lSRk/5wpW/+VI0f/oVhr//31+P/p3dT/lT8o/7RAHP+3SBr/tU4Y/7VVF/+zXBX/smIT/7Vs\n        FP+kZAj/z698//////////////////////////////////////////////////////////////////v+\n        /v/2////hdnz/xqq8P8fpfP/JJfu/yqJ6/8yfOf/O2/k/0Nh4P9MVdz/VVK6/9rQ7v//8P7/l1ys/30a\n        lv+LJ5b/jSiJ/5Iqfv+XLXX/my9p/6I0YP+bL0z/pmJw//329//q39b/mkoz/7hNJv+8VCT/uFoj/7dh\n        Iv+2aB//tm0e/7l2H/+ncBP/0bWC////////////////////////////////////////////////////\n        //////////////v+///1////g9vz/xev8P8cqvX/Ipzx/ymO7P8xgej/OHPk/0Fn4f9KWtz/VFa7/9nS\n        7//+8P7/mV6q/38dk/+NJ5T/kCiH/5UrfP+YL3L/mzBm/6I1Xf+cMUn/p2Ju//329//q4NX/mk8z/7hR\n        J/+6WCX/uF4j/7hkIf+2bB//tnAe/7l6IP+ncxX/0LaC/////v//////////////////////////////\n        //////////////////////////////v+///1////e9z0/wex8f8MqvX/EZrx/xmN7v8if+j/KnHl/zNj\n        4v88Vtz/SFG5/9XR7v//7/7/lVSk/3gOi/+HG4v/ihx8/48fcP+TI2X/mCZZ/58qT/+WJTz/o1pk//32\n        9P/q4NH/lkco/7NLGf+0Uxb/slgV/7JfFP+yZRL/smwQ/7V2Ev+jbgb/z7R6/////f//////////////\n        //////////////////////////////////////////////z+///3////nuf4/0nJ+P9Lxfj/Trj1/1Wv\n        9P9cpfH/Yprt/2mQ7P9viOf/eYPN/+De8///9P7/soS6/6BUqP+qXKj/q1yd/7Bfl/+yYY3/tWOG/7pm\n        f/+1YnH/vIeN//349v/v6d3/snxi/8h+WP/IhFb/x4hU/8iOU//GklL/xpZR/8idU/+8mEr/28qe////\n        /v///////////////////////////////////////////////////////////////////////P////n/\n        ///6/v//+v7+//r9/v/7/f7/+/z+//z8/v/8+/7//Pv9///9/v///v//+vf6//n0+f/59Pn/+fT4//r0\n        +P/69ff/+vT3//r19v/69PX/+/f3///+/v///v///vr7///6+v//+vv///r7///6+//++/r//vv6//78\n        +//+/Pr//v78////////////////////////////////////////////////////////////////////\n        ///+////8fn9/+Tz/f/k9P7/5PP+/+Ty/v/k8v3/5fH9/+Xw/f/m8P3/6fD6//j7/f//////////////\n        ///////////////////////////////////////////////////8/Pj/8PHn//Dy4//w8uP/8PLk//Hy\n        5P/x8eT/8vHl//Ly5f/w7+T/9/fx////////////////////////////////////////////////////\n        //////////////z+///4////ktnz/zCv8v8xsfj/Mqn2/zak9v85n/T/PZnz/0GU8/9HjvD/Xo7Z/83h\n        9P/8/////v3+//7+/v/+/v7//v7+//7+/v/+/v7//v7+///+/v/+/v7//f3+/////v/q68v/j5lG/5Oh\n        Lv+VoS//lp8x/5ieMv+ZnTT/m501/5+eOv+RkDH/xsSS/////v//////////////////////////////\n        //////////////////////////////v+/v/4////g9fy/xSr8P8Wrfn/FqT3/xue9v8emPX/I5L0/yeN\n        8v8sh+//R4bV/8Pg8//7//////7+/////////////////////////////////////////////v7+////\n        /f/m6cP/fZEs/3+ZD/+Bmg7/gpkQ/4OYEP+FlxP/h5YT/4yYGP99iBH/u8CA/////f//////////////\n        //////////////////////////////////////////////v+/v/3////g9vz/xWz8f8YtPn/Ga34/xyn\n        +P8foff/JJv3/yiU9P8tkPH/SY3Y/8Pi9P/7//////7/////////////////////////////////////\n        /////////v7+/////f/m6sL/fJYs/3ugDf98oA7/fZ8P/3+fEP+AnhH/gZ0S/4WfFf95kA//ucWA////\n        /f////////////////////////////////////////////////////////////v+///1////gt70/xO5\n        9P8Uuvn/FrL5/xqs+f8dpvb/IZ/1/yWa9v8qlPP/SZLb/8Lk9P/7//////7/////////////////////\n        /////////////////////////v7+/////v/m6sH/eJgq/3ejCf93pQn/eKML/3miC/97oQv/fKEN/4Ci\n        Ef90lAn/tcZ8/////P////////////////////////////////////////////////////////////v+\n        ///0////eN/0/wO79f8BvPv/A7T5/wit+f8MqPn/D6D2/xSa9P8alvT/PJLb/7zj9P/5//////7/////\n        /////////////////////////////////////////v7+/////f/k6bz/bpMY/2ygAP9toQH/baAA/26g\n        AP9toAD/bqAA/3GiAv9kkQD/rcRw////+///////////////////////////////////////////////\n        //////////////z+///3////o+v4/1TV+f9R1f3/VND8/1jL/P9ax/r/XcP5/2C++f9ju/f/ernm/9Dt\n        +P/7//////7//////////////////////////////////////////////v7//////f/s8NH/nLdi/5vB\n        S/+cwUn/m8BK/5rASv+awEr/m8BL/53BTv+Ut0n/xtid/////P//////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////////////////////////////////////////////////////P7+//r+///7/v//+/7///v+\n        ///7/v//+/7///z+///8/v///P3+//7/////////////////////////////////////////////////\n        ///////////////////5+/T/4evX/+Dt0v/g7dL/3+zR/+Dt0f/g7dL/3+3R/+Dt0v/d6s//7fPl////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////////////7+/v//////////////////////////////////////////////////////////////\n        /////////////////////////v7+/////v/i7Mv/eKJH/3CsLf9xrSz/caws/3GsLP9xrCz/caws/3Ou\n        L/9ooSX/r86L/////f//////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////////////////////////////////////v7+/////v/i7Mn/dKBC/2ypKP9vqyj/bqoo/26r\n        KP9uqif/bqon/3CsKv9lnyH/rsyJ/////P//////////////////////////////////////////////\n        /////////////////////////v////3/////////////////////////////////////////////////\n        /////////////////////////////////////////////////////////v7+/////v/i7Mr/dqFE/2+q\n        Kv9wrCr/cKsq/2+qKv9vqyn/cKsq/3KtLf9mnyP/rs2K/////P//////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////////////////////////////////////////////////////////////////////v7+////\n        /v/i7Mz/d6FG/3CrLP9xrCz/caws/3GsK/9yqyv/casr/3KtLf9ooSX/rs6L/////P//////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////v7+/////v/h68j/cJw7/2imH/9opx//aKce/2inHv9opx7/aKcf/2qpIf9emxf/qsuE////\n        /P//////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////////////////////v7////////w9eP/uM6d/7TTj/+104//tNOP/7TTj/+004//tNOP/7XU\n        j/+vzYz/1OTB/////v//////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //////7///////7+/v////7////+/////v////7/////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        /////////////////v///////v/+////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        ////////////////////////////////////////////////////////////////////////////////\n        //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\n</value>\n  </data>\n</root>"
  },
  {
    "path": "SpleeterGui/Program.cs",
    "content": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing System.Windows.Forms;\n\nnamespace SpleeterGui\n{\n    static class Program\n    {\n        /// <summary>\n        /// The main entry point for the application.\n        /// </summary>\n        [STAThread]\n        static void Main()\n        {\n            Application.EnableVisualStyles();\n            Application.SetCompatibleTextRenderingDefault(false);\n            Application.Run(new Form1());\n        }\n    }\n}\n"
  },
  {
    "path": "SpleeterGui/Properties/AssemblyInfo.cs",
    "content": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Information about an assembly is controlled through the following\n// set of attributes. Change these attribute values to modify the information\n// associated with an assembly.\n[assembly: AssemblyTitle(\"SpleeterGUI\")]\n[assembly: AssemblyDescription(\"Spleeter source separation - GUI\")]\n[assembly: AssemblyConfiguration(\"\")]\n[assembly: AssemblyCompany(\"Maken it so and Thore\")]\n[assembly: AssemblyProduct(\"SpleeterGui\")]\n[assembly: AssemblyCopyright(\"Apache License 2.0\")]\n[assembly: AssemblyTrademark(\"\")]\n[assembly: AssemblyCulture(\"\")]\n\n// Setting ComVisible to false makes the types in this assembly not visible\n// to COM components.  If you need to access a type in this assembly from\n// COM, set the ComVisible attribute to true on that type.\n[assembly: ComVisible(false)]\n\n// The following GUID is for the ID of the typelib if this project is exposed to COM\n[assembly: Guid(\"92a3d32b-8397-41e5-8928-2ee4c22caf17\")]\n\n// Version information for an assembly consists of the following four values:\n//\n//      Major Version\n//      Minor Version\n//      Build Number\n//      Revision\n//\n// You can specify all the values or you can default the Build and Revision Numbers\n// by using the '*' as shown below:\n// [assembly: AssemblyVersion(\"1.0.*\")]\n[assembly: AssemblyVersion(\"3.2.1.0\")]\n[assembly: AssemblyFileVersion(\"3.2.1.0\")]\n"
  },
  {
    "path": "SpleeterGui/Properties/Resources.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace SpleeterGui.Properties {\n    using System;\n    \n    \n    /// <summary>\n    ///   A strongly-typed resource class, for looking up localized strings, etc.\n    /// </summary>\n    // This class was auto-generated by the StronglyTypedResourceBuilder\n    // class via a tool like ResGen or Visual Studio.\n    // To add or remove a member, edit your .ResX file then rerun ResGen\n    // with the /str option, or rebuild your VS project.\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"System.Resources.Tools.StronglyTypedResourceBuilder\", \"16.0.0.0\")]\n    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    internal class Resources {\n        \n        private static global::System.Resources.ResourceManager resourceMan;\n        \n        private static global::System.Globalization.CultureInfo resourceCulture;\n        \n        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute(\"Microsoft.Performance\", \"CA1811:AvoidUncalledPrivateCode\")]\n        internal Resources() {\n        }\n        \n        /// <summary>\n        ///   Returns the cached ResourceManager instance used by this class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Resources.ResourceManager ResourceManager {\n            get {\n                if (object.ReferenceEquals(resourceMan, null)) {\n                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager(\"SpleeterGui.Properties.Resources\", typeof(Resources).Assembly);\n                    resourceMan = temp;\n                }\n                return resourceMan;\n            }\n        }\n        \n        /// <summary>\n        ///   Overrides the current thread's CurrentUICulture property for all\n        ///   resource lookups using this strongly typed resource class.\n        /// </summary>\n        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\n        internal static global::System.Globalization.CultureInfo Culture {\n            get {\n                return resourceCulture;\n            }\n            set {\n                resourceCulture = value;\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap _649656_global_32x32 {\n            get {\n                object obj = ResourceManager.GetObject(\"649656_global_32x32\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap spleeter_logo {\n            get {\n                object obj = ResourceManager.GetObject(\"spleeter_logo\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap stems_logo_full {\n            get {\n                object obj = ResourceManager.GetObject(\"stems_logo_full\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n        \n        /// <summary>\n        ///   Looks up a localized resource of type System.Drawing.Bitmap.\n        /// </summary>\n        internal static System.Drawing.Bitmap stems_logo_stripes {\n            get {\n                object obj = ResourceManager.GetObject(\"stems_logo_stripes\", resourceCulture);\n                return ((System.Drawing.Bitmap)(obj));\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "SpleeterGui/Properties/Resources.resx",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The primary goals of this format is to allow a simple XML format \n    that is mostly human readable. The generation and parsing of the \n    various data types are done through the TypeConverter classes \n    associated with the data types.\n    \n    Example:\n    \n    ... ado.net/XML headers & schema ...\n    <resheader name=\"resmimetype\">text/microsoft-resx</resheader>\n    <resheader name=\"version\">2.0</resheader>\n    <resheader name=\"reader\">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\n    <resheader name=\"writer\">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\n    <data name=\"Name1\"><value>this is my long string</value><comment>this is a comment</comment></data>\n    <data name=\"Color1\" type=\"System.Drawing.Color, System.Drawing\">Blue</data>\n    <data name=\"Bitmap1\" mimetype=\"application/x-microsoft.net.object.binary.base64\">\n        <value>[base64 mime encoded serialized .NET Framework object]</value>\n    </data>\n    <data name=\"Icon1\" type=\"System.Drawing.Icon, System.Drawing\" mimetype=\"application/x-microsoft.net.object.bytearray.base64\">\n        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\n        <comment>This is a comment</comment>\n    </data>\n                \n    There are any number of \"resheader\" rows that contain simple \n    name/value pairs.\n    \n    Each data row contains a name, and value. The row also contains a \n    type or mimetype. Type corresponds to a .NET class that support \n    text/value conversion through the TypeConverter architecture. \n    Classes that don't support this are serialized and stored with the \n    mimetype set.\n    \n    The mimetype is used for serialized objects, and tells the \n    ResXResourceReader how to depersist the object. This is currently not \n    extensible. For a given mimetype the value must be set accordingly:\n    \n    Note - application/x-microsoft.net.object.binary.base64 is the format \n    that the ResXResourceWriter will generate, however the reader can \n    read any of the formats listed below.\n    \n    mimetype: application/x-microsoft.net.object.binary.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\n            : and then encoded with base64 encoding.\n    \n    mimetype: application/x-microsoft.net.object.soap.base64\n    value   : The object must be serialized with \n            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\n            : and then encoded with base64 encoding.\n\n    mimetype: application/x-microsoft.net.object.bytearray.base64\n    value   : The object must be serialized into a byte array \n            : using a System.ComponentModel.TypeConverter\n            : and then encoded with base64 encoding.\n    -->\n  <xsd:schema id=\"root\" xmlns=\"\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\">\n    <xsd:import namespace=\"http://www.w3.org/XML/1998/namespace\" />\n    <xsd:element name=\"root\" msdata:IsDataSet=\"true\">\n      <xsd:complexType>\n        <xsd:choice maxOccurs=\"unbounded\">\n          <xsd:element name=\"metadata\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" use=\"required\" type=\"xsd:string\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"assembly\">\n            <xsd:complexType>\n              <xsd:attribute name=\"alias\" type=\"xsd:string\" />\n              <xsd:attribute name=\"name\" type=\"xsd:string\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"data\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n                <xsd:element name=\"comment\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"2\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" msdata:Ordinal=\"1\" />\n              <xsd:attribute name=\"type\" type=\"xsd:string\" msdata:Ordinal=\"3\" />\n              <xsd:attribute name=\"mimetype\" type=\"xsd:string\" msdata:Ordinal=\"4\" />\n              <xsd:attribute ref=\"xml:space\" />\n            </xsd:complexType>\n          </xsd:element>\n          <xsd:element name=\"resheader\">\n            <xsd:complexType>\n              <xsd:sequence>\n                <xsd:element name=\"value\" type=\"xsd:string\" minOccurs=\"0\" msdata:Ordinal=\"1\" />\n              </xsd:sequence>\n              <xsd:attribute name=\"name\" type=\"xsd:string\" use=\"required\" />\n            </xsd:complexType>\n          </xsd:element>\n        </xsd:choice>\n      </xsd:complexType>\n    </xsd:element>\n  </xsd:schema>\n  <resheader name=\"resmimetype\">\n    <value>text/microsoft-resx</value>\n  </resheader>\n  <resheader name=\"version\">\n    <value>2.0</value>\n  </resheader>\n  <resheader name=\"reader\">\n    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <resheader name=\"writer\">\n    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\n  </resheader>\n  <assembly alias=\"System.Windows.Forms\" name=\"System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\" />\n  <data name=\"spleeter_logo\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\spleeter_logo.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"649656_global_32x32\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\649656_global_32x32.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"stems_logo_full\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\stems_logo_full.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n  <data name=\"stems_logo_stripes\" type=\"System.Resources.ResXFileRef, System.Windows.Forms\">\n    <value>..\\Resources\\stems_logo_stripes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\n  </data>\n</root>"
  },
  {
    "path": "SpleeterGui/Properties/Settings.Designer.cs",
    "content": "﻿//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code was generated by a tool.\n//     Runtime Version:4.0.30319.42000\n//\n//     Changes to this file may cause incorrect behavior and will be lost if\n//     the code is regenerated.\n// </auto-generated>\n//------------------------------------------------------------------------------\n\nnamespace SpleeterGui.Properties {\n    \n    \n    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\n    [global::System.CodeDom.Compiler.GeneratedCodeAttribute(\"Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator\", \"16.8.1.0\")]\n    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {\n        \n        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\n        \n        public static Settings Default {\n            get {\n                return defaultInstance;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"\")]\n        public string output_location {\n            get {\n                return ((string)(this[\"output_location\"]));\n            }\n            set {\n                this[\"output_location\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"english\")]\n        public string language {\n            get {\n                return ((string)(this[\"language\"]));\n            }\n            set {\n                this[\"language\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"\")]\n        public string path_python {\n            get {\n                return ((string)(this[\"path_python\"]));\n            }\n            set {\n                this[\"path_python\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"600\")]\n        public int duration {\n            get {\n                return ((int)(this[\"duration\"]));\n            }\n            set {\n                this[\"duration\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"1\")]\n        public int codec {\n            get {\n                return ((int)(this[\"codec\"]));\n            }\n            set {\n                this[\"codec\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"False\")]\n        public bool songName {\n            get {\n                return ((bool)(this[\"songName\"]));\n            }\n            set {\n                this[\"songName\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"320\")]\n        public int bitrate {\n            get {\n                return ((int)(this[\"bitrate\"]));\n            }\n            set {\n                this[\"bitrate\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"Input Collection\")]\n        public string collection_location {\n            get {\n                return ((string)(this[\"collection_location\"]));\n            }\n            set {\n                this[\"collection_location\"] = value;\n            }\n        }\n        \n        [global::System.Configuration.UserScopedSettingAttribute()]\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        [global::System.Configuration.DefaultSettingValueAttribute(\"Output Collection\")]\n        public string collection_out_location {\n            get {\n                return ((string)(this[\"collection_out_location\"]));\n            }\n            set {\n                this[\"collection_out_location\"] = value;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "SpleeterGui/Properties/Settings.settings",
    "content": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\" CurrentProfile=\"(Default)\" GeneratedClassNamespace=\"SpleeterGui.Properties\" GeneratedClassName=\"Settings\">\n  <Profiles />\n  <Settings>\n    <Setting Name=\"output_location\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\" />\n    </Setting>\n    <Setting Name=\"language\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\">english</Value>\n    </Setting>\n    <Setting Name=\"path_python\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\" />\n    </Setting>\n    <Setting Name=\"duration\" Type=\"System.Int32\" Scope=\"User\">\n      <Value Profile=\"(Default)\">600</Value>\n    </Setting>\n    <Setting Name=\"codec\" Type=\"System.Int32\" Scope=\"User\">\n      <Value Profile=\"(Default)\">1</Value>\n    </Setting>\n    <Setting Name=\"songName\" Type=\"System.Boolean\" Scope=\"User\">\n      <Value Profile=\"(Default)\">False</Value>\n    </Setting>\n    <Setting Name=\"bitrate\" Type=\"System.Int32\" Scope=\"User\">\n      <Value Profile=\"(Default)\">320</Value>\n    </Setting>\n    <Setting Name=\"collection_location\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\">Input Collection</Value>\n    </Setting>\n    <Setting Name=\"collection_out_location\" Type=\"System.String\" Scope=\"User\">\n      <Value Profile=\"(Default)\">Output Collection</Value>\n    </Setting>\n  </Settings>\n</SettingsFile>"
  },
  {
    "path": "SpleeterGui/Properties/app.manifest",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">\n  <assemblyIdentity version=\"1.0.0.0\" name=\"MyApplication.app\" />\n  <trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v2\">\n    <security>\n      <requestedPrivileges xmlns=\"urn:schemas-microsoft-com:asm.v3\">\n        <!-- UAC Manifest Options\n             If you want to change the Windows User Account Control level replace the \n             requestedExecutionLevel node with one of the following.\n\n        <requestedExecutionLevel  level=\"asInvoker\" uiAccess=\"false\" />\n        <requestedExecutionLevel  level=\"requireAdministrator\" uiAccess=\"false\" />\n        <requestedExecutionLevel  level=\"highestAvailable\" uiAccess=\"false\" />\n\n            Specifying requestedExecutionLevel element will disable file and registry virtualization. \n            Remove this element if your application requires this virtualization for backwards\n            compatibility.\n        -->\n        <requestedExecutionLevel level=\"asInvoker\" uiAccess=\"false\" />\n      </requestedPrivileges>\n      <applicationRequestMinimum>\n        <PermissionSet class=\"System.Security.PermissionSet\" version=\"1\" Unrestricted=\"true\" ID=\"Custom\" SameSite=\"site\" />\n        <defaultAssemblyRequest permissionSetReference=\"Custom\" />\n      </applicationRequestMinimum>\n    </security>\n  </trustInfo>\n  <compatibility xmlns=\"urn:schemas-microsoft-com:compatibility.v1\">\n    <application>\n      <!-- A list of the Windows versions that this application has been tested on\n           and is designed to work with. Uncomment the appropriate elements\n           and Windows will automatically select the most compatible environment. -->\n      <!-- Windows Vista -->\n      <!--<supportedOS Id=\"{e2011457-1546-43c5-a5fe-008deee3d3f0}\" />-->\n      <!-- Windows 7 -->\n      <!--<supportedOS Id=\"{35138b9a-5d96-4fbd-8e2d-a2440225f93a}\" />-->\n      <!-- Windows 8 -->\n      <!--<supportedOS Id=\"{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}\" />-->\n      <!-- Windows 8.1 -->\n      <!--<supportedOS Id=\"{1f676c76-80e1-4239-95bb-83d0f6d0da78}\" />-->\n      <!-- Windows 10 -->\n      <!--<supportedOS Id=\"{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}\" />-->\n    </application>\n  </compatibility>\n  <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher\n       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need \n       to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should \n       also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->\n  <!--\n  <application xmlns=\"urn:schemas-microsoft-com:asm.v3\">\n    <windowsSettings>\n      <dpiAware xmlns=\"http://schemas.microsoft.com/SMI/2005/WindowsSettings\">true</dpiAware>\n    </windowsSettings>\n  </application>\n  -->\n  <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->\n  <!--\n  <dependency>\n    <dependentAssembly>\n      <assemblyIdentity\n          type=\"win32\"\n          name=\"Microsoft.Windows.Common-Controls\"\n          version=\"6.0.0.0\"\n          processorArchitecture=\"*\"\n          publicKeyToken=\"6595b64144ccf1df\"\n          language=\"*\"\n        />\n    </dependentAssembly>\n  </dependency>\n  -->\n</assembly>"
  },
  {
    "path": "SpleeterGui/SpleeterGui.csproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" />\n  <PropertyGroup>\n    <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>\n    <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>\n    <ProjectGuid>{92A3D32B-8397-41E5-8928-2EE4C22CAF17}</ProjectGuid>\n    <OutputType>WinExe</OutputType>\n    <RootNamespace>SpleeterGui</RootNamespace>\n    <AssemblyName>SpleeterGui</AssemblyName>\n    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>\n    <FileAlignment>512</FileAlignment>\n    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>\n    <IsWebBootstrapper>false</IsWebBootstrapper>\n    <PublishUrl>D:\\Users\\Windows 10\\Documents\\dist\\SpleeterGUI\\</PublishUrl>\n    <Install>true</Install>\n    <InstallFrom>Disk</InstallFrom>\n    <UpdateEnabled>true</UpdateEnabled>\n    <UpdateMode>Foreground</UpdateMode>\n    <UpdateInterval>7</UpdateInterval>\n    <UpdateIntervalUnits>Days</UpdateIntervalUnits>\n    <UpdatePeriodically>false</UpdatePeriodically>\n    <UpdateRequired>false</UpdateRequired>\n    <MapFileExtensions>true</MapFileExtensions>\n    <ApplicationRevision>0</ApplicationRevision>\n    <ApplicationVersion>3.1.0.0</ApplicationVersion>\n    <UseApplicationTrust>false</UseApplicationTrust>\n    <PublishWizardCompleted>true</PublishWizardCompleted>\n    <BootstrapperEnabled>true</BootstrapperEnabled>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">\n    <PlatformTarget>x64</PlatformTarget>\n    <DebugSymbols>true</DebugSymbols>\n    <DebugType>full</DebugType>\n    <Optimize>false</Optimize>\n    <OutputPath>bin\\Debug\\</OutputPath>\n    <DefineConstants>DEBUG;TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>false</Prefer32Bit>\n  </PropertyGroup>\n  <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">\n    <PlatformTarget>x64</PlatformTarget>\n    <DebugType>pdbonly</DebugType>\n    <Optimize>true</Optimize>\n    <OutputPath>bin\\Release\\</OutputPath>\n    <DefineConstants>TRACE</DefineConstants>\n    <ErrorReport>prompt</ErrorReport>\n    <WarningLevel>4</WarningLevel>\n    <Prefer32Bit>true</Prefer32Bit>\n  </PropertyGroup>\n  <PropertyGroup>\n    <ApplicationIcon>spleeter_icon.ico</ApplicationIcon>\n  </PropertyGroup>\n  <PropertyGroup>\n    <ManifestCertificateThumbprint>12890233469093C86CBBB44F6AE6F151855EA389</ManifestCertificateThumbprint>\n  </PropertyGroup>\n  <PropertyGroup>\n    <ManifestKeyFile>SpleeterGui_TemporaryKey.pfx</ManifestKeyFile>\n  </PropertyGroup>\n  <PropertyGroup>\n    <GenerateManifests>true</GenerateManifests>\n  </PropertyGroup>\n  <PropertyGroup>\n    <SignManifests>false</SignManifests>\n  </PropertyGroup>\n  <PropertyGroup>\n    <TargetZone>LocalIntranet</TargetZone>\n  </PropertyGroup>\n  <PropertyGroup>\n    <ApplicationManifest>Properties\\app.manifest</ApplicationManifest>\n  </PropertyGroup>\n  <ItemGroup>\n    <Reference Include=\"System\" />\n    <Reference Include=\"System.Core\" />\n    <Reference Include=\"System.Web.Extensions\" />\n    <Reference Include=\"System.Xml.Linq\" />\n    <Reference Include=\"System.Data.DataSetExtensions\" />\n    <Reference Include=\"Microsoft.CSharp\" />\n    <Reference Include=\"System.Data\" />\n    <Reference Include=\"System.Deployment\" />\n    <Reference Include=\"System.Drawing\" />\n    <Reference Include=\"System.Net.Http\" />\n    <Reference Include=\"System.Windows.Forms\" />\n    <Reference Include=\"System.Xml\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Compile Include=\"Form1.cs\">\n      <SubType>Form</SubType>\n    </Compile>\n    <Compile Include=\"Form1.Designer.cs\">\n      <DependentUpon>Form1.cs</DependentUpon>\n    </Compile>\n    <Compile Include=\"Program.cs\" />\n    <Compile Include=\"Properties\\AssemblyInfo.cs\" />\n    <EmbeddedResource Include=\"Form1.resx\">\n      <DependentUpon>Form1.cs</DependentUpon>\n    </EmbeddedResource>\n    <EmbeddedResource Include=\"Properties\\Resources.resx\">\n      <Generator>ResXFileCodeGenerator</Generator>\n      <SubType>Designer</SubType>\n      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\n    </EmbeddedResource>\n    <None Include=\"configs\\2stems.json\" />\n    <None Include=\"configs\\4stems.json\" />\n    <None Include=\"configs\\5stems.json\" />\n    <None Include=\"packages.config\" />\n    <None Include=\"Properties\\app.manifest\" />\n    <None Include=\"Properties\\Settings.settings\">\n      <Generator>SettingsSingleFileGenerator</Generator>\n      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\n    </None>\n    <Compile Include=\"Properties\\Resources.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DesignTime>True</DesignTime>\n      <DependentUpon>Resources.resx</DependentUpon>\n    </Compile>\n    <Compile Include=\"Properties\\Settings.Designer.cs\">\n      <AutoGen>True</AutoGen>\n      <DependentUpon>Settings.settings</DependentUpon>\n      <DesignTimeSharedInput>True</DesignTimeSharedInput>\n    </Compile>\n    <None Include=\"SpleeterGui_TemporaryKey.pfx\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"App.config\" />\n  </ItemGroup>\n  <ItemGroup>\n    <BootstrapperPackage Include=\".NETFramework,Version=v4.6.1\">\n      <Visible>False</Visible>\n      <ProductName>Microsoft .NET Framework 4.6.1 %28x86 and x64%29</ProductName>\n      <Install>true</Install>\n    </BootstrapperPackage>\n    <BootstrapperPackage Include=\"Microsoft.Net.Framework.3.5.SP1\">\n      <Visible>False</Visible>\n      <ProductName>.NET Framework 3.5 SP1</ProductName>\n      <Install>false</Install>\n    </BootstrapperPackage>\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"Resources\\spleeter_logo.jpg\" />\n    <Content Include=\"languages_source\\arabic.xml\">\n      <SubType>Designer</SubType>\n    </Content>\n    <Content Include=\"languages_source\\chinese.xml\">\n      <SubType>Designer</SubType>\n    </Content>\n    <Content Include=\"languages_source\\english.xml\">\n      <SubType>Designer</SubType>\n    </Content>\n    <Content Include=\"languages_source\\french.xml\" />\n    <Content Include=\"languages_source\\hindi.xml\">\n      <SubType>Designer</SubType>\n    </Content>\n    <Content Include=\"languages_source\\italian.xml\" />\n    <Content Include=\"languages_source\\japanese.xml\" />\n    <Content Include=\"languages_source\\russian.xml\">\n      <SubType>Designer</SubType>\n    </Content>\n    <Content Include=\"languages_source\\spanish.xml\">\n      <SubType>Designer</SubType>\n    </Content>\n    <None Include=\"Resources\\649656_global_32x32.jpg\" />\n    <None Include=\"Resources\\stems_logo_full.png\" />\n    <None Include=\"Resources\\stems_logo_stripes.png\" />\n    <Content Include=\"spleeter_icon.ico\" />\n  </ItemGroup>\n  <ItemGroup />\n  <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />\n</Project>"
  },
  {
    "path": "SpleeterGui/configs/2stems.json",
    "content": "{\n    \"train_csv\": \"path/to/train.csv\",\n    \"validation_csv\": \"path/to/test.csv\",\n    \"model_dir\": \"2stems\",\n    \"mix_name\": \"mix\",\n    \"instrument_list\": [\"vocals\", \"accompaniment\"],\n    \"sample_rate\":44100,\n    \"frame_length\":4096,\n    \"frame_step\":1024,\n    \"T\":512,\n    \"F\":1024,\n    \"n_channels\":2,\n    \"separation_exponent\":2,\n    \"mask_extension\":\"zeros\",\n    \"learning_rate\": 1e-4,\n    \"batch_size\":4,\n    \"training_cache\":\"training_cache\",\n    \"validation_cache\":\"validation_cache\",\n    \"train_max_steps\": 1000000,\n    \"throttle_secs\":300,\n    \"random_seed\":0,\n    \"save_checkpoints_steps\":150,\n    \"save_summary_steps\":5,\n    \"model\":{\n            \"type\":\"unet.unet\",\n            \"params\":{}\n            }\n}"
  },
  {
    "path": "SpleeterGui/configs/4stems.json",
    "content": "{\n    \"train_csv\": \"path/to/train.csv\",\n    \"validation_csv\": \"path/to/test.csv\",\n    \"model_dir\": \"4stems\",\n    \"mix_name\": \"mix\",\n    \"instrument_list\": [\"vocals\", \"drums\", \"bass\", \"other\"],\n    \"sample_rate\":44100,\n    \"frame_length\":4096,\n    \"frame_step\":1024,\n    \"T\":512,\n    \"F\":1024,\n    \"n_channels\":2,\n    \"separation_exponent\":2,\n    \"mask_extension\":\"zeros\",\n    \"learning_rate\": 1e-4,\n    \"batch_size\":4,\n    \"training_cache\":\"training_cache\",\n    \"validation_cache\":\"validation_cache\",\n    \"train_max_steps\": 1500000,\n    \"throttle_secs\":600,\n    \"random_seed\":3,\n    \"save_checkpoints_steps\":300,\n    \"save_summary_steps\":5,\n    \"model\":{\n        \"type\":\"unet.unet\",\n        \"params\":{\n               \"conv_activation\":\"ELU\",\n               \"deconv_activation\":\"ELU\"\n        }\n    }\n}"
  },
  {
    "path": "SpleeterGui/configs/5stems.json",
    "content": "{\n    \"train_csv\": \"path/to/train.csv\",\n    \"validation_csv\": \"path/to/test.csv\",\n    \"model_dir\": \"5stems\",\n    \"mix_name\": \"mix\",\n    \"instrument_list\": [\"vocals\", \"piano\", \"drums\", \"bass\", \"other\"],\n    \"sample_rate\":44100,\n    \"frame_length\":4096,\n    \"frame_step\":1024,\n    \"T\":512,\n    \"F\":1024,\n    \"n_channels\":2,\n    \"separation_exponent\":2,\n    \"mask_extension\":\"zeros\",\n    \"learning_rate\": 1e-4,\n    \"batch_size\":4,\n    \"training_cache\":\"training_cache\",\n    \"validation_cache\":\"validation_cache\",\n    \"train_max_steps\": 2500000,\n    \"throttle_secs\":600,\n    \"random_seed\":8,\n    \"save_checkpoints_steps\":300,\n    \"save_summary_steps\":5,\n    \"model\":{\n        \"type\":\"unet.softmax_unet\",\n        \"params\":{\n               \"conv_activation\":\"ELU\",\n               \"deconv_activation\":\"ELU\"\n        }\n    }\n}"
  },
  {
    "path": "SpleeterGui/languages_source/arabic.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"arabic\" control=\"\">عربى</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">ملف</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">خروج</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">مساعدة</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">مساعدة &amp; سؤال</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">تحقق من إصدار spleeterGUI</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">ترقية النواة الأساسية</menu>\n  <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">صفحة جيليت spleeter</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">المتقدمة</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">صفحة SpleeterGUI جيثب</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">تعيين مسار تكوينات json</menu>\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">فصل مصدر الموسيقى</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">حزمة سطح مكتب Windows</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">أجزاء للفصل</item>\n  <item english=\"2\" control=\"parts_btn2\">إثنان</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">صوتي + مرافقة</item>\n  <item english=\"4\" control=\"parts_btn4\">أربعة</item>\n  <item english=\"5\" control=\"parts_btn5\">خمسة</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">إعادة التركيب (دمج أجزاء الإخراج معًا)</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">صوتي</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">صوت عميق</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">طبول</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">بيانو</item>\n  <item english=\"Other\" control=\"chkRPartOther\">آخر</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">عرض نطاق كامل (جودة عالية 16 كيلو هرتز)</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">حفظ في</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">أفلت ملفك (ملفاتك) الموسيقية هنا لبدء المعالجة</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">أو حدد ملف (ملفات) الموسيقى</item>\n  <item english=\"Progress\" control=\"lblProgress\">تقدم</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">أقصى طول للأغنية</item>\n  <item english=\"seconds\" control=\"lblSeconds\">ثواني</item>\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">عرض نسخة مقياس</lang>\n  <lang english=\"Starting\" control=\"starting\">بدء</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">بدء معالجة جميع الأغاني</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\">الأغاني المتبقية</lang>\n  <lang english=\"Working\" control=\"working\">العمل</lang>\n  <lang english=\"Processing\" control=\"processing\">معالجة</lang>\n  <lang english=\"idle\" control=\"idle\">خامل</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">تم الانتهاء من معالجة جميع الأغاني</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">تشغيل كامل</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">صوتي + مرافقة</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">صوت + باس + طبول + أخرى</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">صوتي + باس + طبول + بيانو + أخرى</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">يرجى تحديد دليل الإخراج</lang>\n  <lang english=\"Running update command\" control=\"run_update\">تشغيل أمر التحديث</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">قد يستغرق ذلك بعض الوقت ، انتظر صوت الصفير</lang>\n  <lang english=\"Version\" control=\"version\">الإصدار</lang>\n  <lang english=\"is available\" control=\"is_available\">متاح</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">أنت تستخدم أحدث إصدار</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">تعذر الحصول على بيانات الإصدار الجديد ، تحقق من اتصال الإنترنت</lang>\n  <lang english=\"Choose output location\" control=\"set_output\">اختر موقع الإخراج</lang>\n  <lang english=\"Choose location of root_folder.txt\" control=\"set_python_path\">اختر موقع root_folder.txt</lang>\n\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/chinese.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"chinese\" control=\"\">中文</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">文件</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">退出</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">帮助</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">帮助及常见问题</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">检查 spleeterGUI 版本</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Spleeter 核心升级</menu>\n  <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">Spleeter github 页面</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">高級</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">設置SpleeterGUI路徑</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">設置json配置路徑</menu>\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">音乐源分离</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Windows 桌面捆绑</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">按几部分分离</item>\n  <item english=\"2\" control=\"parts_btn2\">2</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">人声 + 伴奏</item>\n  <item english=\"4\" control=\"parts_btn4\">4</item>\n  <item english=\"5\" control=\"parts_btn5\">5</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">重组（将输出的部分再合并到一起）</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">人声</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">贝斯</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">鼓</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">钢琴</item>\n  <item english=\"Other\" control=\"chkRPartOther\">其他</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">全带宽（16Khz高质量）</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">保存到</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">将您的音乐文件拖放到此处开始处理</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">或选择音乐文件</item>\n  <item english=\"Progress\" control=\"lblProgress\">进度</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">最大歌曲长度</item>\n  <item english=\"seconds\" control=\"lblSeconds\">秒</item>\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">显示 spleeter 版本</lang>\n  <lang english=\"Starting\" control=\"starting\">开始</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">开始处理所有歌曲</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\">歌曲剩余</lang>\n  <lang english=\"Working\" control=\"working\">工作中</lang>\n  <lang english=\"Processing\" control=\"processing\">处理中</lang>\n  <lang english=\"idle\" control=\"idle\">空闲</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">完成处理所有歌曲</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">运行完成</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">人声 + 伴奏</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">人声 + 贝斯 + 鼓 + 其他</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">人声 + 贝斯 + 鼓 + 钢琴 + 其他</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">请选择一个输出目录</lang>\n  <lang english=\"Running update command\" control=\"run_update\">运行更新命令</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">这可能需要一段时间，请等待哔哔声</lang>\n  <lang english=\"Version\" control=\"version\">版本</lang>\n  <lang english=\"is available\" control=\"is_available\">可用</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">您正在使用最新版本</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">无法获取新版本数据，请检查互联网连接</lang>\n</root>\n"
  },
  {
    "path": "SpleeterGui/languages_source/english.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n    <language english=\"english\" control=\"\">english</language>\n    <!-- menu items -->\n    <menu english=\"File\" control=\"fileToolStripMenuItem\">File</menu>\n    <menu english=\"Exit\" control=\"exitToolStripMenuItem\">Exit</menu>\n    <menu english=\"Help\" control=\"helpToolStripMenuItem\">Help</menu>\n    <menu english=\"Help and FAQ\" control=\"helpFAQToolStripMenuItem\">Help and FAQ</menu>\n    <menu english=\"Check for SpleeterGUI updates\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">Check for SpleeterGUI updates</menu>\n    <menu english=\"Update Spleeter version\" control=\"spleeterupgradeToolStripMenuItem\">Update Spleeter version</menu>\n    <menu english=\"SpleeterGUI GitHub page\" control=\"spleeterGithubPageToolStripMenuItem\">SpleeterGUI GitHub page</menu>\n    <menu english=\"Maken It So GitHub\" control=\"makenItSoToolStripMenuItem1\">Maken It So GitHub</menu>\n    <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">Advanced</menu>\n    <menu english=\"Set SpleeterGUI Core path\" control=\"setPythonPathToolStripMenuItem1\">Set SpleeterGUI Core path</menu>\n    <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">Set json configs path</menu>\n\n  \n  <!-- form controls -->\n    <item english=\"Music source separation\" control=\"lblSlogan1\">Music source separation</item>\n    <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Windows desktop bundle</item>\n    <item english=\"Parts to separate\" control=\"lblPartsTitle\">Parts to separate</item>\n    <item english=\"2\" control=\"parts_btn2\">2</item>\n    <item english=\"Vocal + Accompaniment\" control=\"parts_label\">Vocal + Accompaniment</item>\n    <item english=\"4\" control=\"parts_btn4\">4</item>\n    <item english=\"5\" control=\"parts_btn5\">5</item>\n    <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">Recombine (Merge output parts back together)</item>\n    <item english=\"Vocal\" control=\"chkRPartVocal\">Vocal</item>\n    <item english=\"Bass\" control=\"chkRPartBass\">Bass</item>\n    <item english=\"Drums\" control=\"chkRPartDrums\">Drums</item>\n    <item english=\"Piano\" control=\"chkRPartPiano\">Piano</item>\n    <item english=\"Other\" control=\"chkRPartOther\">Other</item>\n    <item english=\"Full bandwidth (16kHz High quality)\" control=\"chkFullBandwidth\">Full bandwidth (16kHz High quality)</item>\n    <item english=\"Save to\" control=\"btnSaveTo\">Save to</item>\n    <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">Drop your music file(s) here to begin processing</item>\n    <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">Or select music file(s)</item>\n    <item english=\"Progress\" control=\"lblProgress\">Progress</item>\n    <item english=\"Maximum song length\" control=\"lblMaxLength\">Maximum song length</item>\n    <item english=\"seconds\" control=\"lblSeconds\">seconds</item>\n  \t<item english=\"Output codec\" control=\"codec_label\">Output codec</item>\n  \t<item english=\"Write input name to output files\" control=\"chkSongName\">Write input name to output files</item>\n  \t<item english=\"Generate NI Stem\" control=\"chkNIStem\">Generate NI Stem</item>\n  \t<item english=\"Generate NI Container from two stems\" control=\"chkNIStemTwoStems\">Generate NI Container from two stems</item>\n    <item english=\"Remove Working Files\" control=\"chkStemRemoveFiles\">Remove Working Files</item>\n    <item english=\"Save to 'stems' Folder\" control=\"chkStemsFolder\">Save to 'stems' Folder</item>\n    <item english=\"Bitrate\" control=\"lblBitrate\">Bitrate</item>\n    <item english=\"kbps\" control=\"lblKbps\">kbps</item>\n\n\n\n\n\n\t<!-- program texts -->\n    <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Help: https://github.com/thooore/SpleeterGUI/wiki[NL]Issues: https://github.com/thooore/SpleeterGui/issues[NL][NL]Showing spleeter version</lang>\n    <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">Please select an output directory</lang>\n    <lang english=\"Starting\" control=\"starting\">Starting</lang>\n    <lang english=\"Starting processing of all songs\" control=\"starting_all\">Starting processing of all songs</lang>\n    <lang english=\"songs remaining\" control=\"songs_remaining\">songs remaining</lang>\n    <lang english=\"Working\" control=\"working\">Working</lang>\n    <lang english=\"Processing\" control=\"processing\">Processing</lang>\n    <lang english=\"idle\" control=\"idle\">idle</lang>\n    <lang english=\"Finished processing all songs\" control=\"finished\">Finished processing all songs</lang>\n    <lang english=\"Run complete\" control=\"run_complete\">Run complete</lang>\n    <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">Vocal + Accompaniment</lang>\n    <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">Vocal + Bass + Drums + Other</lang>\n    <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">Vocal + Bass + Drums + Piano + Other</lang>\n    <lang english=\"Please select an output directory\" control=\"output_message\">Please select an output directory</lang>\n    <lang english=\"Running update command\" control=\"run_update\">Running update command</lang>\n    <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">This might take a while, wait for the beep</lang>\n    <lang english=\"Version\" control=\"version\">Version</lang>\n    <lang english=\"is available\" control=\"is_available\">is available</lang>\n    <lang english=\"You are using the latest version\" control=\"latest\">You are using the latest version</lang>\n    <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">Unable get new version data, check internet connection</lang>\n    <lang english=\"Choose output location\" control=\"set_output\">Choose output location</lang>\n    <lang english=\"Select location of SpleeterCore\" control=\"set_python_path\">Select location of SpleeterCore</lang>\n\t  <lang english=\"You are running the latest version\" control=\"latest\">You are running the latest version</lang>\n    <lang english=\"Current version:\" control=\"current_version\">Current version:</lang>\n    <lang english=\"Error: Unable to find python.exe\" control=\"python_not_found\">Error: Unable to find python.exe</lang>\n    <lang english=\"Use 'Advanced' > 'Select SpleeterGUI Core path' to select SpleeterCore path\" control=\"python_path_error_tip\">Use 'Advanced' > 'Select SpleeterGUI Core path' to select SpleeterCore path</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/french.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"french\" control=\"\">français</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">Fichier</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">Sortie</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">Aidez-moi</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">Aidez-moi &amp; question</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">Vérifier la version de Spleeter GUI</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Mise à jour de Spleeter</menu>\n  <menu english=\"spleeter github page\" control=\"spleeterGithubPageToolStripMenuItem\">Page Github de Spleeter</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Faites en sorte</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">Avancée</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">Définir le chemin SpleeterGUI</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">Définir le chemin de configuration json</menu>\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">Séparation des sources de musique</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Ensemble de bureau Windows</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">Pièces à séparer</item>\n  <item english=\"2\" control=\"parts_btn2\">deux</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">Accompagnement vocal +</item>\n  <item english=\"4\" control=\"parts_btn4\">quatre</item>\n  <item english=\"5\" control=\"parts_btn5\">cinq</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">Recombiner (fusionner les pièces de sortie ensemble)</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">Vocale</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">Basse</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">Tambours</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">Piano</item>\n  <item english=\"Other\" control=\"chkRPartOther\">Autre</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">Bande passante complète (haute qualité 16Khz)</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">Enregistrer dans</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">Déposez vos fichiers musicaux ici pour commencer le traitement</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">Ou sélectionnez un ou plusieurs fichiers musicaux</item>\n  <item english=\"Progress\" control=\"lblProgress\">Progrès</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">Durée maximale de la chanson</item>\n  <item english=\"seconds\" control=\"lblSeconds\">secondes</item>\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Affichage de la version de Spleeter</lang>\n  <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">Veuillez sélectionner un répertoire de sortie</lang>\n  <lang english=\"Starting\" control=\"starting\">Départ</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">Démarrage du traitement de toutes les chansons</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\">chansons restantes</lang>\n  <lang english=\"Working\" control=\"working\">Au Travail</lang>\n  <lang english=\"Processing\" control=\"processing\">En traitement</lang>\n  <lang english=\"idle\" control=\"idle\">Au repos</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">Traitement terminé de toutes les chansons</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">Exécution terminée</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">Accompagnement vocal +</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">Vocal + Bass + Drums + Other</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">Voix + Basse + Batterie + Piano + Autre</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">Veuillez sélectionner un répertoire de sortie</lang>\n  <lang english=\"Running update command\" control=\"run_update\">Exécution de la commande de mise à jour</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">Cela peut prendre un certain temps, attendez le bip</lang>\n  <lang english=\"Version\" control=\"version\">Version</lang>\n  <lang english=\"is available\" control=\"is_available\">est disponible</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">Vous utilisez la dernière version</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">Impossible d'obtenir les nouvelles données de version, vérifiez la connexion Internet</lang>\n  <lang english=\"Choose output location\" control=\"set_output\">Choisissez l'emplacement de sortie</lang>\n  <lang english=\"Choose location of root_folder.txt\" control=\"set_python_path\">Choisissez l'emplacement de root_folder.txt</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/german.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n    <language english=\"german\" control=\"\">deutsch</language>\n    <!-- menu items -->\n    <menu english=\"File\" control=\"fileToolStripMenuItem\">Datei</menu>\n    <menu english=\"Exit\" control=\"exitToolStripMenuItem\">Beenden</menu>\n    <menu english=\"Help\" control=\"helpToolStripMenuItem\">Hilfe</menu>\n    <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">Hilfe &amp; FAQ</menu>\n    <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">SpleeterGUI-Version überprüfen</menu>\n    <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Spleeter Core-Upgrade</menu>\n    <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">SpleeterGUI GitHub-Seite</menu>\n    <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so</menu>\n    <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">Erweitert</menu>\n    <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">SpleeterGUI-Pfad festlegen</menu>\n    <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">JSON-Konfigurationspfad festlegen</menu>\n\n  \n  <!-- form controls -->\n    <item english=\"Music source separation\" control=\"lblSlogan1\">Trennung von Musikquellen</item>\n    <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Windows-Desktop-Paket</item>\n    <item english=\"Parts to separate\" control=\"lblPartsTitle\">Trennmodus</item>\n    <item english=\"2\" control=\"parts_btn2\">2</item>\n    <item english=\"Vocal + Accompaniment\" control=\"parts_label\">Gesang + Begleitung</item>\n    <item english=\"4\" control=\"parts_btn4\">4</item>\n    <item english=\"5\" control=\"parts_btn5\">5</item>\n    <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">Rekombinieren (Ausgangselemente wieder zusammenführen)</item>\n    <item english=\"Vocal\" control=\"chkRPartVocal\">Gesang</item>\n    <item english=\"Bass\" control=\"chkRPartBass\">Bass</item>\n    <item english=\"Drums\" control=\"chkRPartDrums\">Schlagzeug</item>\n    <item english=\"Piano\" control=\"chkRPartPiano\">Klavier</item>\n    <item english=\"Other\" control=\"chkRPartOther\">Sonstiges</item>\n    <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">Volle Bandbreite (16Khz Hohe Qualität)</item>\n    <item english=\"Save to\" control=\"btnSaveTo\">Speichern unter</item>\n    <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">Musikdatei(en) hier ablegen, um zu verarbeiten</item>\n    <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">Oder Dateiauswahl</item>\n    <item english=\"Progress\" control=\"lblProgress\">Fortschr.</item>\n    <item english=\"Maximum song length\" control=\"lblMaxLength\">Maximale Liedlänge</item>\n    <item english=\"seconds\" control=\"lblSeconds\">Sekunden</item>\n  \n\n    <!-- program texts -->\n    <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Hilfe: https://makenweb.com/spleeter_help.php[NL]Probleme: https://github.com/boy1dr/SpleeterGui/issues[NL][NL]Anzeige der Spleeter-Version</lang>\n    <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">Bitte wählen Sie ein Ausgabeverzeichnis</lang>\n    <lang english=\"Starting\" control=\"starting\">Starten</lang>\n    <lang english=\"Starting processing of all songs\" control=\"starting_all\">Verarbeitung aller Lieder starten</lang>\n    <lang english=\"songs remaining\" control=\"songs_remaining\">Lied(er) verbleibend</lang>\n    <lang english=\"Working\" control=\"working\">Arbeiten</lang>\n    <lang english=\"Processing\" control=\"processing\">Verarbeiten</lang>\n    <lang english=\"idle\" control=\"idle\">Leerlauf</lang>\n    <lang english=\"Finished processing all songs\" control=\"finished\">Verarbeitung aller Lieder fertiggestellt</lang>\n    <lang english=\"Run complete\" control=\"run_complete\">Durchlauf abgeschlossen</lang>\n    <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">Gesang+Begleitung</lang>\n    <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">Gesang+Bass+Schlagzeug+Sonstiges</lang>\n    <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">Gesang+Bass+Schlagzeug+Klavier+Sonstiges</lang>\n    <lang english=\"Please select an output directory\" control=\"output_message\">Bitte wählen Sie ein Ausgabeverzeichnis</lang>\n    <lang english=\"Running update command\" control=\"run_update\">Update-Befehl ausführen</lang>\n    <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">Dies kann eine Weile dauern, warten Sie auf den Signalton</lang>\n    <lang english=\"Version\" control=\"version\">Version</lang>\n    <lang english=\"is available\" control=\"is_available\">ist verfügbar</lang>\n    <lang english=\"You are using the latest version\" control=\"latest\">Sie verwenden die neueste Version</lang>\n    <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">Neue Versionsdaten können nicht abgerufen werden, Internetverbindung prüfen</lang>\n    <lang english=\"Choose output location\" control=\"set_output\">Ausgabeort wählen</lang>\n    <lang english=\"Choose location of python.exe\" control=\"set_python_path\">Speicherort von python.exe wählen</lang>\n</root>\n"
  },
  {
    "path": "SpleeterGui/languages_source/hindi.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"hindi\" control=\"\">हिन्दी</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">फ़ाइल</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">बाहर जाएं</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">मदद</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">मदद &amp; सवाल</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">SpleeterGUI संस्करण की जाँच करें</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Spleeter कोर उन्नयन</menu>\n  <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">Spleeter जीथब पृष्ठ</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">माकन ने ऐसा किया</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">उन्नत</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">SpleeterGUI पथ सेट करें</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">Json config पथ सेट करें</menu>\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">संगीत स्रोत जुदाई</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">विंडोज डेस्कटॉप बंडल</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">भागों को अलग करने के लिए</item>\n  <item english=\"2\" control=\"parts_btn2\">दो</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">स्वर + त्वरण</item>\n  <item english=\"4\" control=\"parts_btn4\">चार</item>\n  <item english=\"5\" control=\"parts_btn5\">पाँच</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">रिकॉम्बिन (मर्ज आउटपुट पार्ट्स वापस एक साथ)</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">स्वर</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">बास</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">ड्रम</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">पियानो</item>\n  <item english=\"Other\" control=\"chkRPartOther\">अन्य</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">पूर्ण बैंडविड्थ (16 khz उच्च गुणवत्ता)</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">को बचाए</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">प्रसंस्करण शुरू करने के लिए अपनी संगीत फ़ाइल यहां छोड़ें</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">या संगीत फ़ाइल चुनें</item>\n  <item english=\"Progress\" control=\"lblProgress\">प्रगति</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">अधिकतम गीत की लंबाई</item>\n  <item english=\"seconds\" control=\"lblSeconds\">सेकंड</item>\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">स्पिलटर संस्करण दिखा रहा है</lang>\n  <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">कृपया एक आउटपुट डायरेक्टरी चुनें</lang>\n  <lang english=\"Starting\" control=\"starting\">शुरुआत</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">सभी गानों की प्रोसेसिंग शुरू</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\">गाने बचे हैं</lang>\n  <lang english=\"Working\" control=\"working\">काम कर रहे</lang>\n  <lang english=\"Processing\" control=\"processing\">प्रसंस्करण</lang>\n  <lang english=\"idle\" control=\"idle\">बेकार</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">सभी गीतों का प्रसंस्करण समाप्त</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">पूरा चला</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">स्वर + त्वरण</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">स्वर + बास + ड्रम + अन्य</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">स्वर + बास + ड्रम + पियानो + अन्य</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">कृपया एक आउटपुट डायरेक्टरी चुनें</lang>\n  <lang english=\"Running update command\" control=\"run_update\">रनिंग अपडेट कमांड</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">इसमें कुछ समय लग सकता है, बीप की प्रतीक्षा करें</lang>\n  <lang english=\"Version\" control=\"version\">संस्करण</lang>\n  <lang english=\"is available\" control=\"is_available\">उपलब्ध है</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">आप नवीनतम संस्करण का उपयोग कर रहे हैं</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">नया संस्करण डेटा प्राप्त करने में असमर्थ, इंटरनेट कनेक्शन जांचें</lang>\n  <lang english=\"Choose output location\" control=\"set_output\">आउटपुट स्थान चुनें</lang>\n  <lang english=\"Choose location of root_folder.txt\" control=\"set_python_path\">root_folder.txt का स्थान चुनें</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/italian.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n    <language english=\"italian\" control=\"\">italiano</language>\n    <!-- menu items -->\n    <menu english=\"File\" control=\"fileToolStripMenuItem\">File</menu>\n    <menu english=\"Exit\" control=\"exitToolStripMenuItem\">Esci</menu>\n    <menu english=\"Help\" control=\"helpToolStripMenuItem\">Aiuto</menu>\n    <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">Aiuto e domande frequenti</menu>\n    <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">Controlla la versione di SpleeterGUI</menu>\n    <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Aggiorna i pacchetti di Spleeter</menu>\n    <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">Pagina GitHub di Spleeter</menu>\n    <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so</menu>\n    <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">Avanzati</menu>\n    <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">Imposta il percorso SpleeterGUI</menu>\n    <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">Imposta percorso json configs</menu>\n\n    <!-- form controls -->\n    <item english=\"Music source separation\" control=\"lblSlogan1\">Separaz. delle fonti musicali</item>\n    <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Applicazione per Windows</item>\n    <item english=\"Parts to separate\" control=\"lblPartsTitle\">Parti da separare</item>\n    <item english=\"2\" control=\"parts_btn2\">2</item>\n    <item english=\"Vocal + Accompaniment\" control=\"parts_label\">Voce + Accompagnamento</item>\n    <item english=\"4\" control=\"parts_btn4\">4</item>\n    <item english=\"5\" control=\"parts_btn5\">5</item>\n    <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">Ricombina (Unisci parti del risultato insieme)</item>\n    <item english=\"Vocal\" control=\"chkRPartVocal\">Voce</item>\n    <item english=\"Bass\" control=\"chkRPartBass\">Bassi</item>\n    <item english=\"Drums\" control=\"chkRPartDrums\">Batteria</item>\n    <item english=\"Piano\" control=\"chkRPartPiano\">Pianof.</item>\n    <item english=\"Other\" control=\"chkRPartOther\">Altro</item>\n    <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">Larghezza di banda completa (alta qualità a 16kHz)</item>\n    <item english=\"Save to\" control=\"btnSaveTo\">Salva in</item>\n    <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">Rilascia qui i file musicali per iniziare l'elaborazione</item>\n    <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">O carica i file musicali</item>\n    <item english=\"Progress\" control=\"lblProgress\">Avanzam.</item>\n    <item english=\"Maximum song length\" control=\"lblMaxLength\">Lunghezza massima del brano</item>\n    <item english=\"seconds\" control=\"lblSeconds\">secondi</item>\n\n    <!-- program texts -->\n    <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Visualizzazione della versione di Spleeter</lang>\n    <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">Per favore, seleziona una cartella di uscita</lang>\n    <lang english=\"Starting\" control=\"starting\">Avvio</lang>\n    <lang english=\"Starting processing of all songs\" control=\"starting_all\">Inizio dell'elaborazione di tutte le canzoni</lang>\n    <lang english=\"songs remaining\" control=\"songs_remaining\">canzone/i rimamenti</lang>\n    <lang english=\"Working\" control=\"working\">In esecuzione</lang>\n    <lang english=\"Processing\" control=\"processing\">Elaborazione</lang>\n    <lang english=\"idle\" control=\"idle\">Inattivo</lang>\n    <lang english=\"Finished processing all songs\" control=\"finished\">Elaborazione di tutte le canzoni terminato</lang>\n    <lang english=\"Run complete\" control=\"run_complete\">Processo completato</lang>\n    <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">Voce + Accompagnamento</lang>\n    <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">Voce + Bassi + Batteria + Altro</lang>\n    <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">Voce + Bassi + Batteria + Pianoforte + Altro</lang>\n    <lang english=\"Please select an output directory\" control=\"output_message\">Per favore, seleziona una cartella di uscita</lang>\n    <lang english=\"Running update command\" control=\"run_update\">Eseguendo il comando di aggiornamento</lang>\n    <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">Potrebbe volerci del tempo, attendi il segnale acustico</lang>\n    <lang english=\"Version\" control=\"version\">versione</lang>\n    <lang english=\"is available\" control=\"is_available\">è disponibile</lang>\n    <lang english=\"You are using the latest version\" control=\"latest\">Stai usando l'ultima versione</lang>\n    <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">Impossibile ottenere i dati della nuova versione, controlla la connessione a Internet</lang>\n    <lang english=\"Choose output location\" control=\"set_output\">Scegli la posizione di uscita</lang>\n    <lang english=\"Choose location of root_folder.txt\" control=\"set_python_path\">Scegli la posizione di root_folder.txt</lang>\n    <lang english=\"Choose location of json config files\" control=\"set_json_path\">Choose location of json config files</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/japanese.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"Japanese\" control=\"\">日本語</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">ファイル(&amp;F)</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">終了(&amp;X)</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">ヘルプ(&amp;H)</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">ヘルプと FAQ(&amp;H)</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">SpleeterGUI のバージョンを確認する(&amp;C)</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Spleeter コアのアップグレード(&amp;U)</menu>\n  <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">SpleeterGUI GitHub ページ(&amp;G)</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so(&amp;M)</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">高度な設定(&amp;A)</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">SpleeterGUI のパスを設定する(&amp;S)</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">json 設定パスを設定する(&amp;J)</menu>\n\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">音楽ソースの分離</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Windows デスクトップバンドル</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">分離するパート</item>\n  <item english=\"2\" control=\"parts_btn2\">2</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">ボーカル + 伴奏</item>\n  <item english=\"4\" control=\"parts_btn4\">4</item>\n  <item english=\"5\" control=\"parts_btn5\">5</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">再結合（指定したパートを合成）</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">ボーカル</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">ベース</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">ドラム</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">ピアノ</item>\n  <item english=\"Other\" control=\"chkRPartOther\">その他</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">全帯域幅（16Khz 高品質）</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">出力先</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">ここに音楽ファイル（複数可）をドロップして処理を開始します</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">または音楽ファイル選択</item>\n  <item english=\"Progress\" control=\"lblProgress\">進捗</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">曲の最大長</item>\n  <item english=\"seconds\" control=\"lblSeconds\">秒</item>\n\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">ヘルプ: https://makenweb.com/spleeter_help.php[NL]問題: https://github.com/boy1dr/SpleeterGui/issues[NL][NL]Spleeter のバージョンを表示しています</lang>\n  <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">出力先を選択してください</lang>\n  <lang english=\"Starting\" control=\"starting\">起動</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">すべての曲の処理を開始しています</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\"> 曲残っています</lang>\n  <lang english=\"Working\" control=\"working\">処理中</lang>\n  <lang english=\"Processing\" control=\"processing\">処理</lang>\n  <lang english=\"idle\" control=\"idle\">アイドル</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">すべての曲の処理が終了しました</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">完了</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">ボーカル + 伴奏</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">ボーカル + ベース + ドラム + その他</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">ボーカル + ベース + ドラム + ピアノ + その他</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">出力先を選択してください</lang>\n  <lang english=\"Running update command\" control=\"run_update\">更新コマンドを実行しています</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">しばらく時間がかかるかもしれませんが、ビープ音が出るまでお待ちください</lang>\n  <lang english=\"Version\" control=\"version\">バージョン</lang>\n  <lang english=\"is available\" control=\"is_available\">利用可能です</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">最新バージョンを使用しています</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">新しいバージョンのデータを取得できません。インターネット接続を確認してください</lang>\n  <lang english=\"Choose output location\" control=\"set_output\">出力先を選択</lang>\n  <lang english=\"Choose location of python.exe\" control=\"set_python_path\">python.exe の場所を選択</lang>\n</root>\n"
  },
  {
    "path": "SpleeterGui/languages_source/korean.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n    <language english=\"korean\" control=\"\">한국어</language>\n    <!-- menu items -->\n    <menu english=\"File\" control=\"fileToolStripMenuItem\">파일</menu>\n    <menu english=\"Exit\" control=\"exitToolStripMenuItem\">종료</menu>\n    <menu english=\"Help\" control=\"helpToolStripMenuItem\">도움</menu>\n    <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">도움말과 &amp; FAQ</menu>\n    <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">spleeterGUI 버전체크</menu>\n    <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Spleeter 핵심파일 업데이트</menu>\n    <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">SpleeterGUI의 github 페이지</menu>\n    <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">만든이 Maken it so</menu>\n    <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">고급 옵션</menu>\n    <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">SpleeterGUI 경로 설정</menu>\n    <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">json 설정집 경로 설정</menu>\n\n  \n  <!-- form controls -->\n    <item english=\"Music source separation\" control=\"lblSlogan1\">음원 분리 프로그램</item>\n    <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">윈도우 GUI 버전</item>\n    <item english=\"Parts to separate\" control=\"lblPartsTitle\">음원 분리 설정</item>\n    <item english=\"2\" control=\"parts_btn2\">2</item>\n    <item english=\"Vocal + Accompaniment\" control=\"parts_label\">보컬 + 반주</item>\n    <item english=\"4\" control=\"parts_btn4\">4</item>\n    <item english=\"5\" control=\"parts_btn5\">5</item>\n    <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">재결합 (분리된 음원중 재결합하여 출력할 요소 선택)</item>\n    <item english=\"Vocal\" control=\"chkRPartVocal\">보컬</item>\n    <item english=\"Bass\" control=\"chkRPartBass\">베이스</item>\n    <item english=\"Drums\" control=\"chkRPartDrums\">드럼</item>\n    <item english=\"Piano\" control=\"chkRPartPiano\">피아노</item>\n    <item english=\"Other\" control=\"chkRPartOther\">기타</item>\n    <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">전체 음역대 설정 (16Khz 이상 음역대 포함 고음질 분리)</item>\n    <item english=\"Save to\" control=\"btnSaveTo\">분리된 음원 저장 경로</item>\n    <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">이곳에 음악 파일을 드래그 하여 분리를 시작하십시오</item>\n    <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">혹은 이 단추를 눌러 파일 탐색기로 분리 대상 설정하기</item>\n    <item english=\"Progress\" control=\"lblProgress\">진행도</item>\n    <item english=\"Maximum song length\" control=\"lblMaxLength\">분리할 음원 최대 길이</item>\n    <item english=\"seconds\" control=\"lblSeconds\">초</item>\n  \n\n    <!-- program texts -->\n    <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Help: https://makenweb.com/spleeter_help.php[NL]Issues: https://github.com/boy1dr/SpleeterGui/issues[NL][NL]Showing spleeter 버전</lang>\n    <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">출력할 경로를 설정하여 주세요</lang>\n    <lang english=\"Starting\" control=\"starting\">시작중</lang>\n    <lang english=\"Starting processing of all songs\" control=\"starting_all\">선택된 곡들의 분리 작업을 시작중</lang>\n    <lang english=\"songs remaining\" control=\"songs_remaining\">곡 남음</lang>\n    <lang english=\"Working\" control=\"working\">작업중</lang>\n    <lang english=\"Processing\" control=\"processing\">분리중</lang>\n    <lang english=\"idle\" control=\"idle\">대기중</lang>\n    <lang english=\"Finished processing all songs\" control=\"finished\">모든 곡의 분리를 성공했습니다</lang>\n    <lang english=\"Run complete\" control=\"run_complete\">작업 완료</lang>\n    <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">보컬 + 반주</lang>\n    <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">보컬 + 베이스 + 드럼 + 기타</lang>\n    <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">보컬 + 베이스 + 드럼 + 피아노 + 기타</lang>\n    <lang english=\"Please select an output directory\" control=\"output_message\">출력할 경로를 설정하여 주세요</lang>\n    <lang english=\"Running update command\" control=\"run_update\">버전 업데이트 실행</lang>\n    <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">이 작업을 수행하는데는 시간이 걸립니다. 신호음을 기다려주십시오</lang>\n    <lang english=\"Version\" control=\"version\">버전</lang>\n    <lang english=\"is available\" control=\"is_available\">이 사용 가능합니다</lang>\n    <lang english=\"You are using the latest version\" control=\"latest\">최신 버전을 사용하고 있습니다</lang>\n    <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">최신 버전 정보를 가져오는데 실패했습니다. 인터넷 연결을 확인해주세요</lang>\n    <lang english=\"Choose output location\" control=\"set_output\">출력 경로를 설정해 주십시오</lang>\n    <lang english=\"Choose location of python.exe\" control=\"set_python_path\">python.exe의 경로를 설정해 주십시오</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/russian.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"russian\" control=\"\">русский</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">файл</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">Выход</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">Помогите</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">Помогите &amp; вопрос</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">Проверьте spleeterGUI версию</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Обновление ядра Spleeter</menu>\n  <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">Spleeter Github страница</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">продвинутый</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">Установить путь к SpleeterGUI</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">Установить путь к конфигам json</menu>\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">Разделение источника музыки</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Пакет рабочего стола Windows</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">Части для разделения</item>\n  <item english=\"2\" control=\"parts_btn2\">два</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">Вокал + аккомпанемент</item>\n  <item english=\"4\" control=\"parts_btn4\">четыре</item>\n  <item english=\"5\" control=\"parts_btn5\">пять</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">Recombine (объединение выходных частей вместе)</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">вокальный</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">бас</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">Барабаны</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">пиано</item>\n  <item english=\"Other\" control=\"chkRPartOther\">Другой</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">Полная пропускная способность (16 кГц, высокое качество)</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">Сохранить</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">Оставьте свои музыкальные файлы здесь, чтобы начать обработку</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">Или выберите музыкальный файл (ы)</item>\n  <item english=\"Progress\" control=\"lblProgress\">Прогресс</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">Максимальная длина песни</item>\n  <item english=\"seconds\" control=\"lblSeconds\">секунд</item>\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Отображение версии spleeter</lang>\n  <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">Пожалуйста, выберите выходной каталог</lang>\n  <lang english=\"Starting\" control=\"starting\">начало</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">Начало обработки всех песен</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\">оставшиеся песни</lang>\n  <lang english=\"Working\" control=\"working\">Работает</lang>\n  <lang english=\"Processing\" control=\"processing\">обработка</lang>\n  <lang english=\"idle\" control=\"idle\">вхолостую</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">Закончена обработка всех песен</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">Выполнить завершено</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">Вокал + аккомпанемент</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">Вокал + Бас + Барабаны + Другое</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">Вокал + Бас + Барабаны + Фортепиано + Другое</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">Пожалуйста, выберите выходной каталог</lang>\n  <lang english=\"Running update command\" control=\"run_update\">Запуск команды обновления</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">Это может занять некоторое время, подождите звукового сигнала</lang>\n  <lang english=\"Version\" control=\"version\">Версия</lang>\n  <lang english=\"is available\" control=\"is_available\">доступен</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">Вы используете последнюю версию</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">Невозможно получить данные новой версии, проверьте интернет-соединение</lang>\n  <lang english=\"Choose output location\" control=\"set_output\">Выберите место выхода</lang>\n  <lang english=\"Choose location of root_folder.txt\" control=\"set_python_path\">Выберите местоположение root_folder.txt</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/spanish.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n  <language english=\"spanish\" control=\"\">español</language>\n  <!-- menu items -->\n  <menu english=\"File\" control=\"fileToolStripMenuItem\">Expediente</menu>\n  <menu english=\"Exit\" control=\"exitToolStripMenuItem\">Salida</menu>\n  <menu english=\"Help\" control=\"helpToolStripMenuItem\">Ayuda</menu>\n  <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">Ayuda &amp; pregunta</menu>\n  <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">Comprueba la versión de spleeterGUI</menu>\n  <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">Actualización principal de Spleeter</menu>\n  <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">Página de github de Spleeter</menu>\n  <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Hazlo así</menu>\n  <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">Avanzada</menu>\n  <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">Establecer ruta de SpleeterGUI</menu>\n  <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">Establecer ruta de configuración json</menu>\n\n  <!-- form controls -->\n  <item english=\"Music source separation\" control=\"lblSlogan1\">Separación de fuente de música</item>\n  <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Paquete de escritorio de Windows</item>\n  <item english=\"Parts to separate\" control=\"lblPartsTitle\">Partes para separar</item>\n  <item english=\"2\" control=\"parts_btn2\">dos</item>\n  <item english=\"Vocal + Accompaniment\" control=\"parts_label\">Voz + acompañamiento</item>\n  <item english=\"4\" control=\"parts_btn4\">cuatro</item>\n  <item english=\"5\" control=\"parts_btn5\">cinco</item>\n  <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">Recombine (Fusionar piezas de salida juntas)</item>\n  <item english=\"Vocal\" control=\"chkRPartVocal\">Vocal</item>\n  <item english=\"Bass\" control=\"chkRPartBass\">Bajo</item>\n  <item english=\"Drums\" control=\"chkRPartDrums\">Tambores</item>\n  <item english=\"Piano\" control=\"chkRPartPiano\">Piano</item>\n  <item english=\"Other\" control=\"chkRPartOther\">Otra</item>\n  <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">Ancho de banda completo (16Khz de alta calidad)</item>\n  <item english=\"Save to\" control=\"btnSaveTo\">Salvar a</item>\n  <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">Suelta tus archivos de música aquí para comenzar a procesar</item>\n  <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">O seleccione archivos de música</item>\n  <item english=\"Progress\" control=\"lblProgress\">Progreso</item>\n  <item english=\"Maximum song length\" control=\"lblMaxLength\">Longitud máxima de la canción</item>\n  <item english=\"seconds\" control=\"lblSeconds\">segundos</item>\n\n  <!-- program texts -->\n  <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">Mostrando la versión esplendorosa</lang>\n  <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">Por favor seleccione un directorio de salida</lang>\n  <lang english=\"Starting\" control=\"starting\">Comenzando</lang>\n  <lang english=\"Starting processing of all songs\" control=\"starting_all\">Iniciando el procesamiento de todas las canciones</lang>\n  <lang english=\"songs remaining\" control=\"songs_remaining\">canciones restantes</lang>\n  <lang english=\"Working\" control=\"working\">Trabajando</lang>\n  <lang english=\"Processing\" control=\"processing\">Procesando</lang>\n  <lang english=\"idle\" control=\"idle\">ociosa</lang>\n  <lang english=\"Finished processing all songs\" control=\"finished\">Terminado de procesar todas las canciones.</lang>\n  <lang english=\"Run complete\" control=\"run_complete\">Ejecutar completa</lang>\n  <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">Voz + acompañamiento</lang>\n  <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">Vocal + Bajo + Batería + Otra</lang>\n  <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">Vocal + Bajo + Batería + Piano + Otra</lang>\n  <lang english=\"Please select an output directory\" control=\"output_message\">Por favor seleccione un directorio de salida</lang>\n  <lang english=\"Running update command\" control=\"run_update\">Ejecutar comando de actualización</lang>\n  <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">Esto puede llevar un tiempo, espera el pitido</lang>\n  <lang english=\"Version\" control=\"version\">Versión</lang>\n  <lang english=\"is available\" control=\"is_available\">está disponible</lang>\n  <lang english=\"You are using the latest version\" control=\"latest\">Estás usando la última versión</lang>\n  <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">No se pueden obtener datos de la nueva versión, verifique la conexión a Internet</lang>\n  <lang english=\"Choose output location\" control=\"set_output\">Elegir ubicación de salida</lang>\n  <lang english=\"Choose location of root_folder.txt\" control=\"set_python_path\">Elija la ubicación de root_folder.txt</lang>\n\n</root>"
  },
  {
    "path": "SpleeterGui/languages_source/tchinese.xml",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<root>\n    <language english=\"tchinese\" control=\"\">正體中文</language>\n    <!-- menu items -->\n    <menu english=\"File\" control=\"fileToolStripMenuItem\">檔案</menu>\n    <menu english=\"Exit\" control=\"exitToolStripMenuItem\">關閉</menu>\n    <menu english=\"Help\" control=\"helpToolStripMenuItem\">說明</menu>\n    <menu english=\"Help &amp; FAQ\" control=\"helpFAQToolStripMenuItem\">說明及常見問題</menu>\n    <menu english=\"Check spleeterGUI version\" control=\"checkSpleeterGUIUpdateToolStripMenuItem\">檢查 spleeterGUI 版本</menu>\n    <menu english=\"Spleeter core upgrade\" control=\"spleeterupgradeToolStripMenuItem\">更新 Spleeter 核心</menu>\n    <menu english=\"SpleeterGUI github page\" control=\"spleeterGithubPageToolStripMenuItem\">SpleeterGUI github 頁面</menu>\n    <menu english=\"Maken it so\" control=\"makenItSoToolStripMenuItem1\">Maken it so</menu>\n    <menu english=\"Advanced\" control=\"advancedToolStripMenuItem\">進階設定</menu>\n    <menu english=\"Set SpleeterGUI path\" control=\"setPythonPathToolStripMenuItem1\">設定 SpleeterGUI 路徑</menu>\n    <menu english=\"Set json configs path\" control=\"setJsonConfigsPathToolStripMenuItem1\">設定 json 設定檔路徑</menu>\n\n  <!-- form controls -->\n    <item english=\"Music source separation\" control=\"lblSlogan1\">Music source separation</item>\n    <item english=\"Windows desktop bundle\" control=\"lblSlogan2\">Windows desktop bundle</item>\n    <item english=\"Parts to separate\" control=\"lblPartsTitle\">分離聲部</item>\n    <item english=\"2\" control=\"parts_btn2\">2</item>\n    <item english=\"Vocal + Accompaniment\" control=\"parts_label\">人聲 + 伴奏</item>\n    <item english=\"4\" control=\"parts_btn4\">4</item>\n    <item english=\"5\" control=\"parts_btn5\">5</item>\n    <item english=\"Recombine (Merge output parts back together)\" control=\"chkRecombine\">重組（將分離的音軌再次合併）</item>\n    <item english=\"Vocal\" control=\"chkRPartVocal\">人聲</item>\n    <item english=\"Bass\" control=\"chkRPartBass\">低音聲部</item>\n    <item english=\"Drums\" control=\"chkRPartDrums\">鼓組</item>\n    <item english=\"Piano\" control=\"chkRPartPiano\">鋼琴</item>\n    <item english=\"Other\" control=\"chkRPartOther\">其他</item>\n    <item english=\"Full bandwidth (16Khz High quality)\" control=\"chkFullBandwidth\">全頻寬（16Khz 高音質）</item>\n    <item english=\"Save to\" control=\"btnSaveTo\">儲存至</item>\n    <item english=\"Drop your music file(s) here to begin processing\" control=\"lblDroptext\">將音樂檔案拖放至此處開始處理</item>\n    <item english=\"Or select music file(s)\" control=\"btnSelectFiles\">或選擇音樂檔案</item>\n    <item english=\"Progress\" control=\"lblProgress\">進度</item>\n    <item english=\"Maximum song length\" control=\"lblMaxLength\">最大歌曲長度</item>\n    <item english=\"seconds\" control=\"lblSeconds\">秒</item>\n\n    <!-- program texts -->\n    <lang english=\"Showing spleeter version\" control=\"LoadStuff_textBox1\">說明：https://makenweb.com/spleeter_help.php[NL]問題：https://github.com/boy1dr/SpleeterGui/issues[NL][NL]顯示 spleeter 版本</lang>\n    <lang english=\"Please select an output directory\" control=\"Form1_DragDrop_msgbox\">請指定儲存路徑</lang>\n    <lang english=\"Starting\" control=\"starting\">開始</lang>\n    <lang english=\"Starting processing of all songs\" control=\"starting_all\">開始處理所有歌曲</lang>\n    <lang english=\"songs remaining\" control=\"songs_remaining\">個待處理檔案</lang>\n    <lang english=\"Working\" control=\"working\">執行中</lang>\n    <lang english=\"Processing\" control=\"processing\">處理中</lang>\n    <lang english=\"idle\" control=\"idle\">閒置中</lang>\n    <lang english=\"Finished processing all songs\" control=\"finished\">結束處理所有歌曲</lang>\n    <lang english=\"Run complete\" control=\"run_complete\">執行完畢</lang>\n    <lang english=\"Vocal + Accompaniment\" control=\"vocal_accompaniment\">人聲 + 伴奏</lang>\n    <lang english=\"Vocal + Bass + Drums + Other\" control=\"vocal_bass_drums_other\">人聲 + 低音聲部 + 鼓組 + 其他</lang>\n    <lang english=\"Vocal + Bass + Drums + Piano + Other\" control=\"vocal_bass_drums_piano_other\">人聲 + 低音聲部 + 鼓組 + 鋼琴 + 其他</lang>\n    <lang english=\"Please select an output directory\" control=\"output_message\">請指定儲存路徑</lang>\n    <lang english=\"Running update command\" control=\"run_update\">執行更新命令</lang>\n    <lang english=\"This might take a while, wait for the beep\" control=\"run_update_b\">可能需要一點時間，請等候提示音</lang>\n    <lang english=\"Version\" control=\"version\">版本</lang>\n    <lang english=\"is available\" control=\"is_available\">可更新</lang>\n    <lang english=\"You are using the latest version\" control=\"latest\">您正在使用最新版本</lang>\n    <lang english=\"Unable get new version data, check internet connection\" control=\"unable\">無法取得新版本資訊，請檢查網路連線</lang>\n    <lang english=\"Choose output location\" control=\"set_output\">選擇儲存位置</lang>\n    <lang english=\"Choose location of python.exe\" control=\"set_python_path\">選擇 python.exe 所在位置</lang>\n</root>"
  },
  {
    "path": "SpleeterGui/packages_OLD.config",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>"
  },
  {
    "path": "SpleeterGui.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.29123.88\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"SpleeterGui\", \"SpleeterGui\\SpleeterGui.csproj\", \"{92A3D32B-8397-41E5-8928-2EE4C22CAF17}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Any CPU = Debug|Any CPU\n\t\tRelease|Any CPU = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{92A3D32B-8397-41E5-8928-2EE4C22CAF17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\n\t\t{92A3D32B-8397-41E5-8928-2EE4C22CAF17}.Debug|Any CPU.Build.0 = Debug|Any CPU\n\t\t{92A3D32B-8397-41E5-8928-2EE4C22CAF17}.Release|Any CPU.ActiveCfg = Release|Any CPU\n\t\t{92A3D32B-8397-41E5-8928-2EE4C22CAF17}.Release|Any CPU.Build.0 = Release|Any CPU\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {CB165FAA-2E90-43F9-B812-A309FA9EC742}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "ni-stem-metadata.json",
    "content": "{\n    \"mastering_dsp\": {\n        \"compressor\": {\n            \"ratio\": 3,\n            \"output_gain\": 0.5,\n            \"enabled\": false,\n            \"release\": 0.300000011920929,\n            \"attack\": 0.003000000026077032,\n            \"input_gain\": 0.5,\n            \"threshold\": 0,\n            \"hp_cutoff\": 300,\n            \"dry_wet\": 50\n        },\n        \"limiter\": {\n            \"release\": 0.05000000074505806,\n            \"threshold\": 0,\n            \"ceiling\": -0.3499999940395355,\n            \"enabled\": false\n        }\n    },\n    \"version\": 1,\n    \"stems\": [\n        {\n            \"color\": \"#56B4E9\",\n            \"name\": \"vocals\"\n        },\n        {\n            \"color\": \"#229e00\",\n            \"name\": \"drums\"\n        },\n        {\n            \"color\": \"#D55E00\",\n            \"name\": \"bass\"\n        },\n        {\n            \"color\": \"#CC79A7\",\n            \"name\": \"other\"\n        }\n    ]\n}"
  }
]