Skip to content

Commit

Permalink
[Release] Code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
melanchall committed Apr 30, 2024
1 parent bef05ec commit 348ba05
Show file tree
Hide file tree
Showing 11 changed files with 33 additions and 39 deletions.
1 change: 0 additions & 1 deletion DryWetMidi/Core/Lazy/MidiTokensReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,6 @@ private void GoToNextState()
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}

private void Dispose(bool disposing)
Expand Down
1 change: 0 additions & 1 deletion DryWetMidi/Core/Lazy/MidiTokensWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,6 @@ private void UpdateTracksNumber()
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}

private void Dispose(bool disposing)
Expand Down
44 changes: 23 additions & 21 deletions DryWetMidi/Interaction/Rests/RestsUtilities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,34 +42,36 @@ public static class RestsUtilities
IEnumerable<ITimedObject> objects,
IEnumerable<Rest> rests)
{
var objectsEnumerator = objects.GetEnumerator();
var objectCanBeTaken = objectsEnumerator.MoveNext();

var restsEnumerator = rests.GetEnumerator();
var restCanBeTaken = restsEnumerator.MoveNext();

while (objectCanBeTaken && restCanBeTaken)
using (var objectsEnumerator = objects.GetEnumerator())
using (var restsEnumerator = rests.GetEnumerator())
{
var rest = restsEnumerator.Current;
var obj = objectsEnumerator.Current;
var objectCanBeTaken = objectsEnumerator.MoveNext();

var restCanBeTaken = restsEnumerator.MoveNext();

if (obj.Time <= rest.Time)
while (objectCanBeTaken && restCanBeTaken)
{
yield return obj;
objectCanBeTaken = objectsEnumerator.MoveNext();
var rest = restsEnumerator.Current;
var obj = objectsEnumerator.Current;

if (obj.Time <= rest.Time)
{
yield return obj;
objectCanBeTaken = objectsEnumerator.MoveNext();
}
else
{
yield return rest;
restCanBeTaken = restsEnumerator.MoveNext();
}
}
else

while (objectCanBeTaken)
{
yield return rest;
restCanBeTaken = restsEnumerator.MoveNext();
yield return objectsEnumerator.Current;
objectCanBeTaken = objectsEnumerator.MoveNext();
}
}

while (objectCanBeTaken)
{
yield return objectsEnumerator.Current;
objectCanBeTaken = objectsEnumerator.MoveNext();
}
}

private static ICollection<Rest> GetSortedRestsFromObjects(
Expand Down
1 change: 0 additions & 1 deletion DryWetMidi/Interaction/TimedObject/TimedObjectsWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,6 @@ private void Flush()
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}

private void Dispose(bool disposing)
Expand Down
2 changes: 1 addition & 1 deletion DryWetMidi/Interaction/ValueLine/ValueLine.cs
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ public void ReplaceValues(ValueLine<TValue> valueLine)
public ValueLine<TValue> Reverse(long centerTime)
{
var maxTime = 2 * centerTime;
var changes = this.TakeWhile(c => c.Time <= maxTime);
var changes = this.TakeWhile(c => c.Time <= maxTime).ToArray();

var values = new[] { _defaultValue }.Concat(changes.Select(c => c.Value)).Reverse();
var times = new[] { 0L }.Concat(changes.Select(c => maxTime - c.Time).Reverse());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,11 +203,11 @@ public void SetPlaybackTimeType(Playback playback, TimeSpanType timeType)
{
ThrowIfArgument.IsNull(nameof(playback), playback);
ThrowIfArgument.IsInvalidEnumValue(nameof(timeType), timeType);
ThrowIfArgument.DoesntSatisfyCondition(nameof(playback), playback, p => _playbacks.ContainsKey(p), "Playback is not being watched.");
EnsureIsNotDisposed();

lock (_playbacksLock)
{
ThrowIfArgument.DoesntSatisfyCondition(nameof(playback), playback, p => _playbacks.ContainsKey(p), "Playback is not being watched.");
_playbacks[playback] = timeType;
}
}
Expand Down
9 changes: 1 addition & 8 deletions DryWetMidi/Multimedia/Playback/Playback.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,6 @@ public class Playback : IDisposable, IClockDrivenObject
private readonly long _durationInTicks;

private ITimeSpan _playbackStart;
private TimeSpan _playbackStartMetric = MinPlaybackTime;
private ITimeSpan _playbackEnd;
private TimeSpan _playbackEndMetric = MaxPlaybackTime;

Expand Down Expand Up @@ -442,13 +441,7 @@ public double Speed
public ITimeSpan PlaybackStart
{
get { return _playbackStart; }
set
{
_playbackStart = value;
_playbackStartMetric = _playbackStart != null
? (TimeSpan)TimeConverter.ConvertTo<MetricTimeSpan>(_playbackStart, TempoMap)
: MinPlaybackTime;
}
set { _playbackStart = value; }
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions DryWetMidi/Multimedia/VirtualDevice/VirtualDevice.cs
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,8 @@ internal override void Dispose(bool disposing)

if (disposing)
{
InputDevice?.Dispose(disposing);
OutputDevice?.Dispose(disposing);
InputDevice?.Dispose(true);
OutputDevice?.Dispose(true);
_handle?.Dispose();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -568,6 +568,7 @@ private static HeaderChunk ParseHeader(Record record)
CsvSerializationSettings settings,
bool parseChunkId)
{
// TODO
//if (record.TrackNumber == null)
// CsvError.ThrowBadFormat(record.CsvRecord.LineNumber, "Invalid track number.");
//
Expand Down Expand Up @@ -600,6 +601,7 @@ private static HeaderChunk ParseHeader(Record record)
CsvSerializationSettings settings,
bool parseChunkId)
{
// TODO
//if (record.TrackNumber == null)
// CsvError.ThrowBadFormat(record.CsvRecord.LineNumber, "Invalid track number.");
//
Expand Down Expand Up @@ -632,7 +634,7 @@ private static HeaderChunk ParseHeader(Record record)
return new CsvNote(noteNumber, velocity, offVelocity, channel, length, record.ChunkIndex, record.ChunkId, record.ObjectIndex, time);
}

private static TempoMap GetTempoMap(IEnumerable<CsvObject> objects, TimeDivision timeDivision)
private static TempoMap GetTempoMap(ICollection<CsvObject> objects, TimeDivision timeDivision)
{
using (var tempoMapManager = new TempoMapManager(timeDivision))
{
Expand Down
2 changes: 1 addition & 1 deletion DryWetMidi/Tools/CsvSerializer/Objects/CsvObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ internal abstract class CsvObject
{
#region Constrcutor

public CsvObject(int? chunkIndex, string chunkId, int? objectIndex)
protected CsvObject(int? chunkIndex, string chunkId, int? objectIndex)
{
ChunkIndex = chunkIndex;
ChunkId = chunkId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -668,7 +668,7 @@ public static partial class CsvSerializer
params object[] values)
{
writer.WriteRecord(
new object[]
new[]
{
chunkIndex,
chunkId,
Expand Down

0 comments on commit 348ba05

Please sign in to comment.