initial commit
This commit is contained in:
commit
220437e651
BIN
C# Projects/05-AddMeta/.vs/05-AddMeta/v15/.suo
Normal file
BIN
C# Projects/05-AddMeta/.vs/05-AddMeta/v15/.suo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
C# Projects/05-AddMeta/.vs/05-AddMeta/v15/sqlite3/storage.ide
Normal file
BIN
C# Projects/05-AddMeta/.vs/05-AddMeta/v15/sqlite3/storage.ide
Normal file
Binary file not shown.
BIN
C# Projects/05-AddMeta/.vs/05-AddMeta/v16/.suo
Normal file
BIN
C# Projects/05-AddMeta/.vs/05-AddMeta/v16/.suo
Normal file
Binary file not shown.
Binary file not shown.
28
C# Projects/05-AddMeta/05-AddMeta.sln
Normal file
28
C# Projects/05-AddMeta/05-AddMeta.sln
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26430.14
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "05-AddMeta", "05-AddMeta\05-AddMeta.csproj", "{00A533D9-32DC-4A37-A202-322F15614B2F}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Debug|x64.Build.0 = Debug|x64
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Release|x64.ActiveCfg = Release|x64
|
||||
{00A533D9-32DC-4A37-A202-322F15614B2F}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
72
C# Projects/05-AddMeta/05-AddMeta/05-AddMeta.csproj
Normal file
72
C# Projects/05-AddMeta/05-AddMeta/05-AddMeta.csproj
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{00A533D9-32DC-4A37-A202-322F15614B2F}</ProjectGuid>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RootNamespace>_05_AddMeta</RootNamespace>
|
||||
<AssemblyName>05-AddMeta</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
6
C# Projects/05-AddMeta/05-AddMeta/App.config
Normal file
6
C# Projects/05-AddMeta/05-AddMeta/App.config
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
||||
</startup>
|
||||
</configuration>
|
306
C# Projects/05-AddMeta/05-AddMeta/Program.cs
Normal file
306
C# Projects/05-AddMeta/05-AddMeta/Program.cs
Normal file
@ -0,0 +1,306 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
|
||||
namespace _05_AddMeta
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
if (args.Length!=0)
|
||||
{
|
||||
foreach(string s in args)
|
||||
{
|
||||
string text = "Copyright (c) 2017 Retro-Commodore.eu pdf creating help utility" + Environment.NewLine;
|
||||
switch (s)
|
||||
{
|
||||
case "-help":
|
||||
text += "-help Help text";
|
||||
break;
|
||||
case "-v":
|
||||
text += "Version 0.01" + Environment.NewLine;
|
||||
break;
|
||||
case "-meta":
|
||||
add_meta_to_pdfs();
|
||||
break;
|
||||
case "-extract":
|
||||
extract_pages_from_pdfs();
|
||||
break;
|
||||
case "-g4compress":
|
||||
g4compress();
|
||||
break;
|
||||
case "-makepdf":
|
||||
make_pdfs_in_dirs();
|
||||
break;
|
||||
case "-createtorrent":
|
||||
create_torrent();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Console.WriteLine(text);
|
||||
}
|
||||
}
|
||||
|
||||
extract_pages_from_pdfs();
|
||||
//g4compress();
|
||||
// make_pdfs_in_dirs();
|
||||
//add_meta_to_pdfs();
|
||||
// create_torrent();
|
||||
Console.WriteLine("Jobs done...");
|
||||
Console.ReadKey();
|
||||
}
|
||||
|
||||
public static void add_meta_to_file(string filename, string outname)
|
||||
{
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "pdftk.exe",
|
||||
Arguments = "\"" + filename + "\"" + " update_info G:\\Retro-Work\\metadata.txt output " + "\"" + outname + "\"",
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
}
|
||||
|
||||
public static void extract_images_from_pdf(string filename, string outdir)
|
||||
{
|
||||
string fArgument = "-q -dNOPAUSE -r600 -sDEVICE=tiff24nc -sCompression=lzw -sOutputFile=\"" + outdir + "\\_%04d.tif\" \"" + filename + "\" -c quit";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "c:\\Program Files\\gs\\gs9.27\\bin\\gswin64c.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
}
|
||||
|
||||
static void add_meta_to_pdfs()
|
||||
{
|
||||
//var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories)
|
||||
// .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
|
||||
string[] files = Directory.GetFiles("G:\\Retro-Work\\Manual\\New folder\\", "*_recognized.pdf");
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string outFileName = Path.GetFileNameWithoutExtension(file.Replace("_recognized", ""));
|
||||
string outdir = "G:\\Retro-Work\\Manual\\New folder\\ToTorrent\\";
|
||||
|
||||
// if (!Directory.Exists(outdir + outFileName))
|
||||
// {
|
||||
// DirectoryInfo di = Directory.CreateDirectory(outdir + outFileName);
|
||||
// }
|
||||
|
||||
add_meta_to_file(file, outdir + outFileName + ".pdf");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
static void extract_pages_from_pdfs()
|
||||
{
|
||||
string[] files = Directory.GetFiles(@"G:\Retro-Work\Manual\PDF-Extract\", "*.pdf");
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string outdir = @"G:\Retro-Work\Manual\PDF-Extract\";
|
||||
string fileName = Path.GetFileNameWithoutExtension(file);
|
||||
|
||||
if (!Directory.Exists(outdir + fileName + "\\"))
|
||||
{
|
||||
DirectoryInfo di = Directory.CreateDirectory(outdir + fileName);
|
||||
}
|
||||
extract_images_from_pdf(file, outdir + fileName);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
static void g4compress()
|
||||
{
|
||||
string[] dirs = Directory.GetDirectories("G:\\Retro-Work\\Manual\\New folder\\work\\");
|
||||
|
||||
foreach(string dir in dirs)
|
||||
{
|
||||
string outdir = dir + "\\g4out";
|
||||
|
||||
if (!Directory.Exists(outdir))
|
||||
{
|
||||
DirectoryInfo di = Directory.CreateDirectory(outdir);
|
||||
}
|
||||
g4compress_files(dir);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void g4compress_files(string dir)
|
||||
{
|
||||
|
||||
string[] files = Directory.GetFiles(dir, "*.tif");
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string filename = Path.GetFileName(file);
|
||||
string fArgument = "\"" + file + "\"" + " /tifc=4 /convert=\"" + dir + "\\g4out\\" + filename + "\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "c:\\Program Files (x86)\\IrfanView\\i_view32.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
static void make_pdfs_in_dirs()
|
||||
{
|
||||
string[] dirs = Directory.GetDirectories("G:\\Retro-Work\\Manual\\New folder\\work\\");
|
||||
|
||||
foreach (string dir in dirs)
|
||||
{
|
||||
string outdir = dir + "\\pdf";
|
||||
|
||||
if (!Directory.Exists(outdir))
|
||||
{
|
||||
DirectoryInfo di = Directory.CreateDirectory(outdir);
|
||||
}
|
||||
make_pdf(dir);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void make_pdf(string dir)
|
||||
{
|
||||
|
||||
string[] files = Directory.GetFiles(dir, "*.tif");
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string filename = Path.GetFileName(file);
|
||||
string fArgument = "\"" + file + "\" " + "\"" + dir + "\\pdf\\" + filename + ".pdf\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files\\ImageMagick-6.9.3-Q16\\convert.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
});
|
||||
|
||||
|
||||
string fileName = Path.GetFileName(dir);
|
||||
string fArgumentPDF = "\"" + dir + "\\pdf\\*.pdf\" G:\\Retro-Work\\brought_to_you_by_[TABLET].pdf cat output \"" + dir + "\\..\\" + fileName + ".pdf\"";
|
||||
ProcessStartInfo startInfo2 = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files (x86)\\PDFtk Server\\bin\\pdftk.exe",
|
||||
Arguments = fArgumentPDF,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p2 = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p2.StartInfo = startInfo2;
|
||||
p2.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output2 = p2.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output2);
|
||||
string err2 = p2.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err2);
|
||||
|
||||
p2.WaitForExit();
|
||||
}
|
||||
|
||||
static void create_torrent(string dir = "G:\\Retro-Work\\Manual\\New folder\\ToTorrent")
|
||||
{
|
||||
string comment = "\"From the archives of http://retro-commodore.eu\"";
|
||||
string[] files = Directory.GetDirectories(dir);
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string fileName = Path.GetFileNameWithoutExtension(file);
|
||||
string fArgument = "-p -c " + comment + " -t udp://AmigaCity.xyz:6969 -o \"" + dir + "\\" + fileName + ".torrent\" \"" + file + "\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files\\Transmission\\transmission-create.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
|
||||
File.AppendAllText(file + ".txt", Environment.NewLine + "torrent: " + fileName + ".torrent" + Environment.NewLine);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
36
C# Projects/05-AddMeta/05-AddMeta/Properties/AssemblyInfo.cs
Normal file
36
C# Projects/05-AddMeta/05-AddMeta/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("05-AddMeta")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("05-AddMeta")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2017")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("00a533d9-32dc-4a37-a202-322f15614b2f")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
BIN
C# Projects/05-AddMeta/05-AddMeta/bin/x64/Debug/05-AddMeta.exe
Normal file
BIN
C# Projects/05-AddMeta/05-AddMeta/bin/x64/Debug/05-AddMeta.exe
Normal file
Binary file not shown.
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
||||
</startup>
|
||||
</configuration>
|
BIN
C# Projects/05-AddMeta/05-AddMeta/bin/x64/Debug/05-AddMeta.pdb
Normal file
BIN
C# Projects/05-AddMeta/05-AddMeta/bin/x64/Debug/05-AddMeta.pdb
Normal file
Binary file not shown.
@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = ".NET Framework 4.5.2")]
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
e38c97fec5c79956b4cc71ae4769b605a35df62e
|
@ -0,0 +1,7 @@
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\bin\x64\Debug\05-AddMeta.exe.config
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\bin\x64\Debug\05-AddMeta.exe
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\bin\x64\Debug\05-AddMeta.pdb
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\obj\x64\Debug\05-AddMeta.csproj.AssemblyReference.cache
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\obj\x64\Debug\05-AddMeta.csproj.CoreCompileInputs.cache
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\obj\x64\Debug\05-AddMeta.exe
|
||||
D:\CloudDrives\NextCloud\Projects\Code\05-AddMeta\05-AddMeta\obj\x64\Debug\05-AddMeta.pdb
|
BIN
C# Projects/05-AddMeta/05-AddMeta/obj/x64/Debug/05-AddMeta.exe
Normal file
BIN
C# Projects/05-AddMeta/05-AddMeta/obj/x64/Debug/05-AddMeta.exe
Normal file
Binary file not shown.
BIN
C# Projects/05-AddMeta/05-AddMeta/obj/x64/Debug/05-AddMeta.pdb
Normal file
BIN
C# Projects/05-AddMeta/05-AddMeta/obj/x64/Debug/05-AddMeta.pdb
Normal file
Binary file not shown.
Binary file not shown.
BIN
C# Projects/DatGenerator.7z
Normal file
BIN
C# Projects/DatGenerator.7z
Normal file
Binary file not shown.
BIN
C# Projects/ScanAssistant.7z
Normal file
BIN
C# Projects/ScanAssistant.7z
Normal file
Binary file not shown.
BIN
C# Projects/ScanAssistant/.vs/ScanAssistant/v15/.suo
Normal file
BIN
C# Projects/ScanAssistant/.vs/ScanAssistant/v15/.suo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
C# Projects/ScanAssistant/.vs/ScanAssistant/v16/.suo
Normal file
BIN
C# Projects/ScanAssistant/.vs/ScanAssistant/v16/.suo
Normal file
Binary file not shown.
Binary file not shown.
25
C# Projects/ScanAssistant/ScanAssistant.sln
Normal file
25
C# Projects/ScanAssistant/ScanAssistant.sln
Normal file
@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26730.15
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScanAssistant", "ScanAssistant\ScanAssistant.csproj", "{3C1BF306-985D-4E0A-80B0-3C2F559227A6}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3C1BF306-985D-4E0A-80B0-3C2F559227A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3C1BF306-985D-4E0A-80B0-3C2F559227A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3C1BF306-985D-4E0A-80B0-3C2F559227A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3C1BF306-985D-4E0A-80B0-3C2F559227A6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FF4FAE5D-20E5-4680-8142-BB726224BA08}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
6
C# Projects/ScanAssistant/ScanAssistant/App.config
Normal file
6
C# Projects/ScanAssistant/ScanAssistant/App.config
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||
</startup>
|
||||
</configuration>
|
186
C# Projects/ScanAssistant/ScanAssistant/DialogAbout.Designer.cs
generated
Normal file
186
C# Projects/ScanAssistant/ScanAssistant/DialogAbout.Designer.cs
generated
Normal file
@ -0,0 +1,186 @@
|
||||
namespace ScanAssistant
|
||||
{
|
||||
partial class DialogAbout
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogAbout));
|
||||
this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.logoPictureBox = new System.Windows.Forms.PictureBox();
|
||||
this.labelProductName = new System.Windows.Forms.Label();
|
||||
this.labelVersion = new System.Windows.Forms.Label();
|
||||
this.labelCopyright = new System.Windows.Forms.Label();
|
||||
this.labelCompanyName = new System.Windows.Forms.Label();
|
||||
this.textBoxDescription = new System.Windows.Forms.TextBox();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.tableLayoutPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tableLayoutPanel
|
||||
//
|
||||
this.tableLayoutPanel.ColumnCount = 2;
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33F));
|
||||
this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67F));
|
||||
this.tableLayoutPanel.Controls.Add(this.logoPictureBox, 0, 0);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelProductName, 1, 0);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelVersion, 1, 1);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelCopyright, 1, 2);
|
||||
this.tableLayoutPanel.Controls.Add(this.labelCompanyName, 1, 3);
|
||||
this.tableLayoutPanel.Controls.Add(this.textBoxDescription, 1, 4);
|
||||
this.tableLayoutPanel.Controls.Add(this.okButton, 1, 5);
|
||||
this.tableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel.Location = new System.Drawing.Point(9, 9);
|
||||
this.tableLayoutPanel.Name = "tableLayoutPanel";
|
||||
this.tableLayoutPanel.RowCount = 6;
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F));
|
||||
this.tableLayoutPanel.Size = new System.Drawing.Size(417, 265);
|
||||
this.tableLayoutPanel.TabIndex = 0;
|
||||
//
|
||||
// logoPictureBox
|
||||
//
|
||||
this.logoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.logoPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("logoPictureBox.Image")));
|
||||
this.logoPictureBox.Location = new System.Drawing.Point(3, 3);
|
||||
this.logoPictureBox.Name = "logoPictureBox";
|
||||
this.tableLayoutPanel.SetRowSpan(this.logoPictureBox, 6);
|
||||
this.logoPictureBox.Size = new System.Drawing.Size(131, 259);
|
||||
this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.logoPictureBox.TabIndex = 12;
|
||||
this.logoPictureBox.TabStop = false;
|
||||
//
|
||||
// labelProductName
|
||||
//
|
||||
this.labelProductName.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelProductName.Location = new System.Drawing.Point(143, 0);
|
||||
this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
|
||||
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 17);
|
||||
this.labelProductName.Name = "labelProductName";
|
||||
this.labelProductName.Size = new System.Drawing.Size(271, 17);
|
||||
this.labelProductName.TabIndex = 19;
|
||||
this.labelProductName.Text = "Product Name";
|
||||
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// labelVersion
|
||||
//
|
||||
this.labelVersion.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelVersion.Location = new System.Drawing.Point(143, 26);
|
||||
this.labelVersion.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
|
||||
this.labelVersion.MaximumSize = new System.Drawing.Size(0, 17);
|
||||
this.labelVersion.Name = "labelVersion";
|
||||
this.labelVersion.Size = new System.Drawing.Size(271, 17);
|
||||
this.labelVersion.TabIndex = 0;
|
||||
this.labelVersion.Text = "Version";
|
||||
this.labelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// labelCopyright
|
||||
//
|
||||
this.labelCopyright.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelCopyright.Location = new System.Drawing.Point(143, 52);
|
||||
this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
|
||||
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17);
|
||||
this.labelCopyright.Name = "labelCopyright";
|
||||
this.labelCopyright.Size = new System.Drawing.Size(271, 17);
|
||||
this.labelCopyright.TabIndex = 21;
|
||||
this.labelCopyright.Text = "Copyright";
|
||||
this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// labelCompanyName
|
||||
//
|
||||
this.labelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.labelCompanyName.Location = new System.Drawing.Point(143, 78);
|
||||
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
|
||||
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 17);
|
||||
this.labelCompanyName.Name = "labelCompanyName";
|
||||
this.labelCompanyName.Size = new System.Drawing.Size(271, 17);
|
||||
this.labelCompanyName.TabIndex = 22;
|
||||
this.labelCompanyName.Text = "Company Name";
|
||||
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// textBoxDescription
|
||||
//
|
||||
this.textBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.textBoxDescription.Location = new System.Drawing.Point(143, 107);
|
||||
this.textBoxDescription.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3);
|
||||
this.textBoxDescription.Multiline = true;
|
||||
this.textBoxDescription.Name = "textBoxDescription";
|
||||
this.textBoxDescription.ReadOnly = true;
|
||||
this.textBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.textBoxDescription.Size = new System.Drawing.Size(271, 126);
|
||||
this.textBoxDescription.TabIndex = 23;
|
||||
this.textBoxDescription.TabStop = false;
|
||||
this.textBoxDescription.Text = "Description";
|
||||
//
|
||||
// okButton
|
||||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.okButton.Location = new System.Drawing.Point(339, 239);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(75, 23);
|
||||
this.okButton.TabIndex = 24;
|
||||
this.okButton.Text = "&OK";
|
||||
//
|
||||
// AboutBox1
|
||||
//
|
||||
this.AcceptButton = this.okButton;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(435, 283);
|
||||
this.Controls.Add(this.tableLayoutPanel);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "AboutBox1";
|
||||
this.Padding = new System.Windows.Forms.Padding(9);
|
||||
this.ShowIcon = false;
|
||||
this.ShowInTaskbar = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "AboutBox1";
|
||||
this.tableLayoutPanel.ResumeLayout(false);
|
||||
this.tableLayoutPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel;
|
||||
private System.Windows.Forms.PictureBox logoPictureBox;
|
||||
private System.Windows.Forms.Label labelProductName;
|
||||
private System.Windows.Forms.Label labelVersion;
|
||||
private System.Windows.Forms.Label labelCopyright;
|
||||
private System.Windows.Forms.Label labelCompanyName;
|
||||
private System.Windows.Forms.TextBox textBoxDescription;
|
||||
private System.Windows.Forms.Button okButton;
|
||||
}
|
||||
}
|
105
C# Projects/ScanAssistant/ScanAssistant/DialogAbout.cs
Normal file
105
C# Projects/ScanAssistant/ScanAssistant/DialogAbout.cs
Normal file
@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ScanAssistant
|
||||
{
|
||||
partial class DialogAbout : Form
|
||||
{
|
||||
public DialogAbout()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Text = String.Format("About {0}", AssemblyTitle);
|
||||
this.labelProductName.Text = AssemblyProduct;
|
||||
this.labelVersion.Text = String.Format("Version {0}", AssemblyVersion);
|
||||
this.labelCopyright.Text = AssemblyCopyright;
|
||||
this.labelCompanyName.Text = AssemblyCompany;
|
||||
this.textBoxDescription.Text = AssemblyDescription;
|
||||
}
|
||||
|
||||
#region Assembly Attribute Accessors
|
||||
|
||||
public string AssemblyTitle
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
|
||||
if (attributes.Length > 0)
|
||||
{
|
||||
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
|
||||
if (titleAttribute.Title != "")
|
||||
{
|
||||
return titleAttribute.Title;
|
||||
}
|
||||
}
|
||||
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyVersion
|
||||
{
|
||||
get
|
||||
{
|
||||
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyDescription
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyDescriptionAttribute)attributes[0]).Description;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyProduct
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyProductAttribute)attributes[0]).Product;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyCopyright
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
|
||||
}
|
||||
}
|
||||
|
||||
public string AssemblyCompany
|
||||
{
|
||||
get
|
||||
{
|
||||
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
|
||||
if (attributes.Length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
return ((AssemblyCompanyAttribute)attributes[0]).Company;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
603
C# Projects/ScanAssistant/ScanAssistant/DialogAbout.resx
Normal file
603
C# Projects/ScanAssistant/ScanAssistant/DialogAbout.resx
Normal file
@ -0,0 +1,603 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="logoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
BIN
C# Projects/ScanAssistant/ScanAssistant/FormIcon.ico
Normal file
BIN
C# Projects/ScanAssistant/ScanAssistant/FormIcon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
379
C# Projects/ScanAssistant/ScanAssistant/FormMain.Designer.cs
generated
Normal file
379
C# Projects/ScanAssistant/ScanAssistant/FormMain.Designer.cs
generated
Normal file
@ -0,0 +1,379 @@
|
||||
namespace ScanAssistant
|
||||
{
|
||||
partial class FormMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
|
||||
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.newProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.closeProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.quitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.panelNewOpenProject = new System.Windows.Forms.Panel();
|
||||
this.panelMainWork = new System.Windows.Forms.Panel();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.comboBoxDPI = new System.Windows.Forms.ComboBox();
|
||||
this.buttonCorrectDPI = new System.Windows.Forms.Button();
|
||||
this.buttonG4Compress = new System.Windows.Forms.Button();
|
||||
this.groupBoxPreScanTailor = new System.Windows.Forms.GroupBox();
|
||||
this.textBoxWhite = new System.Windows.Forms.TextBox();
|
||||
this.textBoxBlack = new System.Windows.Forms.TextBox();
|
||||
this.progressBarInitiate = new System.Windows.Forms.ProgressBar();
|
||||
this.buttonSetDefault = new System.Windows.Forms.Button();
|
||||
this.buttonInitiate = new System.Windows.Forms.Button();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnNew = new System.Windows.Forms.Button();
|
||||
this.btnOpen = new System.Windows.Forms.Button();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.panelNewOpenProject.SuspendLayout();
|
||||
this.panelMainWork.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBoxPreScanTailor.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// menuStrip1
|
||||
//
|
||||
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.helpToolStripMenuItem});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(593, 24);
|
||||
this.menuStrip1.TabIndex = 0;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.newProjectToolStripMenuItem,
|
||||
this.openToolStripMenuItem,
|
||||
this.closeProjectToolStripMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.quitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
//
|
||||
// newProjectToolStripMenuItem
|
||||
//
|
||||
this.newProjectToolStripMenuItem.Name = "newProjectToolStripMenuItem";
|
||||
this.newProjectToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.newProjectToolStripMenuItem.Text = "&New Project...";
|
||||
this.newProjectToolStripMenuItem.Click += new System.EventHandler(this.newProjectToolStripMenuItem_Click);
|
||||
//
|
||||
// openToolStripMenuItem
|
||||
//
|
||||
this.openToolStripMenuItem.Name = "openToolStripMenuItem";
|
||||
this.openToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.openToolStripMenuItem.Text = "&Open Project...";
|
||||
this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
|
||||
//
|
||||
// closeProjectToolStripMenuItem
|
||||
//
|
||||
this.closeProjectToolStripMenuItem.Name = "closeProjectToolStripMenuItem";
|
||||
this.closeProjectToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.closeProjectToolStripMenuItem.Text = "&Close Project";
|
||||
this.closeProjectToolStripMenuItem.Click += new System.EventHandler(this.closeProjectToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// quitToolStripMenuItem
|
||||
//
|
||||
this.quitToolStripMenuItem.Name = "quitToolStripMenuItem";
|
||||
this.quitToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.quitToolStripMenuItem.Text = "&Quit";
|
||||
this.quitToolStripMenuItem.Click += new System.EventHandler(this.quitToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutToolStripMenuItem});
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "&Help";
|
||||
//
|
||||
// aboutToolStripMenuItem
|
||||
//
|
||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
|
||||
this.aboutToolStripMenuItem.Text = "&About";
|
||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
|
||||
//
|
||||
// panelNewOpenProject
|
||||
//
|
||||
this.panelNewOpenProject.Controls.Add(this.panelMainWork);
|
||||
this.panelNewOpenProject.Controls.Add(this.btnNew);
|
||||
this.panelNewOpenProject.Controls.Add(this.btnOpen);
|
||||
this.panelNewOpenProject.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panelNewOpenProject.Location = new System.Drawing.Point(0, 24);
|
||||
this.panelNewOpenProject.Name = "panelNewOpenProject";
|
||||
this.panelNewOpenProject.Size = new System.Drawing.Size(593, 497);
|
||||
this.panelNewOpenProject.TabIndex = 1;
|
||||
//
|
||||
// panelMainWork
|
||||
//
|
||||
this.panelMainWork.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.panelMainWork.Controls.Add(this.groupBox1);
|
||||
this.panelMainWork.Controls.Add(this.groupBoxPreScanTailor);
|
||||
this.panelMainWork.Location = new System.Drawing.Point(0, 0);
|
||||
this.panelMainWork.Name = "panelMainWork";
|
||||
this.panelMainWork.Size = new System.Drawing.Size(593, 497);
|
||||
this.panelMainWork.TabIndex = 2;
|
||||
this.panelMainWork.Visible = false;
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.comboBoxDPI);
|
||||
this.groupBox1.Controls.Add(this.buttonCorrectDPI);
|
||||
this.groupBox1.Controls.Add(this.buttonG4Compress);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 121);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(568, 208);
|
||||
this.groupBox1.TabIndex = 10;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Options after ScanTailor";
|
||||
//
|
||||
// comboBoxDPI
|
||||
//
|
||||
this.comboBoxDPI.DisplayMember = "600";
|
||||
this.comboBoxDPI.FormatString = "N0";
|
||||
this.comboBoxDPI.FormattingEnabled = true;
|
||||
this.comboBoxDPI.Items.AddRange(new object[] {
|
||||
"150",
|
||||
"300",
|
||||
"600"});
|
||||
this.comboBoxDPI.Location = new System.Drawing.Point(99, 21);
|
||||
this.comboBoxDPI.Name = "comboBoxDPI";
|
||||
this.comboBoxDPI.Size = new System.Drawing.Size(70, 21);
|
||||
this.comboBoxDPI.TabIndex = 2;
|
||||
//
|
||||
// buttonCorrectDPI
|
||||
//
|
||||
this.buttonCorrectDPI.Location = new System.Drawing.Point(7, 20);
|
||||
this.buttonCorrectDPI.Name = "buttonCorrectDPI";
|
||||
this.buttonCorrectDPI.Size = new System.Drawing.Size(85, 23);
|
||||
this.buttonCorrectDPI.TabIndex = 1;
|
||||
this.buttonCorrectDPI.Text = "Correct DPI";
|
||||
this.buttonCorrectDPI.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// buttonG4Compress
|
||||
//
|
||||
this.buttonG4Compress.Location = new System.Drawing.Point(6, 58);
|
||||
this.buttonG4Compress.Name = "buttonG4Compress";
|
||||
this.buttonG4Compress.Size = new System.Drawing.Size(86, 23);
|
||||
this.buttonG4Compress.TabIndex = 0;
|
||||
this.buttonG4Compress.Text = "G4 Compress ";
|
||||
this.buttonG4Compress.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// groupBoxPreScanTailor
|
||||
//
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.textBoxWhite);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.textBoxBlack);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.progressBarInitiate);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.buttonSetDefault);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.buttonInitiate);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.label4);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.label3);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.label2);
|
||||
this.groupBoxPreScanTailor.Controls.Add(this.label1);
|
||||
this.groupBoxPreScanTailor.Location = new System.Drawing.Point(12, 15);
|
||||
this.groupBoxPreScanTailor.Name = "groupBoxPreScanTailor";
|
||||
this.groupBoxPreScanTailor.Size = new System.Drawing.Size(569, 100);
|
||||
this.groupBoxPreScanTailor.TabIndex = 9;
|
||||
this.groupBoxPreScanTailor.TabStop = false;
|
||||
this.groupBoxPreScanTailor.Text = "Prepare for ScanTailor";
|
||||
//
|
||||
// textBoxWhite
|
||||
//
|
||||
this.textBoxWhite.Location = new System.Drawing.Point(152, 45);
|
||||
this.textBoxWhite.Name = "textBoxWhite";
|
||||
this.textBoxWhite.Size = new System.Drawing.Size(31, 20);
|
||||
this.textBoxWhite.TabIndex = 10;
|
||||
this.textBoxWhite.Text = "86";
|
||||
this.textBoxWhite.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// textBoxBlack
|
||||
//
|
||||
this.textBoxBlack.Location = new System.Drawing.Point(90, 45);
|
||||
this.textBoxBlack.Name = "textBoxBlack";
|
||||
this.textBoxBlack.Size = new System.Drawing.Size(31, 20);
|
||||
this.textBoxBlack.TabIndex = 9;
|
||||
this.textBoxBlack.Text = "11";
|
||||
this.textBoxBlack.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// progressBarInitiate
|
||||
//
|
||||
this.progressBarInitiate.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.progressBarInitiate.Location = new System.Drawing.Point(420, 42);
|
||||
this.progressBarInitiate.Name = "progressBarInitiate";
|
||||
this.progressBarInitiate.Size = new System.Drawing.Size(143, 23);
|
||||
this.progressBarInitiate.TabIndex = 8;
|
||||
//
|
||||
// buttonSetDefault
|
||||
//
|
||||
this.buttonSetDefault.Location = new System.Drawing.Point(319, 42);
|
||||
this.buttonSetDefault.Name = "buttonSetDefault";
|
||||
this.buttonSetDefault.Size = new System.Drawing.Size(85, 23);
|
||||
this.buttonSetDefault.TabIndex = 7;
|
||||
this.buttonSetDefault.Text = "Default Values";
|
||||
this.buttonSetDefault.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// buttonInitiate
|
||||
//
|
||||
this.buttonInitiate.Location = new System.Drawing.Point(6, 43);
|
||||
this.buttonInitiate.Name = "buttonInitiate";
|
||||
this.buttonInitiate.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonInitiate.TabIndex = 0;
|
||||
this.buttonInitiate.Text = "Initiate";
|
||||
this.buttonInitiate.UseVisualStyleBackColor = true;
|
||||
this.buttonInitiate.Click += new System.EventHandler(this.buttonInitiate_Click);
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(149, 29);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(35, 13);
|
||||
this.label4.TabIndex = 6;
|
||||
this.label4.Text = "White";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(89, 29);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(34, 13);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "Black";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(184, 48);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(15, 13);
|
||||
this.label2.TabIndex = 4;
|
||||
this.label2.Text = "%";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(122, 48);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(15, 13);
|
||||
this.label1.TabIndex = 3;
|
||||
this.label1.Text = "%";
|
||||
//
|
||||
// btnNew
|
||||
//
|
||||
this.btnNew.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.btnNew.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btnNew.Location = new System.Drawing.Point(164, 204);
|
||||
this.btnNew.Name = "btnNew";
|
||||
this.btnNew.Size = new System.Drawing.Size(129, 88);
|
||||
this.btnNew.TabIndex = 0;
|
||||
this.btnNew.Text = "Pre ScanTailor";
|
||||
this.btnNew.UseVisualStyleBackColor = true;
|
||||
this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
|
||||
//
|
||||
// btnOpen
|
||||
//
|
||||
this.btnOpen.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.btnOpen.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.btnOpen.Location = new System.Drawing.Point(299, 204);
|
||||
this.btnOpen.Name = "btnOpen";
|
||||
this.btnOpen.Size = new System.Drawing.Size(128, 88);
|
||||
this.btnOpen.TabIndex = 1;
|
||||
this.btnOpen.Text = "Post ScanTailor";
|
||||
this.btnOpen.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(593, 521);
|
||||
this.Controls.Add(this.panelNewOpenProject);
|
||||
this.Controls.Add(this.menuStrip1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip1;
|
||||
this.Name = "FormMain";
|
||||
this.Text = "ScanAssistant";
|
||||
this.menuStrip1.ResumeLayout(false);
|
||||
this.menuStrip1.PerformLayout();
|
||||
this.panelNewOpenProject.ResumeLayout(false);
|
||||
this.panelMainWork.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBoxPreScanTailor.ResumeLayout(false);
|
||||
this.groupBoxPreScanTailor.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.MenuStrip menuStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem quitToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem newProjectToolStripMenuItem;
|
||||
private System.Windows.Forms.Panel panelNewOpenProject;
|
||||
private System.Windows.Forms.Button btnOpen;
|
||||
private System.Windows.Forms.Button btnNew;
|
||||
private System.Windows.Forms.ToolStripMenuItem closeProjectToolStripMenuItem;
|
||||
private System.Windows.Forms.Panel panelMainWork;
|
||||
private System.Windows.Forms.GroupBox groupBoxPreScanTailor;
|
||||
private System.Windows.Forms.ProgressBar progressBarInitiate;
|
||||
private System.Windows.Forms.Button buttonSetDefault;
|
||||
private System.Windows.Forms.Button buttonInitiate;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox textBoxWhite;
|
||||
private System.Windows.Forms.TextBox textBoxBlack;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.ComboBox comboBoxDPI;
|
||||
private System.Windows.Forms.Button buttonCorrectDPI;
|
||||
private System.Windows.Forms.Button buttonG4Compress;
|
||||
}
|
||||
}
|
||||
|
405
C# Projects/ScanAssistant/ScanAssistant/FormMain.cs
Normal file
405
C# Projects/ScanAssistant/ScanAssistant/FormMain.cs
Normal file
@ -0,0 +1,405 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
||||
namespace ScanAssistant
|
||||
{
|
||||
public partial class FormMain : Form
|
||||
{
|
||||
public string sourceDir;
|
||||
public List<string> fileNames;
|
||||
public string destinationDir;
|
||||
|
||||
public FormMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
comboBoxDPI.SelectedItem = 600;
|
||||
}
|
||||
|
||||
private void btnNew_Click(object sender, EventArgs e)
|
||||
{
|
||||
panelMainWork.BringToFront();
|
||||
FormOpenSourceDir opendir = new FormOpenSourceDir();
|
||||
opendir.ShowDialog();
|
||||
destinationDir = opendir.destinationDir;
|
||||
sourceDir = opendir.sourceDir;
|
||||
fileNames = opendir.fileNames;
|
||||
|
||||
if (!string.IsNullOrEmpty(sourceDir))
|
||||
{
|
||||
panelMainWork.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void newProjectToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
panelMainWork.Visible = false;
|
||||
}
|
||||
|
||||
private void closeProjectToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
panelMainWork.Visible = false;
|
||||
}
|
||||
|
||||
private void openToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
panelMainWork.Visible = true;
|
||||
panelNewOpenProject.Visible = false;
|
||||
}
|
||||
|
||||
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (DialogAbout about = new DialogAbout())
|
||||
{
|
||||
about.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
private void quitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult quit = MessageBox.Show("Do you want to quit this application?", "Quit?", MessageBoxButtons.YesNo);
|
||||
if(quit == DialogResult.Yes)
|
||||
{
|
||||
Application.Exit();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void buttonInitiate_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (Convert.ToInt32(textBoxBlack.Text) >= Convert.ToInt32(textBoxWhite.Text))
|
||||
{
|
||||
MessageBox.Show("White amount cannot be equal or less than black amount", "Blacker than black", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
}
|
||||
else if (Directory.GetFiles(destinationDir).Count() > 0)
|
||||
{
|
||||
DialogResult dialog = MessageBox.Show("Destination directory contains files,\r\ncan't continue unless you delete the files.\r\nDo you want to delete the files in the directory?", "Delete files in destination directory?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
if (dialog == DialogResult.Yes)
|
||||
{
|
||||
DirectoryInfo di = new DirectoryInfo(destinationDir);
|
||||
foreach (FileInfo file in di.GetFiles())
|
||||
{
|
||||
file.Delete();
|
||||
}
|
||||
progressBarInitiate.Maximum = fileNames.Count();
|
||||
progressBarInitiate.Value = 0;
|
||||
initiate();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
progressBarInitiate.Maximum = fileNames.Count();
|
||||
progressBarInitiate.Value = 0;
|
||||
initiate();
|
||||
}
|
||||
}
|
||||
|
||||
// todo make cofigurable default settings
|
||||
private void buttonSetDefault_Click(object sender, EventArgs e)
|
||||
{
|
||||
textBoxBlack.Text = "11";
|
||||
textBoxWhite.Text = "86";
|
||||
}
|
||||
|
||||
// TODO - external apps should reside with this app
|
||||
// Check on startup if required programs exist (perhaps check md5 sum of files?)
|
||||
// fix paths
|
||||
// cleanup code
|
||||
// check for possibility to select/deselect -in app- the usage of one or more cores
|
||||
|
||||
// PRIMARY TODO -> New/Open Screen should change to "Pre Scantailor" and "Post Scantailor"
|
||||
// post scantailor -> select working dirs
|
||||
// evaluate if saving project settings is needed (atm not needed)
|
||||
|
||||
// Missing stuff yet to add
|
||||
// select path for source images, post scantailor
|
||||
// make selectable which files should be converted to grayscale - preview pics
|
||||
// make selectable which files should be opened with your fav pic editor
|
||||
// check during very first startup - mspaint, paint.net, gimp, adobe, make selectable which app should be default pic editor
|
||||
// working temp dir needs defined, using %temp%\<generated random dir> ? - delete this after shutting down app.
|
||||
// compress 1-bit to g4 fax sourceFile -> %temp% -> sourceFile
|
||||
// make pdf
|
||||
// sorting output : firstpage -> lastpage only (folded booklet with back/front, 2-3, 4-5 etc) ,
|
||||
// (fullpage magazine scans) back/front; 2/second-last; third-last/3; 4/fourth-last
|
||||
// (simplex scanned front to back, back to front) 1, 3, 5 .... 6, 4, 2
|
||||
// generate tablet size version (150dpi)
|
||||
// create sha1 + md5 files of output
|
||||
|
||||
// version 2.0
|
||||
// add jobs to task manager
|
||||
|
||||
|
||||
// Step 1 use convert (ImageMagick) to adjust contrast from files in sourceDir to destinationDir
|
||||
private void initiate()
|
||||
{
|
||||
var parOptions = new ParallelOptions();
|
||||
int degreeOfParallelism = Environment.ProcessorCount - 1;
|
||||
parOptions.MaxDegreeOfParallelism = degreeOfParallelism;
|
||||
|
||||
Parallel.ForEach(fileNames, parOptions, (file) =>
|
||||
{
|
||||
// Progress bar that doesn't work atm -> 911 @ PET/Dexion
|
||||
// Here it only shows progress after jobs are done
|
||||
//BeginInvoke((Action)delegate { progressBarInitiate.Refresh(); });
|
||||
//BeginInvoke((Action)delegate { progressBarInitiate.Value++; });
|
||||
string destinationFile = destinationDir + "\\" + Path.GetFileNameWithoutExtension(file) + ".tif";
|
||||
string sourceFile = sourceDir + "\\" + file;
|
||||
string fArgument = "\"" + sourceFile + "\" -level " + textBoxBlack.Text + "%," + textBoxWhite.Text + "% \"" + destinationFile + "\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files\\ImageMagick-6.9.3-Q16\\convert.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
//Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
//Console.WriteLine(err);
|
||||
|
||||
BeginInvoke(new Action(() => progressBarInitiate.Value++));
|
||||
//BeginInvoke(new Action(() => progressBarInitiate.Refresh()));
|
||||
|
||||
p.WaitForExit();
|
||||
|
||||
// here the progress shows correctly -make note of invoke/begininvoke- but never finishes
|
||||
// 198 test files = only 160-175ish output files.
|
||||
// progress bar code is in a trial and error state - unknown what happens if it runs now.
|
||||
//Invoke(new Action(() => progressBarInitiate.Value++));
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Add metadata to PDF File
|
||||
public static void add_meta_to_file(string filename, string outname)
|
||||
{
|
||||
// Requires PDFTK (server/console)
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "pdftk.exe",
|
||||
Arguments = "\"" + filename + "\"" + " update_info D:\\Retro-Work\\metadata.txt output " + "\"" + outname + "\"",
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
p.WaitForExit();
|
||||
}
|
||||
|
||||
// Add metadata to multiple PDF files - FIXME
|
||||
static void add_meta_to_pdfs()
|
||||
{
|
||||
//var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories)
|
||||
// .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
|
||||
string[] files = Directory.GetFiles("D:\\Retro-Work\\Manual\\New folder\\", "*_recognized.pdf");
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string outFileName = Path.GetFileNameWithoutExtension(file.Replace("_recognized", ""));
|
||||
string outdir = "D:\\Retro-Work\\Manual\\New folder\\ToTorrent\\";
|
||||
|
||||
if (!Directory.Exists(outdir + outFileName))
|
||||
{
|
||||
DirectoryInfo di = Directory.CreateDirectory(outdir + outFileName);
|
||||
}
|
||||
|
||||
add_meta_to_file(file, outdir + outFileName + ".pdf");
|
||||
});
|
||||
}
|
||||
|
||||
// Compress 1-Bit files with G4
|
||||
static void g4compress_files(string dir)
|
||||
{
|
||||
|
||||
// Requires ImageMagick's identify - TODO grab stdout 1-bit vs 8-bit and add to list
|
||||
string[] files = Directory.GetFiles(dir, "*.tif");
|
||||
|
||||
// examine if files = 1bit : add to g4 compress list
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string sourceFile = file;
|
||||
string fArgument = "\"" + sourceFile + "\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files\\ImageMagick-6.9.3-Q16\\identify.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
p.WaitForExit();
|
||||
});
|
||||
|
||||
|
||||
// compress 1-bit files to G4 - TODO use imagemagick instead
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string filename = Path.GetFileName(file);
|
||||
string fArgument = "\"" + file + "\"" + " /tifc=4 /convert=\"" + dir + "\\g4out\\" + filename + "\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "c:\\Program Files (x86)\\IrfanView\\i_view32.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// make pdf files from each dir's image files - nested - FIXME this is only used in specific times, make a console app for this?!?
|
||||
static void make_pdfs_in_dirs()
|
||||
{
|
||||
string[] dirs = Directory.GetDirectories("D:\\Retro-Work\\Manual\\New folder\\work\\");
|
||||
|
||||
foreach (string dir in dirs)
|
||||
{
|
||||
string outdir = dir + "\\pdf";
|
||||
|
||||
if (!Directory.Exists(outdir))
|
||||
{
|
||||
DirectoryInfo di = Directory.CreateDirectory(outdir);
|
||||
}
|
||||
make_pdf(dir);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Create a pdf file from working directory when everything else is in place
|
||||
static void make_pdf(string dir)
|
||||
{
|
||||
string[] files = Directory.GetFiles(dir, "*.tif");
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string filename = Path.GetFileName(file);
|
||||
string fArgument = "\"" + file + "\" " + "\"" + dir + "\\pdf\\" + filename + ".pdf\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files\\ImageMagick-6.9.3-Q16\\convert.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
});
|
||||
|
||||
// TODO make selectable tablet or A4 to add as last page
|
||||
string fileName = Path.GetFileName(dir);
|
||||
string fArgumentPDF = "\"" + dir + "\\pdf\\*.pdf\" D:\\Retro-Work\\brought_to_you_by_[TABLET].pdf cat output \"" + dir + "\\..\\" + fileName + ".pdf\"";
|
||||
ProcessStartInfo startInfo2 = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files (x86)\\PDFtk Server\\bin\\pdftk.exe",
|
||||
Arguments = fArgumentPDF,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p2 = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p2.StartInfo = startInfo2;
|
||||
p2.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output2 = p2.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output2);
|
||||
string err2 = p2.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err2);
|
||||
|
||||
p2.WaitForExit();
|
||||
}
|
||||
|
||||
|
||||
// using transmission BT to create a torrent file from designated dir - TODO config/output dir
|
||||
static void create_torrent()
|
||||
{
|
||||
string comment = "\"From the archives of http://retro-commodore.eu\"";
|
||||
|
||||
string dir = "D:\\Retro-Work\\Manual\\New folder\\ToTorrent";
|
||||
string[] files = Directory.GetDirectories(dir);
|
||||
|
||||
Parallel.ForEach(files, (file) =>
|
||||
{
|
||||
string fileName = Path.GetFileNameWithoutExtension(file);
|
||||
string fArgument = "-p -c " + comment + " -t udp://AmigaCity.xyz:6969 -o \"" + dir + "\\" + fileName + ".torrent\" \"" + file + "\"";
|
||||
ProcessStartInfo startInfo = new ProcessStartInfo()
|
||||
{
|
||||
FileName = "C:\\Program Files\\Transmission\\transmission-create.exe",
|
||||
Arguments = fArgument,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true,
|
||||
RedirectStandardError = true,
|
||||
RedirectStandardOutput = true
|
||||
};
|
||||
Process p = new Process();
|
||||
//p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
|
||||
p.StartInfo = startInfo;
|
||||
p.Start();
|
||||
//p.BeginOutputReadLine();
|
||||
string output = p.StandardOutput.ReadToEnd();
|
||||
Console.WriteLine(output);
|
||||
string err = p.StandardError.ReadToEnd();
|
||||
Console.WriteLine(err);
|
||||
|
||||
p.WaitForExit();
|
||||
|
||||
File.AppendAllText(file + ".txt", Environment.NewLine + "torrent: " + fileName + ".torrent" + Environment.NewLine);
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
1256
C# Projects/ScanAssistant/ScanAssistant/FormMain.resx
Normal file
1256
C# Projects/ScanAssistant/ScanAssistant/FormMain.resx
Normal file
File diff suppressed because it is too large
Load Diff
163
C# Projects/ScanAssistant/ScanAssistant/FormOpenSourceDir.cs
Normal file
163
C# Projects/ScanAssistant/ScanAssistant/FormOpenSourceDir.cs
Normal file
@ -0,0 +1,163 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ScanAssistant
|
||||
{
|
||||
public partial class FormOpenSourceDir : Form
|
||||
{
|
||||
public string sourceDir { get; set; }
|
||||
public string destinationDir { get; set; }
|
||||
public List<string> fileNames { get; set; }
|
||||
public bool previousImage = false;
|
||||
|
||||
public FormOpenSourceDir()
|
||||
{
|
||||
InitializeComponent();
|
||||
buttonOK.Enabled = false;
|
||||
}
|
||||
|
||||
private void buttonBrowseSource_Click(object sender, EventArgs e)
|
||||
{
|
||||
FolderBrowserDialog folder = new FolderBrowserDialog();
|
||||
|
||||
if (!string.IsNullOrEmpty(textSourceDir.Text))
|
||||
{
|
||||
folder.SelectedPath = textSourceDir.Text;
|
||||
}
|
||||
|
||||
if (DialogResult.OK == folder.ShowDialog())
|
||||
{
|
||||
textSourceDir.Clear();
|
||||
|
||||
textSourceDir.Text = sourceDir = folder.SelectedPath;
|
||||
buttonSetDefault.Enabled = true;
|
||||
|
||||
string[] files = Directory.GetFiles(folder.SelectedPath);
|
||||
//.Where(file => file.ToLower().EndsWith("jpg") || file.ToLower().EndsWith("png") || file.ToLower().EndsWith("tif") || file.ToLower().EndsWith("tiff"));
|
||||
|
||||
|
||||
if (files.Length > 1)
|
||||
{
|
||||
foreach (string file in files)
|
||||
{
|
||||
listBoxSourceDir.Items.Add(Path.GetFileName(file));
|
||||
}
|
||||
labelSourceFileCount.Text = files.Count().ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonBrowseDestination_Click(object sender, EventArgs e)
|
||||
{
|
||||
FolderBrowserDialog folder = new FolderBrowserDialog();
|
||||
|
||||
if (!string.IsNullOrEmpty(textDestinationDir.Text))
|
||||
{
|
||||
folder.SelectedPath = textSourceDir.Text;
|
||||
}
|
||||
|
||||
if (DialogResult.OK == folder.ShowDialog())
|
||||
{
|
||||
textDestinationDir.Clear();
|
||||
textDestinationDir.Text = destinationDir = folder.SelectedPath;
|
||||
if (checkDestinationDirExists())
|
||||
{
|
||||
buttonOK.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonOK.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonSetDefault_Click(object sender, EventArgs e)
|
||||
{
|
||||
textDestinationDir.Clear();
|
||||
DirectoryInfo parentDir = Directory.GetParent(textSourceDir.Text);
|
||||
textDestinationDir.Text = parentDir + "\\work";
|
||||
if (checkDestinationDirExists())
|
||||
{
|
||||
buttonOK.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonOK.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
sourceDir = textSourceDir.Text;
|
||||
destinationDir = textDestinationDir.Text;
|
||||
fileNames = listBoxSourceDir.Items.OfType<string>().ToList();
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void textSourceDir_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (Directory.Exists(textSourceDir.Text))
|
||||
{
|
||||
buttonSetDefault.Enabled = true;
|
||||
listBoxSourceDir.Items.Clear();
|
||||
string[] files = Directory.GetFiles(textSourceDir.Text);
|
||||
|
||||
if (files.Length > 1)
|
||||
{
|
||||
foreach (string file in files)
|
||||
{
|
||||
listBoxSourceDir.Items.Add(Path.GetFileName(file));
|
||||
}
|
||||
labelSourceFileCount.Text = listBoxSourceDir.Items.Count.ToString();
|
||||
}
|
||||
sourceDir = textSourceDir.Text;
|
||||
}
|
||||
}
|
||||
|
||||
public bool checkDestinationDirExists()
|
||||
{
|
||||
if (!Directory.Exists(textDestinationDir.Text))
|
||||
{
|
||||
MessageBox.Show("Destination directory is not set," + Environment.NewLine + "or is not created!" , "Directory unknown", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
return false;
|
||||
}
|
||||
destinationDir = textDestinationDir.Text;
|
||||
return true;
|
||||
}
|
||||
|
||||
private void listBoxSourceDir_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if(listBoxSourceDir.SelectedIndex != -1)
|
||||
{
|
||||
if (previousImage)
|
||||
{
|
||||
pictureBox1.InitialImage = null;
|
||||
}
|
||||
Application.UseWaitCursor = true;
|
||||
pictureBox1.ImageLocation = textSourceDir.Text + "\\" + listBoxSourceDir.SelectedItem.ToString();
|
||||
previousImage = true;
|
||||
Application.UseWaitCursor = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void textDestinationDir_KeyUp(object sender, KeyEventArgs e)
|
||||
{
|
||||
if(checkDestinationDirExists())
|
||||
{
|
||||
buttonOK.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonOK.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1256
C# Projects/ScanAssistant/ScanAssistant/FormOpenSourceDir.resx
Normal file
1256
C# Projects/ScanAssistant/ScanAssistant/FormOpenSourceDir.resx
Normal file
File diff suppressed because it is too large
Load Diff
22
C# Projects/ScanAssistant/ScanAssistant/Program.cs
Normal file
22
C# Projects/ScanAssistant/ScanAssistant/Program.cs
Normal file
@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ScanAssistant
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FormMain());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("ScanAssistant")]
|
||||
[assembly: AssemblyDescription("ScanAssistant is a program to assist ScanTailor with sorting, better compression of and more.")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Carsten Jensen")]
|
||||
[assembly: AssemblyProduct("ScanAssistant")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2017 http://retro-commodore.eu")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("3c1bf306-985d-4e0a-80b0-3c2f559227a6")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
71
C# Projects/ScanAssistant/ScanAssistant/Properties/Resources.Designer.cs
generated
Normal file
71
C# Projects/ScanAssistant/ScanAssistant/Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,71 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ScanAssistant.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ScanAssistant.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
30
C# Projects/ScanAssistant/ScanAssistant/Properties/Settings.Designer.cs
generated
Normal file
30
C# Projects/ScanAssistant/ScanAssistant/Properties/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,30 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ScanAssistant.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
136
C# Projects/ScanAssistant/ScanAssistant/ScanAssistant.csproj
Normal file
136
C# Projects/ScanAssistant/ScanAssistant/ScanAssistant.csproj
Normal file
@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{3C1BF306-985D-4E0A-80B0-3C2F559227A6}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>ScanAssistant</RootNamespace>
|
||||
<AssemblyName>ScanAssistant</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
<UpdateEnabled>false</UpdateEnabled>
|
||||
<UpdateMode>Foreground</UpdateMode>
|
||||
<UpdateInterval>7</UpdateInterval>
|
||||
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||
<UpdatePeriodically>false</UpdatePeriodically>
|
||||
<UpdateRequired>false</UpdateRequired>
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>FormIcon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DialogAbout.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DialogAbout.Designer.cs">
|
||||
<DependentUpon>DialogAbout.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ScanSettings.cs" />
|
||||
<Compile Include="FormMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormMain.Designer.cs">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="DialogAbout.resx">
|
||||
<DependentUpon>DialogAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FormMain.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FormOpenSourceDir.resx">
|
||||
<DependentUpon>FormOpenSourceDir.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="FormOpenSourceDir.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormOpenSourceDir.Designer.cs">
|
||||
<DependentUpon>FormOpenSourceDir.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include=".NETFramework,Version=v4.6.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Microsoft .NET Framework 4.6.1 %28x86 and x64%29</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="FormIcon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<PublishUrlHistory>publish\</PublishUrlHistory>
|
||||
<InstallUrlHistory />
|
||||
<SupportUrlHistory />
|
||||
<UpdateUrlHistory />
|
||||
<BootstrapperUrlHistory />
|
||||
<ErrorReportUrlHistory />
|
||||
<FallbackCulture>en-US</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
33
C# Projects/ScanAssistant/ScanAssistant/ScanSettings.cs
Normal file
33
C# Projects/ScanAssistant/ScanAssistant/ScanSettings.cs
Normal file
@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ScanAssistant
|
||||
{
|
||||
public class ScanSettings
|
||||
{
|
||||
string _sourceDir;
|
||||
string _destinationDir;
|
||||
string[] fileList;
|
||||
|
||||
public string SourceDir
|
||||
{
|
||||
get { return this._sourceDir; }
|
||||
set { this._sourceDir = value; }
|
||||
}
|
||||
|
||||
public string DestinationDir
|
||||
{
|
||||
get { return this._destinationDir; }
|
||||
set { this._destinationDir = value; }
|
||||
}
|
||||
|
||||
public void PopulateFileList(string[] value)
|
||||
{
|
||||
fileList = value;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
185
C# Projects/ScanAssistant/ScanAssistant/formOpenSourceDir.Designer.cs
generated
Normal file
185
C# Projects/ScanAssistant/ScanAssistant/formOpenSourceDir.Designer.cs
generated
Normal file
@ -0,0 +1,185 @@
|
||||
namespace ScanAssistant
|
||||
{
|
||||
partial class FormOpenSourceDir
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormOpenSourceDir));
|
||||
this.buttonBrowseSource = new System.Windows.Forms.Button();
|
||||
this.buttonBrowseDestination = new System.Windows.Forms.Button();
|
||||
this.textSourceDir = new System.Windows.Forms.TextBox();
|
||||
this.textDestinationDir = new System.Windows.Forms.TextBox();
|
||||
this.buttonSetDefault = new System.Windows.Forms.Button();
|
||||
this.directoryEntry1 = new System.DirectoryServices.DirectoryEntry();
|
||||
this.listBoxSourceDir = new System.Windows.Forms.ListBox();
|
||||
this.buttonOK = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.labelSourceFileCount = new System.Windows.Forms.Label();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonBrowseSource
|
||||
//
|
||||
this.buttonBrowseSource.Location = new System.Drawing.Point(214, 10);
|
||||
this.buttonBrowseSource.Name = "buttonBrowseSource";
|
||||
this.buttonBrowseSource.Size = new System.Drawing.Size(84, 23);
|
||||
this.buttonBrowseSource.TabIndex = 0;
|
||||
this.buttonBrowseSource.Text = "Source...";
|
||||
this.buttonBrowseSource.UseVisualStyleBackColor = true;
|
||||
this.buttonBrowseSource.Click += new System.EventHandler(this.buttonBrowseSource_Click);
|
||||
//
|
||||
// buttonBrowseDestination
|
||||
//
|
||||
this.buttonBrowseDestination.Location = new System.Drawing.Point(214, 39);
|
||||
this.buttonBrowseDestination.Name = "buttonBrowseDestination";
|
||||
this.buttonBrowseDestination.Size = new System.Drawing.Size(84, 23);
|
||||
this.buttonBrowseDestination.TabIndex = 1;
|
||||
this.buttonBrowseDestination.Text = "Destination...";
|
||||
this.buttonBrowseDestination.UseVisualStyleBackColor = true;
|
||||
this.buttonBrowseDestination.Click += new System.EventHandler(this.buttonBrowseDestination_Click);
|
||||
//
|
||||
// textSourceDir
|
||||
//
|
||||
this.textSourceDir.Location = new System.Drawing.Point(12, 12);
|
||||
this.textSourceDir.Name = "textSourceDir";
|
||||
this.textSourceDir.Size = new System.Drawing.Size(195, 20);
|
||||
this.textSourceDir.TabIndex = 2;
|
||||
this.textSourceDir.KeyUp += new System.Windows.Forms.KeyEventHandler(this.textSourceDir_KeyUp);
|
||||
//
|
||||
// textDestinationDir
|
||||
//
|
||||
this.textDestinationDir.Location = new System.Drawing.Point(12, 41);
|
||||
this.textDestinationDir.Name = "textDestinationDir";
|
||||
this.textDestinationDir.Size = new System.Drawing.Size(195, 20);
|
||||
this.textDestinationDir.TabIndex = 3;
|
||||
this.textDestinationDir.KeyUp += new System.Windows.Forms.KeyEventHandler(this.textDestinationDir_KeyUp);
|
||||
//
|
||||
// buttonSetDefault
|
||||
//
|
||||
this.buttonSetDefault.Enabled = false;
|
||||
this.buttonSetDefault.Location = new System.Drawing.Point(304, 39);
|
||||
this.buttonSetDefault.Name = "buttonSetDefault";
|
||||
this.buttonSetDefault.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonSetDefault.TabIndex = 4;
|
||||
this.buttonSetDefault.Text = "Set Default";
|
||||
this.buttonSetDefault.UseVisualStyleBackColor = true;
|
||||
this.buttonSetDefault.Click += new System.EventHandler(this.buttonSetDefault_Click);
|
||||
//
|
||||
// listBoxSourceDir
|
||||
//
|
||||
this.listBoxSourceDir.FormattingEnabled = true;
|
||||
this.listBoxSourceDir.HorizontalScrollbar = true;
|
||||
this.listBoxSourceDir.Location = new System.Drawing.Point(13, 67);
|
||||
this.listBoxSourceDir.Name = "listBoxSourceDir";
|
||||
this.listBoxSourceDir.Size = new System.Drawing.Size(194, 446);
|
||||
this.listBoxSourceDir.TabIndex = 5;
|
||||
this.listBoxSourceDir.SelectedIndexChanged += new System.EventHandler(this.listBoxSourceDir_SelectedIndexChanged);
|
||||
//
|
||||
// buttonOK
|
||||
//
|
||||
this.buttonOK.Enabled = false;
|
||||
this.buttonOK.Location = new System.Drawing.Point(12, 539);
|
||||
this.buttonOK.Name = "buttonOK";
|
||||
this.buttonOK.Size = new System.Drawing.Size(195, 23);
|
||||
this.buttonOK.TabIndex = 11;
|
||||
this.buttonOK.Text = "OK";
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 516);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(34, 13);
|
||||
this.label1.TabIndex = 12;
|
||||
this.label1.Text = "Files: ";
|
||||
//
|
||||
// labelSourceFileCount
|
||||
//
|
||||
this.labelSourceFileCount.AutoSize = true;
|
||||
this.labelSourceFileCount.Location = new System.Drawing.Point(39, 516);
|
||||
this.labelSourceFileCount.Name = "labelSourceFileCount";
|
||||
this.labelSourceFileCount.Size = new System.Drawing.Size(13, 13);
|
||||
this.labelSourceFileCount.TabIndex = 13;
|
||||
this.labelSourceFileCount.Text = "0";
|
||||
this.labelSourceFileCount.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(214, 67);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(421, 449);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pictureBox1.TabIndex = 14;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// FormOpenSourceDir
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(647, 577);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.labelSourceFileCount);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.buttonOK);
|
||||
this.Controls.Add(this.listBoxSourceDir);
|
||||
this.Controls.Add(this.buttonSetDefault);
|
||||
this.Controls.Add(this.textDestinationDir);
|
||||
this.Controls.Add(this.textSourceDir);
|
||||
this.Controls.Add(this.buttonBrowseDestination);
|
||||
this.Controls.Add(this.buttonBrowseSource);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MinimumSize = new System.Drawing.Size(498, 616);
|
||||
this.Name = "FormOpenSourceDir";
|
||||
this.Text = "Set working environment";
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button buttonBrowseSource;
|
||||
private System.Windows.Forms.Button buttonBrowseDestination;
|
||||
private System.Windows.Forms.TextBox textSourceDir;
|
||||
private System.Windows.Forms.TextBox textDestinationDir;
|
||||
private System.Windows.Forms.Button buttonSetDefault;
|
||||
private System.DirectoryServices.DirectoryEntry directoryEntry1;
|
||||
private System.Windows.Forms.ListBox listBoxSourceDir;
|
||||
private System.Windows.Forms.Button buttonOK;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label labelSourceFileCount;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd">
|
||||
|
||||
<datafile>
|
||||
<header>
|
||||
<name>Commodore Amiga CD32 - Applications</name>
|
||||
<description>Commodore Amiga CD32 - Applications (TOSEC-v2018-03-24)</description>
|
||||
<category>TOSEC-ISO</category>
|
||||
<version>2018-03-24</version>
|
||||
<author>TOSEC-ISO</author>
|
||||
<email>contact@tosecdev.org</email>
|
||||
<homepage>TOSEC</homepage>
|
||||
<url>http://www.tosecdev.org/</url>
|
||||
</header>
|
||||
<game name="Amiga Workbench CD - 32 3.0 (1993)(Commodore)(DE)(en)[!]">
|
||||
<description>Amiga Workbench CD - 32 3.0 (1993)(Commodore)(DE)(en)[!]</description>
|
||||
<rom name="Amiga Workbench CD - 32 3.0 (1993)(Commodore)(DE)(en)[!].cue" size="145" crc="8460835a" md5="30a2c963e0e9423a6632b27df77c94ba" sha1="1f0747ad240147ad575b89cefc38f9b9196c1f9e"/>
|
||||
<rom name="Amiga Workbench CD - 32 3.0 (1993)(Commodore)(DE)(en)[!].iso" size="1634304" crc="844c763c" md5="e84c5c63b08a54175aa917a10e23647a" sha1="cbe8017a3ec655205ec7b65f24529c2cd9111249"/>
|
||||
</game>
|
||||
<game name="CD Micro French (1994)(LCL)">
|
||||
<description>CD Micro French (1994)(LCL)</description>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 1 of 7).iso" size="6277488" crc="b52bc676" md5="9964895dec22c3a6e47cb761ffa2e2bd" sha1="613dc0ba3c35512b4b3d0dccfde7050a3ed1bbbc"/>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 2 of 7).wav" size="6733834" crc="aef8ba46" md5="a01437db64d6804ace1949ed6299d668" sha1="6003463eebb512bfc4c4ad6a5f8f8b4124fc6cd6"/>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 3 of 7).wav" size="6075274" crc="d44e8e3f" md5="ac37a7a4b0adda81d8bcc334dca0a20b" sha1="3846c9d6bf69d3e224f82cccb46ed26d2f1e6172"/>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 4 of 7).wav" size="6378682" crc="0295d271" md5="b7f4868d839627462404e4cb4674b376" sha1="97dde9931cd3fdaebe96c2972bdbc320a0fbbae6"/>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 5 of 7).wav" size="6228154" crc="9d98fa61" md5="fb43bc6682b2d535c9c9cb71e7221a30" sha1="9d705d7330365a402a1618e35809904d2ce5b685"/>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 6 of 7).wav" size="7133674" crc="2ea8b0a6" md5="1d92e0f3fc4f826171679a36dc449ebf" sha1="09d28269ef1961f7c8da46a482565617160de7e3"/>
|
||||
<rom name="CD Micro French (1994)(LCL)(Track 7 of 7).wav" size="6604474" crc="87d4421c" md5="0595599eb945cbb9f8cea3c6d9d78497" sha1="9a223528065c52663a91b3c797ae3eccbe8eba1e"/>
|
||||
<rom name="CD Micro French (1994)(LCL).cue" size="888" crc="e61e9e1c" md5="0bd32b309135b5509969b014b1309f8c" sha1="3da134671edfafc9a89ccace6ded547224821734"/>
|
||||
</game>
|
||||
<game name="Communicator II (1994)(Eureka)">
|
||||
<description>Communicator II (1994)(Eureka)</description>
|
||||
<rom name="Communicator II (1994)(Eureka).cue" size="119" crc="f3a3b4cb" md5="15fdaade632f57be6f9816f397e5c706" sha1="9412afb23d24acc5eb8d161c811998bd08690502"/>
|
||||
<rom name="Communicator II (1994)(Eureka).iso" size="9054208" crc="76e53e5e" md5="c071ce18506bf317ca40996eb2fd2233" sha1="95cd99100c5e1a36dde658cef6e0e9b97525673b"/>
|
||||
</game>
|
||||
<game name="Communicator III (1994)(Eureka)(M3)[!]">
|
||||
<description>Communicator III (1994)(Eureka)(M3)[!]</description>
|
||||
<rom name="Communicator III (1994)(Eureka)(M3)[!].cue" size="127" crc="926cf966" md5="5b09000293e8b4dc67d52a005a4e90da" sha1="66465cb0e62ddd635286a32c0f0cd462cd4bd970"/>
|
||||
<rom name="Communicator III (1994)(Eureka)(M3)[!].iso" size="48044032" crc="7eb8b58b" md5="ed02e5074b7ec923afef24ab16c57b73" sha1="2cea5dc40a8ab1883d50f4c1e82ff7d9ff22f50b"/>
|
||||
</game>
|
||||
<game name="FolioworX Player v1.34f (1995)(COME)[!][Amiga-CD32]">
|
||||
<description>FolioworX Player v1.34f (1995)(COME)[!][Amiga-CD32]</description>
|
||||
<rom name="FolioworX Player v1.34f (1995)(COME)[!][Amiga-CD32].cue" size="140" crc="52567d98" md5="d6fc5c90ab6a9fc2b1492de074cc1b2f" sha1="798de98096e868dbf9869f92ed856563842c317e"/>
|
||||
<rom name="FolioworX Player v1.34f (1995)(COME)[!][Amiga-CD32].iso" size="1437696" crc="6d912b19" md5="a0ff8bf85fca2e4fae3d85bd520f79f5" sha1="650bc64432a330afdb9ea5871b4d084e41be6277"/>
|
||||
</game>
|
||||
<game name="Network CD Volume 2 (1995)(Weird Science)[!]">
|
||||
<description>Network CD Volume 2 (1995)(Weird Science)[!]</description>
|
||||
<rom name="Network CD Volume 2 (1995)(Weird Science)[!].cue" size="133" crc="014ad67c" md5="c9abd5b3057209dfc2e92cd9a3808fa7" sha1="b0a3052acad8781ee3f37aa1c6e55b85e80f325a"/>
|
||||
<rom name="Network CD Volume 2 (1995)(Weird Science)[!].iso" size="659419136" crc="9d9ddf23" md5="150febdf82894474df1bcf1cf823c7dc" sha1="86208437e9b9663f4e0c5f59130b638dbe7ebd65"/>
|
||||
</game>
|
||||
<game name="PhotoLite (1994)(Eureka)(de-en)[!]">
|
||||
<description>PhotoLite (1994)(Eureka)(de-en)[!]</description>
|
||||
<rom name="PhotoLite (1994)(Eureka)(de-en)[!].cue" size="123" crc="1f6500ba" md5="e0e6c4117c05e7fe755b46d9233ad3c1" sha1="10b3c2abb8aa4917bf25fd3dc290ec3ecc127838"/>
|
||||
<rom name="PhotoLite (1994)(Eureka)(de-en)[!].iso" size="1001472" crc="3a8f81a8" md5="c44aa4f6bc94dd6f11a3d2ee6f46ca06" sha1="ac30eb0d3cd51c524c704980ce6b2fdf451f1c1d"/>
|
||||
</game>
|
||||
<game name="Video Creator v1.1 (1994)(Almathera)[!][FMV enhanced]">
|
||||
<description>Video Creator v1.1 (1994)(Almathera)[!][FMV enhanced]</description>
|
||||
<rom name="Video Creator v1.1 (1994)(Almathera)(Track 1 of 2)[!][FMV enhanced].iso" size="121792512" crc="4b438965" md5="b5f7a1b93dd529dc62e8a5d198e6522b" sha1="7b44974534b0d03c4a098452feec465d40691e96"/>
|
||||
<rom name="Video Creator v1.1 (1994)(Almathera)(Track 2 of 2)[!][FMV enhanced].wav" size="5202668" crc="89ef7e2a" md5="e9030c189538dd9fe035189e1a8482d1" sha1="3c9880777591da28d49fee19e7e5323841f163dd"/>
|
||||
<rom name="Video Creator v1.1 (1994)(Almathera)[!][FMV enhanced].cue" size="303" crc="40e28a54" md5="ee4f9203b507f9b073b6638681d8bf55" sha1="7e7e195aacd7593d44f4164731320eb7e42c4b13"/>
|
||||
</game>
|
||||
</datafile>
|
@ -0,0 +1,139 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd">
|
||||
|
||||
<datafile>
|
||||
<header>
|
||||
<name>Commodore C64 - Animations - [D64]</name>
|
||||
<description>Commodore C64 - Animations - [D64] (TOSEC-v2021-07-26)</description>
|
||||
<category>TOSEC</category>
|
||||
<version>2021-07-26</version>
|
||||
<author>Duncan Twain</author>
|
||||
<email>contact@tosecdev.org</email>
|
||||
<homepage>TOSEC</homepage>
|
||||
<url>http://www.tosecdev.org</url>
|
||||
</header>
|
||||
<game name="Max headroom (19xx)(FBI)">
|
||||
<description>Max headroom (19xx)(FBI)</description>
|
||||
<rom name="Max headroom (19xx)(FBI).d64" size="174848" crc="b3c1f35f" md5="85d6ed90b5cb1e8f32ff0133b7d198fd" sha1="0fe0405e0af14c83c0e5cf142eedc3a69162637e"/>
|
||||
</game>
|
||||
<game name="Max headroom (19xx)(FBI)[a]">
|
||||
<description>Max headroom (19xx)(FBI)[a]</description>
|
||||
<rom name="Max headroom (19xx)(FBI)[a].d64" size="174848" crc="09cf5bc6" md5="3aeae98b6568d559c644725a02eecc38" sha1="6060d350b1cc3370126af690c1959f273350574a"/>
|
||||
</game>
|
||||
<game name="Max headroom (19xx)(FBI)[a2]">
|
||||
<description>Max headroom (19xx)(FBI)[a2]</description>
|
||||
<rom name="Max headroom (19xx)(FBI)[a2].d64" size="174848" crc="baaadefe" md5="de4ff85f073e9df366b808c13032052f" sha1="24b9072a9d8387e24decb7b067876656c35f8ca3"/>
|
||||
</game>
|
||||
<game name="Max headroom (19xx)(FBI)[a3]">
|
||||
<description>Max headroom (19xx)(FBI)[a3]</description>
|
||||
<rom name="Max headroom (19xx)(FBI)[a3].d64" size="174848" crc="27027f91" md5="b835020e5a596fcea1ebff55d7276818" sha1="9d8e26b985432fc0b9bf2482d18595a10ec04ff1"/>
|
||||
</game>
|
||||
<game name="Max headroom (19xx)(FBI)[a4]">
|
||||
<description>Max headroom (19xx)(FBI)[a4]</description>
|
||||
<rom name="Max headroom (19xx)(FBI)[a4].d64" size="174848" crc="b27d9670" md5="8f29fe51dedf2de521b4549fdcd38857" sha1="5ccde20c08bb830ca3f959174b4f95e630abf2be"/>
|
||||
</game>
|
||||
<game name="Max headroom (19xx)(FBI)[a5]">
|
||||
<description>Max headroom (19xx)(FBI)[a5]</description>
|
||||
<rom name="Max headroom (19xx)(FBI)[a5].d64" size="174848" crc="9c5c8172" md5="32ba3c407a5305ae463fdca8a3174736" sha1="ddda9bd3fc709ab26a6b23435cc1f8d543b22dee"/>
|
||||
</game>
|
||||
<game name="Max headroom (19xx)(FBI)[a6]">
|
||||
<description>Max headroom (19xx)(FBI)[a6]</description>
|
||||
<rom name="Max headroom (19xx)(FBI)[a6].d64" size="174848" crc="01f4201d" md5="c2b598902d09ff23652be786d8410197" sha1="ee3b949aba51196fd89d6093b66c5421bd1ffd0b"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de).d64" size="174848" crc="8b3836d4" md5="230ddd888a6ad1452ba37c2369604e8c" sha1="08e8ea0d97c80dcd7cfdcca73f49e0ad9f4d2e39"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)[a]">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)[a]</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de)[a].d64" size="174848" crc="dda88c03" md5="8947ce581604b49b61c07f69459cccb4" sha1="4da7e09dc317f176b23b742d5eaed0035b912323"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)[a2]">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)[a2]</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de)[a2].d64" size="174848" crc="908f2b9f" md5="c5042d9d36ddb7e2217d2c02648c9b0d" sha1="86e90401cc9542c45eec0f84322fcc4fbe9da819"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)[a3]">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)[a3]</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de)[a3].d64" size="174848" crc="dff6500a" md5="532b13be4c1fadd2f32a8076a782570d" sha1="bba2c4941bbeb28004999a097963b20f18cc70cc"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)[a4]">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)[a4]</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de)[a4].d64" size="174848" crc="8966eadd" md5="7ae26304635070620593249dac1b3960" sha1="0d1fea17e9803dc907831d29fa0f80d5835df8da"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)[h Vision]">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)[h Vision]</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de)[h Vision].d64" size="174848" crc="060c53ac" md5="002e7071a23a793ae3d08b679f1b4a70" sha1="34979f75579aeb52f83f93083d2a7d257d9e773d"/>
|
||||
</game>
|
||||
<game name="Notlandung (1985-02)(Schleeweiss, R)(de)[h Vision][a]">
|
||||
<description>Notlandung (1985-02)(Schleeweiss, R)(de)[h Vision][a]</description>
|
||||
<rom name="Notlandung (1985-02)(Schleeweiss, R)(de)[h Vision][a].d64" size="174848" crc="7ee8f23e" md5="d895024f7d4b400b7042593ca8fbbb43" sha1="4c93ec0c7262b322c4364aae2aa96c7019dcc089"/>
|
||||
</game>
|
||||
<game name="Porn animation #3 (198x)(-)">
|
||||
<description>Porn animation #3 (198x)(-)</description>
|
||||
<rom name="Porn animation #3 (198x)(-).d64" size="174848" crc="7091a869" md5="da2122345ff9ab36a0b7351ffc50fdb1" sha1="b29ed359de0bfde776d25fbb6b504522af1984a1"/>
|
||||
</game>
|
||||
<game name="Porn animation #3 (198x)(-)[a]">
|
||||
<description>Porn animation #3 (198x)(-)[a]</description>
|
||||
<rom name="Porn animation #3 (198x)(-)[a].d64" size="174848" crc="ed390906" md5="5762cf966215e40dfe6491531fff072f" sha1="a17d55005cfef8cf9162988c307d6cd4b29ca611"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)">
|
||||
<description>Porn animation #5 (198x)(-)</description>
|
||||
<rom name="Porn animation #5 (198x)(-).d64" size="174848" crc="593246a6" md5="c06c8d4e0c3c65ad42d6dce34b897700" sha1="4b12baa4b8af95781fd79ea43bf02c2bbfefe593"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a]">
|
||||
<description>Porn animation #5 (198x)(-)[a]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a].d64" size="174848" crc="ba0371da" md5="9cf01f86754f9c7c57d77a1bc0bda412" sha1="4172e4498ab8d875b48986e140bab6a4bf8a5fc2"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a2]">
|
||||
<description>Porn animation #5 (198x)(-)[a2]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a2].d64" size="174848" crc="a3576c1a" md5="19320bc7866e0d404dd5b07b973f35b7" sha1="6724916a02343589378fa9617642c4a9106f25a5"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a3]">
|
||||
<description>Porn animation #5 (198x)(-)[a3]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a3].d64" size="174848" crc="9ac35a9a" md5="3f1c6375e0d26cce00d8ff66b743a88f" sha1="f3a5cc546cedc05b499589af9fa38939046c0329"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a4]">
|
||||
<description>Porn animation #5 (198x)(-)[a4]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a4].d64" size="174848" crc="06b42455" md5="418fe7fadb0069bbf9c6cc9ee2345500" sha1="119080f93c32f02f59d86422e179d94d802482f1"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a5]">
|
||||
<description>Porn animation #5 (198x)(-)[a5]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a5].d64" size="174848" crc="9b1c853a" md5="a516bf86f7b394924b90ded7ffe67a46" sha1="d80580ccbd09f78e92ff830456533f34f73667bd"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a6]">
|
||||
<description>Porn animation #5 (198x)(-)[a6]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a6].d64" size="174848" crc="579722bf" md5="746309569973c4dda103ca0a44501aed" sha1="45fbeab4bb1c6bd600556c7db6d977bff8bb90e0"/>
|
||||
</game>
|
||||
<game name="Porn animation #5 (198x)(-)[a7]">
|
||||
<description>Porn animation #5 (198x)(-)[a7]</description>
|
||||
<rom name="Porn animation #5 (198x)(-)[a7].d64" size="174848" crc="ca3f83d0" md5="05f4175cc02c31e635d934a7983843b6" sha1="0eaec3ac81d31f2fa9f4019462f54746ac9b687b"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys).d64" size="174848" crc="fa29ec36" md5="ab288b37fa34e90cb472b2e40b89013a" sha1="1d20f14c64f4cb604ed4a3d5b95999fc9219fce1"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a]">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a]</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a].d64" size="174848" crc="7297d14a" md5="94a811f0160f40286c15b3d60d6aeaf6" sha1="879670fe9933e73d2c7c8d67776b0bed130e3fa1"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a2]">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a2]</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a2].d64" size="174848" crc="87ace4cf" md5="e6651ae60ffa2caa1f95c7f0cdc587b9" sha1="f9266d082b999dcc7033d8be60ca80d137164c4b"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a3]">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a3]</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a3].d64" size="174848" crc="2787c54a" md5="8a92a70c100c6f4a6006d64e77091c4e" sha1="9bcebe9e1e6f4e28240a41d3294c99095a8200bc"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a4]">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a4]</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a4].d64" size="174848" crc="d8a99e69" md5="7531944ec53029b7ffbac03e53449446" sha1="3370e1ddda602d248e149e63e6d8ef1797a61566"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a5]">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a5]</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a5].d64" size="174848" crc="45013f06" md5="8a6fd37e4f650f2bb5ced886be053d4e" sha1="a8dcda036b5b21d36e6a797665b584e98260c482"/>
|
||||
</game>
|
||||
<game name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a6]">
|
||||
<description>Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a6]</description>
|
||||
<rom name="Porno Movie 1 (1985)(Loverboy Crackings - The Wild Boys)[a6].d64" size="174848" crc="8cc1259d" md5="77371b38528d46e19042bf8d613b6340" sha1="7d1251216110cef5e6ff3ee0501f6a770d9a7d08"/>
|
||||
</game>
|
||||
</datafile>
|
BIN
C# Projects/xml-parser-app/xml-app-test.zip
Normal file
BIN
C# Projects/xml-parser-app/xml-app-test.zip
Normal file
Binary file not shown.
28
PHP_Scripts/JS_Keypress/keypress.html
Normal file
28
PHP_Scripts/JS_Keypress/keypress.html
Normal file
@ -0,0 +1,28 @@
|
||||
<html>
|
||||
<head>
|
||||
<script language="JavaScript">
|
||||
function keyHandler(e)
|
||||
{
|
||||
var pressedKey;
|
||||
if (document.all)
|
||||
{
|
||||
e = window.event;
|
||||
}
|
||||
if (document.layers || e.which)
|
||||
{
|
||||
pressedKey = e.which;
|
||||
}
|
||||
if (document.all)
|
||||
{
|
||||
pressedKey = e.keyCode;
|
||||
}
|
||||
pressedCharacter = String.fromCharCode(pressedKey);
|
||||
alert(' Character = ' + pressedCharacter + ' [Decimal value = ' + pressedKey + ']');
|
||||
}
|
||||
document.onkeyup = keyHandler;
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
Press any key.
|
||||
</body>
|
||||
</html>
|
21
PHP_Scripts/check number of cpu/num_processors.php
Normal file
21
PHP_Scripts/check number of cpu/num_processors.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$cmd = "uname";
|
||||
$OS = strtolower(trim(shell_exec($cmd)));
|
||||
|
||||
switch($OS){
|
||||
case('linux'):
|
||||
$cmd = "cat /proc/cpuinfo | grep processor | wc -l";
|
||||
break;
|
||||
|
||||
case('freebsd'):
|
||||
$cmd = "sysctl -a | grep 'hw.ncpu' | cut -d ':' -f2";
|
||||
break;
|
||||
|
||||
default:
|
||||
unset($cmd);
|
||||
}
|
||||
|
||||
if ($cmd != ''){
|
||||
$cpuCoreNo = intval(trim(shell_exec($cmd)));
|
||||
}
|
||||
?>
|
50
PHP_Scripts/extract_pdf/extract.php
Normal file
50
PHP_Scripts/extract_pdf/extract.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/* This file is meant to run from the CLI/Shell
|
||||
* it extracts the first page of a pdf file and saves to
|
||||
* jpg with same name + _thumb pic being 240pix wide
|
||||
* Author Carsten Jensen aka Tomse @ http://awesome.commodore.me
|
||||
* Copyright (C) 2012 Carsten Jensen
|
||||
* This is distributed under GNU GPLv2
|
||||
*/
|
||||
|
||||
/* Requirements:
|
||||
* php (cli/shell version) / or as apache site
|
||||
* imagemagick module
|
||||
*/
|
||||
|
||||
/* Usage:
|
||||
* Run the file from the browser (apache setup)
|
||||
* or from cli : php -f extract
|
||||
* thumb files will be saved in same dir as pdf files
|
||||
*/
|
||||
|
||||
// Edit the path here where your PDF files are stored.
|
||||
$dir = "./pages/";
|
||||
// Edit width in pixels to change sizes
|
||||
$size = 240;
|
||||
|
||||
// Replace false with true to make the script work
|
||||
$work = false;
|
||||
|
||||
|
||||
// code is here.. nothing more to modify
|
||||
// -------------------------------------
|
||||
if ($work == true)
|
||||
{
|
||||
$files = glob($dir . "*.[pP][dD][fF]");
|
||||
foreach($files as $v)
|
||||
{
|
||||
$filename = substr($v, 0, strlen($v) - 4);
|
||||
$thumb = new Imagick();
|
||||
$thumb->setResolution(300, 300);
|
||||
$thumb->readImage($v ."[0]");
|
||||
$thumb->setImageFormat('jpeg');
|
||||
$thumb->setImagecompression(imagick::COMPRESSION_JPEG);
|
||||
$thumb->setImageCompressionQuality(75);
|
||||
$thumb->resizeImage($size, 1024, imagick::FILTER_LANCZOS, 1, true);
|
||||
$thumb->writeImage($filename . "_thumb.jpg");
|
||||
$thumb->clear();
|
||||
$thumb->destroy();
|
||||
}
|
||||
}
|
||||
?>
|
BIN
PHP_Scripts/vid to html5/ffmpeg.exe
Normal file
BIN
PHP_Scripts/vid to html5/ffmpeg.exe
Normal file
Binary file not shown.
7
PHP_Scripts/vid to html5/vids.cmd
Normal file
7
PHP_Scripts/vid to html5/vids.cmd
Normal file
@ -0,0 +1,7 @@
|
||||
for %%i in (vids\*.*) DO (
|
||||
ffmpeg -i %%i -ss 180 -vframes 1 -r 1 -s 320x200 -f image2 output\%%~ni.jpg
|
||||
ffmpeg -i %%i -s 320x200 -acodec libvorbis -f webm -b:v 150k -bufsize 16k -vcodec libvpx output\%%~ni.webm -s 320x200 -acodec libmp3lame -b:v 150k -bufsize 16k -vcodec libx264 output\%%~ni.mp4
|
||||
|
||||
)
|
||||
|
||||
pause
|
17
ScanScripts/README.md
Normal file
17
ScanScripts/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
# ScanScripts
|
||||
|
||||
This is a collection of tools that I use for almost every PDF file I create
|
||||
|
||||
The following are Windows, Linux shell scripts might come at a later date if I or someone else care to write these.
|
||||
|
||||
Required installs for these scripts are IrfanView, ImageMagick (version 6), PDF Toolkit, PHP (5.6) CLI
|
||||
The versions have been testet, newer versions aren't tested
|
||||
|
||||
https://www.irfanview.com/
|
||||
|
||||
https://www.imagemagick.org/script/download.php#windows
|
||||
|
||||
https://www.pdflabs.com/tools/pdftk-server/
|
||||
|
||||
https://windows.php.net/download#php-5.6
|
||||
|
14
ScanScripts/Windows/0 - Default Level (doc-scanner).cmd
Normal file
14
ScanScripts/Windows/0 - Default Level (doc-scanner).cmd
Normal file
@ -0,0 +1,14 @@
|
||||
@echo off
|
||||
rem Author: Carsten Jensen (Tomse)
|
||||
rem Copyright (c) 2013-2018 http://retro-commodore.eu
|
||||
rem Requires ImageMagick commandline in path
|
||||
|
||||
|
||||
mkdir work
|
||||
cd origs
|
||||
for %%i in (*.tif) DO (
|
||||
convert "%%i" -level 11%%,86%% "..\work\%%i"
|
||||
)
|
||||
for %%i in (*.png) DO (
|
||||
convert "%%i" -level 11%%,86%% "..\work\%%i"
|
||||
)
|
14
ScanScripts/Windows/1 - resample to 600dpi.cmd
Normal file
14
ScanScripts/Windows/1 - resample to 600dpi.cmd
Normal file
@ -0,0 +1,14 @@
|
||||
@echo off
|
||||
rem Author: Carsten Jensen (Tomse)
|
||||
rem Copyright (c) 2013-2018 http://retro-commodore.eu
|
||||
rem Requires ImageMagick commandline in path
|
||||
|
||||
cd work/out
|
||||
for %%i in (*.tif) DO (
|
||||
convert -units PixelsPerInch "%%i" -density 600 "__%%i"
|
||||
move "__%%i" "%%i"
|
||||
)
|
||||
for %%i in (*.png) DO (
|
||||
convert -units PixelsPerInch "%%i" -density 600 "__%%i"
|
||||
move "__%%i" "%%i"
|
||||
)
|
8
ScanScripts/Windows/2 - G4_Compress.cmd
Normal file
8
ScanScripts/Windows/2 - G4_Compress.cmd
Normal file
@ -0,0 +1,8 @@
|
||||
@echo off
|
||||
rem Author: Carsten Jensen (Tomse)
|
||||
rem Copyright (c) 2013-2018 http://retro-commodore.eu
|
||||
rem Requires IrfanView installed in path (or fix path)
|
||||
|
||||
mkdir work\out\g4compressed
|
||||
cd work\out
|
||||
"c:\Program Files (x86)\IrfanView\i_view32.exe" .\*.tif /tifc=4 /convert=.\g4compressed\*.tif
|
48
ScanScripts/Windows/2 - Make manual.cmd
Normal file
48
ScanScripts/Windows/2 - Make manual.cmd
Normal file
@ -0,0 +1,48 @@
|
||||
@echo off
|
||||
rem Author: Carsten Jensen (Tomse)
|
||||
rem Copyright (c) 2013-2018 http://retro-commodore.eu
|
||||
rem Requires ImageMagick and pdf tool kit commandline in path
|
||||
|
||||
setlocal EnableDelayedExpansion
|
||||
set folder=%cd%
|
||||
cd work\out
|
||||
|
||||
choice /m "Fix paging "
|
||||
if %errorlevel%==1 (
|
||||
copy D:\Retro-Work\correct_pages.php .\ /y
|
||||
php -f correct_pages.php
|
||||
cd newpages
|
||||
)
|
||||
|
||||
choice /C LSN /m "Use large (L), small (S) or no (N) lastpage "
|
||||
if %errorlevel%==1 (
|
||||
set page=brought_to_you_by.pdf
|
||||
) else if %errorlevel%==2 (
|
||||
set page=brought_to_you_by_[TABLET].pdf
|
||||
)
|
||||
|
||||
if NOT EXIST output mkdir output
|
||||
set thumb=1
|
||||
|
||||
for %%i in (*.tif) DO (
|
||||
if !thumb!==1 (
|
||||
convert %%i -resize 240x310^^! -quality 80%% "!folder!\thumb.jpg"
|
||||
)
|
||||
set thumb=2
|
||||
convert %%i output\%%~ni.pdf
|
||||
)
|
||||
|
||||
|
||||
cd output
|
||||
REM for %%i in (*.jpg) DO (
|
||||
REM convert %%i %%~ni.pdf
|
||||
REM )
|
||||
|
||||
REM del *.jpg /q
|
||||
pdftk *.pdf "D:\Retro-Work\%page%" cat output "%folder%\_manual.pdf"
|
||||
pdftk "%folder%\_manual.pdf" update_info D:\Retro-Work\metadata.txt output "%folder%\manual.pdf"
|
||||
del *.pdf /q
|
||||
REM del ..\*.* /q
|
||||
del "%folder%\_manual.pdf" /q
|
||||
|
||||
pause
|
9
ScanScripts/Windows/3 - PdfToText.cmd
Normal file
9
ScanScripts/Windows/3 - PdfToText.cmd
Normal file
@ -0,0 +1,9 @@
|
||||
@echo off
|
||||
rem Author: Carsten Jensen (Tomse)
|
||||
rem Copyright (c) 2013-2018 http://retro-commodore.eu
|
||||
rem Requires pdf tool kit commandline in path
|
||||
|
||||
set workdir="D:\Retro-Work\"
|
||||
|
||||
pdftotext manual_recognized.pdf manual2.ocr.txt
|
||||
pdftk "manual_recognized.pdf" update_info %workdir%\metadata.txt output "manual2.pdf"
|
22
ScanScripts/Windows/5 - hash_em.cmd
Normal file
22
ScanScripts/Windows/5 - hash_em.cmd
Normal file
@ -0,0 +1,22 @@
|
||||
@echo off
|
||||
rem Author: Carsten Jensen (Tomse)
|
||||
rem Copyright (c) 2013-2018 http://retro-commodore.eu
|
||||
rem Requires md5sum and sha1sum commandline tools in path
|
||||
|
||||
|
||||
|
||||
|
||||
for %%i in (*.pdf) DO (
|
||||
|
||||
md5sum %%i > %%i.md5
|
||||
sha1sum %%i > %%i.sha1
|
||||
)
|
||||
for %%i in (*.ocr.txt) DO (
|
||||
md5sum %%i > %%i.md5
|
||||
sha1sum %%i > %%i.sha1
|
||||
)
|
||||
|
||||
for %%i in (*.zip) DO (
|
||||
md5sum %%i > %%i.md5
|
||||
sha1sum %%i > %%i.sha1
|
||||
)
|
3
ScanScripts/Windows/Info.txt
Normal file
3
ScanScripts/Windows/Info.txt
Normal file
@ -0,0 +1,3 @@
|
||||
If you want to use the scripts keep the directory structure from this level and save in your D: drive
|
||||
|
||||
otherwise just edit the scripts to fit your needs.
|
65
ScanScripts/Windows/correct_pages.php
Normal file
65
ScanScripts/Windows/correct_pages.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
// Author Carsten Jensen aka Tomse
|
||||
// Copyright (c) 2013-2018 Carsten Jensen
|
||||
// Released under GNU GPL v2
|
||||
|
||||
// Corrects page numbers from scanned full-paper pages
|
||||
// which has been split into 2, and been edited in scan tailor
|
||||
|
||||
$ext = '.tif';
|
||||
$files = glob('*.tif');
|
||||
|
||||
// set to 0 if back page lies first, or 1 if frontpage lies first
|
||||
$up = 0;
|
||||
$down = count($files);
|
||||
$dest = 'newpages';
|
||||
$pad = strlen($down)+1;
|
||||
@mkdir($dest);
|
||||
|
||||
$again = 1;
|
||||
$back = true;
|
||||
|
||||
foreach($files as $k => $v)
|
||||
{
|
||||
|
||||
|
||||
if($back === true)
|
||||
{
|
||||
|
||||
copy($v, $dest . DIRECTORY_SEPARATOR . 'page' . padding($down, $pad) . $ext);
|
||||
$down--;
|
||||
if ($again > 2 OR $k == 0)
|
||||
{
|
||||
$again = 1;
|
||||
$back = false;
|
||||
}
|
||||
echo "$k => $down \n";
|
||||
$again++;
|
||||
}
|
||||
else
|
||||
{
|
||||
copy($v, $dest . DIRECTORY_SEPARATOR . 'page' . padding($up, $pad) . $ext);
|
||||
$up++;
|
||||
if ($again > 2)
|
||||
{
|
||||
$again = 1;
|
||||
$back = true;
|
||||
}
|
||||
echo "$k => $up \n";
|
||||
$again++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Pads a number with zeroes to make a nice even lenghted result
|
||||
* Author Carsten Jensen
|
||||
* @param int $int number to be padded
|
||||
* @param int $length of padding
|
||||
* @return int padded number
|
||||
*/
|
||||
function padding($int, $length = 2)
|
||||
{
|
||||
return str_pad($int, $length, 0, STR_PAD_LEFT);
|
||||
}
|
||||
?>
|
20
ScanScripts/Windows/file length.bat
Normal file
20
ScanScripts/Windows/file length.bat
Normal file
@ -0,0 +1,20 @@
|
||||
@echo off
|
||||
REM Script to be run from within dir with .dats (move script)
|
||||
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
for %%i in (*.dat) do (
|
||||
|
||||
(echo %%~fi) > tempfile.txt
|
||||
for %%? IN (tempfile.txt) DO ( SET /A strlength=%%~z? - 2 )
|
||||
echo !strlength!
|
||||
if !strlength! GTR 256 echo "%%i is too large"
|
||||
)
|
||||
del tempfile.txt /q
|
||||
|
||||
|
||||
endlocal
|
||||
|
||||
REM Create dir script can begin here
|
||||
|
||||
pause
|
53
ScanScripts/Windows/make_booklet.php
Normal file
53
ScanScripts/Windows/make_booklet.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
// Author Carsten Jensen aka Tomse
|
||||
// Copyright (c) 2013 Carsten Jensen
|
||||
// Released under GNU GPL v2
|
||||
|
||||
// Corrects page numbers from scanned full-paper pages
|
||||
// which has been split into 2, and been edited in scan tailor
|
||||
|
||||
$ext = '.tif';
|
||||
$files = glob('*.tif');
|
||||
|
||||
// set to 0 if back page lies first, or 1 if frontpage lies first
|
||||
$up = 0;
|
||||
$down = count($files);
|
||||
$odd = 'odd';
|
||||
$even = 'even';
|
||||
$pad = strlen($down)+1;
|
||||
@mkdir ($odd);
|
||||
@mkdir ($even);
|
||||
|
||||
$again = 1;
|
||||
$back = true;
|
||||
|
||||
foreach($files as $k => $v)
|
||||
{
|
||||
if ($up % 2) // Even pages
|
||||
{
|
||||
copy($v, $even . DIRECTORY_SEPARATOR . 'page' . padding($up, $pad) . $ext);
|
||||
$up++;
|
||||
echo "$k => even\\ $up \n";
|
||||
}
|
||||
else
|
||||
{
|
||||
copy($v, $odd . DIRECTORY_SEPARATOR . 'page' . padding($down, $pad) . $ext);
|
||||
$up++;
|
||||
$down--;
|
||||
echo "$k => odd\\ $down \n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Pads a number with zeroes to make a nice even lenghted result
|
||||
* Author Carsten Jensen
|
||||
* @param int $int number to be padded
|
||||
* @param int $length of padding
|
||||
* @return int padded number
|
||||
*/
|
||||
function padding($int, $length = 2)
|
||||
{
|
||||
return str_pad($int, $length, 0, STR_PAD_LEFT);
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user