diff --git a/License b/License.md similarity index 100% rename from License rename to License.md diff --git a/Readme.md b/Readme.md index 853d542..c6db187 100644 --- a/Readme.md +++ b/Readme.md @@ -17,7 +17,6 @@ A midi player for Terrarian instruments such as the Harp and Bell. Terraria Midi ## About * **Created By:** Robert Jordan -* **Version:** 1.1.0.1 * **Language:** C#, WPF ## Requirements for Running diff --git a/Sanford/Sanford.Multimedia.Midi.csproj b/Sanford/Sanford.Multimedia.Midi.csproj index 370ebe4..6b0dea8 100644 --- a/Sanford/Sanford.Multimedia.Midi.csproj +++ b/Sanford/Sanford.Multimedia.Midi.csproj @@ -23,7 +23,7 @@ 3.5 false - v2.0 + v4.5.2 publish\ true Disk @@ -43,6 +43,7 @@ obj\$(Configuration)\ False C:\Users\TF\AppData\Roaming\ICSharpCode\SharpDevelop5\Settings.SourceAnalysis + bin\Debug\ @@ -63,6 +64,7 @@ 0 Full prompt + false bin\Release\ @@ -85,6 +87,7 @@ 0 pdbonly prompt + false AnyCPU diff --git a/Sanford/Sanford.Multimedia.Midi/Clocks/PpqnClock.cs b/Sanford/Sanford.Multimedia.Midi/Clocks/PpqnClock.cs index 1b21290..5658ddf 100644 --- a/Sanford/Sanford.Multimedia.Midi/Clocks/PpqnClock.cs +++ b/Sanford/Sanford.Multimedia.Midi/Clocks/PpqnClock.cs @@ -209,13 +209,8 @@ public int Ppqn if(value < PpqnMinValue) { throw new ArgumentOutOfRangeException("Ppqn", value, - "Pulses per quarter note out of range."); - } - else if(value % PpqnMinValue != 0) - { - throw new ArgumentException( - "Pulses per quarter note is not a multiple of 24."); - } + "Pulses per quarter note is smaller than 24."); + } #endregion diff --git a/Sanford/Sanford.Multimedia.Midi/Device Classes/OutputDevice Classes/OutputStream.cs b/Sanford/Sanford.Multimedia.Midi/Device Classes/OutputDevice Classes/OutputStream.cs index 05ae820..5e265e6 100644 --- a/Sanford/Sanford.Multimedia.Midi/Device Classes/OutputDevice Classes/OutputStream.cs +++ b/Sanford/Sanford.Multimedia.Midi/Device Classes/OutputDevice Classes/OutputStream.cs @@ -529,10 +529,11 @@ public int Division { throw new ObjectDisposedException("OutputStream"); } - else if((value % PpqnClock.PpqnMinValue) != 0) + else if(value < PpqnClock.PpqnMinValue) { - throw new ArgumentException(); - } + throw new ArgumentOutOfRangeException("Ppqn", value, + "Pulses per quarter note is smaller than 24."); + } #endregion diff --git a/Sanford/Sanford.Multimedia.Midi/Messages/Message Builders/SongPositionPointerBuilder.cs b/Sanford/Sanford.Multimedia.Midi/Messages/Message Builders/SongPositionPointerBuilder.cs index 4222db0..a9962b4 100644 --- a/Sanford/Sanford.Multimedia.Midi/Messages/Message Builders/SongPositionPointerBuilder.cs +++ b/Sanford/Sanford.Multimedia.Midi/Messages/Message Builders/SongPositionPointerBuilder.cs @@ -193,11 +193,11 @@ public int Ppqn { #region Require - if(value % PpqnClock.PpqnMinValue != 0) + if(value < PpqnClock.PpqnMinValue) { - throw new ArgumentException( - "Invalid pulses per quarter note value."); - } + throw new ArgumentOutOfRangeException("Ppqn", value, + "Pulses per quarter note is smaller than 24."); + } #endregion diff --git a/Sanford/Sanford.Multimedia.Midi/Sequencing/MidiFileProperties.cs b/Sanford/Sanford.Multimedia.Midi/Sequencing/MidiFileProperties.cs index 8eda583..7950fde 100644 --- a/Sanford/Sanford.Multimedia.Midi/Sequencing/MidiFileProperties.cs +++ b/Sanford/Sanford.Multimedia.Midi/Sequencing/MidiFileProperties.cs @@ -100,12 +100,22 @@ public void Read(Stream strm) #endregion - format = trackCount = division = 0; + this.format = this.trackCount = this.division = 0; - FindHeader(strm); - Format = (int)ReadProperty(strm); - TrackCount = (int)ReadProperty(strm); - Division = (int)ReadProperty(strm); + + FindHeader(strm); + int format = (int) ReadProperty(strm); + int trackCount = (int) ReadProperty(strm); + int division = (int) ReadProperty(strm); + + // Division must be set first if Ppqn + Division = division; + Format = format; + TrackCount = trackCount; + + //Format = (int)ReadProperty(strm); + //TrackCount = (int)ReadProperty(strm); + //Division = (int)ReadProperty(strm); #region Invariant @@ -245,7 +255,7 @@ private void AssertValid() else { Debug.Assert(SequenceType == SequenceType.Ppqn); - Debug.Assert(Division % PpqnClock.PpqnMinValue == 0); + Debug.Assert(Division >= PpqnClock.PpqnMinValue); } } @@ -259,7 +269,7 @@ public int Format { #region Require - if(value < 0 || value > 3) + if(value < 0 || value > 2) { throw new ArgumentOutOfRangeException("Format", value, "MIDI file format out of range."); @@ -347,11 +357,11 @@ public int Division } else { - if(value % PpqnClock.PpqnMinValue != 0) + if(value < PpqnClock.PpqnMinValue) { - throw new ArgumentException( - "Invalid pulses per quarter note value."); - } + throw new ArgumentOutOfRangeException("Ppqn", value, + "Pulses per quarter note is smaller than 24."); + } else { sequenceType = SequenceType.Ppqn; diff --git a/TerrariaMidiPlayer.sln b/TerrariaMidiPlayer.sln index 1496673..2e96180 100644 --- a/TerrariaMidiPlayer.sln +++ b/TerrariaMidiPlayer.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.421 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TerrariaMidiPlayer", "TerrariaMidiPlayer\TerrariaMidiPlayer.csproj", "{9562FE49-6292-413D-83DF-005E86AD82AE}" EndProject @@ -25,4 +25,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {148A791B-DB48-4AAD-B338-818DC3EECFF7} + EndGlobalSection EndGlobal diff --git a/TerrariaMidiPlayer/Controls/TrackGraph.cs b/TerrariaMidiPlayer/Controls/TrackGraph.cs index d3d06b0..4614585 100644 --- a/TerrariaMidiPlayer/Controls/TrackGraph.cs +++ b/TerrariaMidiPlayer/Controls/TrackGraph.cs @@ -337,9 +337,7 @@ protected override void OnRender(DrawingContext d) { // Set guidelines for pixel perfection GuidelineSet guidelines = new GuidelineSet(); guidelines.GuidelinesX.Add(0.5); - guidelines.GuidelinesX.Add(ActualHeight + 0.5); guidelines.GuidelinesY.Add(0.5); - guidelines.GuidelinesY.Add(ActualWidth + 0.5); d.PushGuidelineSet(guidelines); // Highlight the midi's octave range diff --git a/TerrariaMidiPlayer/Properties/AssemblyInfo.cs b/TerrariaMidiPlayer/Properties/AssemblyInfo.cs index 23447bc..49bf9d7 100644 --- a/TerrariaMidiPlayer/Properties/AssemblyInfo.cs +++ b/TerrariaMidiPlayer/Properties/AssemblyInfo.cs @@ -12,7 +12,7 @@ [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Trigger's Tools & Games")] [assembly: AssemblyProduct("TerrariaMidiPlayer")] -[assembly: AssemblyCopyright("Copyright © Robert Jordan 2017")] +[assembly: AssemblyCopyright("Copyright © Robert Jordan {YEAR}")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -51,8 +51,8 @@ // 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.1.0.1")] -[assembly: AssemblyFileVersion("1.1.0.1")] +[assembly: AssemblyVersion("1.1.0.2")] +[assembly: AssemblyFileVersion("1.1.0.2")] [assembly: Guid("868163E6-E0A0-4035-AA63-3042476FD242")] [assembly: NeutralResourcesLanguage("en-US")] diff --git a/TerrariaMidiPlayer/TerrariaMidiPlayer.csproj b/TerrariaMidiPlayer/TerrariaMidiPlayer.csproj index abb7b13..ffe824f 100644 --- a/TerrariaMidiPlayer/TerrariaMidiPlayer.csproj +++ b/TerrariaMidiPlayer/TerrariaMidiPlayer.csproj @@ -39,10 +39,6 @@ App.ico - - ..\packages\MouseKeyHook.5.4.0\lib\net40\Gma.System.MouseKeyHook.dll - True - @@ -59,10 +55,6 @@ - - ..\packages\Extended.Wpf.Toolkit.3.1\lib\net40\Xceed.Wpf.Toolkit.dll - True - @@ -225,7 +217,6 @@ ResXFileCodeGenerator Resources.Designer.cs - SettingsSingleFileGenerator Settings.Designer.cs @@ -346,6 +337,17 @@ + + + 3.1.0 + + + 5.4.0 + + + 1.0.2 + +