Skip to content

Commit

Permalink
This got undone while merging what the hoy
Browse files Browse the repository at this point in the history
  • Loading branch information
KaleidonKep99 committed Feb 28, 2025
1 parent 04ebe8b commit 10cd344
Showing 1 changed file with 11 additions and 26 deletions.
37 changes: 11 additions & 26 deletions OmniConverter/Extensions/MIDI/MIDIConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -198,33 +198,19 @@ private void AutoFillInfo(ConvStatus intStatus = ConvStatus.Idle)
ulong _processed = _validator.GetProcessedEvents();
ulong _all = _validator.GetTotalEvents();

if (intStatus == ConvStatus.Idle ||
intStatus == ConvStatus.Prep ||
intStatus == ConvStatus.Dead)
{
_progress = Math.Round(_processed * 100.0 / _all);
bool isActive = (intStatus == ConvStatus.Idle || intStatus == ConvStatus.Prep || intStatus == ConvStatus.Dead);

if (_cachedSettings.Render.PerTrackMode)
_tracksProgress = Math.Round(_midiEvents * 100.0 / _totalMidiEvents);
}
else
{
_progress = 0.0;
_tracksProgress = 0.0;
}
_progress = isActive ? 0 : Math.Round(_processed * 100.0 / _all);
_tracksProgress = isActive ? 0 : Math.Round(_midiEvents * 100.0 / _totalMidiEvents);

switch (intStatus)
{
case ConvStatus.Prep:
_curStatus = "The converter is preparing itself for the conversion process...\n\nPlease wait.";
_progress = 0;
_tracksProgress = 0;
break;

case ConvStatus.Dead:
_curStatus = "The MIDI converter system died.\n\nOops!";
_progress = 0;
_tracksProgress = 0;
break;

case ConvStatus.SingleConv:
Expand Down Expand Up @@ -254,8 +240,7 @@ private void AutoFillInfo(ConvStatus intStatus = ConvStatus.Idle)
break;
}

if ((intStatus == ConvStatus.SingleConv || intStatus == ConvStatus.MultiConv) &&
_cachedSettings.Program.AfterRenderAction == 5)
if (isActive)
_curStatus += $"\nElapsed time: {MiscFunctions.TimeSpanToHumanReadableTime(_convElapsedTime.Elapsed)}";
}

Expand Down Expand Up @@ -320,7 +305,7 @@ private void GetTotalEventsCount()
{
List<ulong> totalEvents = new();
foreach (MIDI midi in _midis)
totalEvents.Add(_cachedSettings.Render.PerTrackMode ? midi.TotalEventCountMulti : midi.TotalEventCountSingle);
totalEvents.Add(midi.TotalEventCount);

_validator.SetTotalEventsCount(totalEvents);
}
Expand Down Expand Up @@ -518,11 +503,11 @@ private void PerTrackConversion()
_customTitle = midi.Name;
string folder = _outputPath;

var midiData = midi.GetIterateTracksTimeBased().ToArray();
var midiData = midi.GetIterateTracksTimeBased();
var waveFormat = _audioRenderer.GetWaveFormat();

_validator.SetTotalMIDIEvents(midi.TotalEventCountMulti);
_validator.SetTotalTracks(midiData.Length);
_validator.SetTotalMIDIEvents(midi.TotalEventCount);
_validator.SetTotalTracks(midiData.Count());

using (MultiStreamMerger msm = new(waveFormat))
{
Expand All @@ -547,9 +532,9 @@ private void PerTrackConversion()
if (_cancToken.IsCancellationRequested)
throw new OperationCanceledException();

var midiTrack = midiData[track];
var midiTrack = midiData.ElementAt(track);

if (!midi.TrackHasNotes[track])
if (!midiTrack.Any(x => x is NoteOnEvent))
{
_validator.AddTrack();
return;
Expand Down Expand Up @@ -850,7 +835,7 @@ public EventsProcesser(AudioEngine audioRenderer, IEnumerable<MIDIEvent> events,
_file = midi.LoadedFile;
_audioRenderer = audioRenderer;
_events = events;
_eventsCount = track < 0 ? midi.TotalEventCountSingle : midi.EventCountsMulti[track];
_eventsCount = track < 0 ? midi.TotalEventCount : midi.EventCounts[track];
_cachedSettings = _audioRenderer.GetCachedSettings();
_length = midi.Length.TotalSeconds;
}
Expand Down

0 comments on commit 10cd344

Please sign in to comment.