diff --git a/CHANGELIST.md b/CHANGELIST.md
index 57b3d2fa..c982dd1e 100644
--- a/CHANGELIST.md
+++ b/CHANGELIST.md
@@ -11,6 +11,7 @@
- Add .NET 5.0 as build target
- Remove .NET Core 3.1 and .NET 5.0 from AppVeyor build artifacts
- Null-safeguard RedumpLib conversions
+- Move cuesheet code to separate DLL
### 2.1 (2021-07-22)
- Enum, no more
diff --git a/MPF.Library/CueSheets/CueFile.cs b/MPF.CueSheets/CueFile.cs
similarity index 100%
rename from MPF.Library/CueSheets/CueFile.cs
rename to MPF.CueSheets/CueFile.cs
diff --git a/MPF.Library/CueSheets/CueIndex.cs b/MPF.CueSheets/CueIndex.cs
similarity index 100%
rename from MPF.Library/CueSheets/CueIndex.cs
rename to MPF.CueSheets/CueIndex.cs
diff --git a/MPF.Library/CueSheets/CueSheet.cs b/MPF.CueSheets/CueSheet.cs
similarity index 100%
rename from MPF.Library/CueSheets/CueSheet.cs
rename to MPF.CueSheets/CueSheet.cs
diff --git a/MPF.Library/CueSheets/CueTrack.cs b/MPF.CueSheets/CueTrack.cs
similarity index 100%
rename from MPF.Library/CueSheets/CueTrack.cs
rename to MPF.CueSheets/CueTrack.cs
diff --git a/MPF.CueSheets/MPF.CueSheets.csproj b/MPF.CueSheets/MPF.CueSheets.csproj
new file mode 100644
index 00000000..b9c53af6
--- /dev/null
+++ b/MPF.CueSheets/MPF.CueSheets.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net48;netcoreapp3.1;net5.0
+ x86
+ false
+
+
+
diff --git a/MPF.Library/CueSheets/PostGap.cs b/MPF.CueSheets/PostGap.cs
similarity index 100%
rename from MPF.Library/CueSheets/PostGap.cs
rename to MPF.CueSheets/PostGap.cs
diff --git a/MPF.Library/CueSheets/PreGap.cs b/MPF.CueSheets/PreGap.cs
similarity index 100%
rename from MPF.Library/CueSheets/PreGap.cs
rename to MPF.CueSheets/PreGap.cs
diff --git a/MPF.Library/MPF.Library.csproj b/MPF.Library/MPF.Library.csproj
index 34086f23..2c0abab8 100644
--- a/MPF.Library/MPF.Library.csproj
+++ b/MPF.Library/MPF.Library.csproj
@@ -74,6 +74,7 @@
+
diff --git a/MPF.sln b/MPF.sln
index 22b0e7f0..e12afd48 100644
--- a/MPF.sln
+++ b/MPF.sln
@@ -18,7 +18,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedumpLib", "RedumpLib\RedumpLib.csproj", "{13574913-A426-4644-9955-F49AD0876E5F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RedumpLib", "RedumpLib\RedumpLib.csproj", "{13574913-A426-4644-9955-F49AD0876E5F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MPF.CueSheets", "MPF.CueSheets\MPF.CueSheets.csproj", "{F2C12798-DF53-4D4C-A55B-F5A77F29D6B1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -46,6 +48,10 @@ Global
{13574913-A426-4644-9955-F49AD0876E5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{13574913-A426-4644-9955-F49AD0876E5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{13574913-A426-4644-9955-F49AD0876E5F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F2C12798-DF53-4D4C-A55B-F5A77F29D6B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F2C12798-DF53-4D4C-A55B-F5A77F29D6B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F2C12798-DF53-4D4C-A55B-F5A77F29D6B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F2C12798-DF53-4D4C-A55B-F5A77F29D6B1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE