Skip to content

Commit 59af425

Browse files
committed
Fix AlL tRaCkS
1 parent 63bece1 commit 59af425

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

BardMusicPlayer.Maestro/Old/Sequencing/OldSequencer.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using System.Text.RegularExpressions;
1212
using System.Timers;
1313
using BardMusicPlayer.DryWetMidi.Core;
14+
using BardMusicPlayer.DryWetMidi.Core.Utilities;
1415
using BardMusicPlayer.DryWetMidi.Core.WritingSettings;
1516
using BardMusicPlayer.Maestro.Sequencer.Backend.Sanford.Multimedia.Midi.DeviceClasses.InputDeviceClass;
1617
using BardMusicPlayer.Maestro.Sequencer.Backend.Sanford.Multimedia.Midi.Messages;
@@ -417,25 +418,27 @@ public int GetTrackPreferredOctaveShift(Track track)
417418
return 0;
418419
}
419420

420-
public void Load(BmpSong bmpSong, int trackNum = 1)
421+
public void Load(BmpSong bmpSong)
421422
{
422423
if (bmpSong == null)
423424
return;
424425

425426
LoadedFileType = FILETYPES.BmpSong;
426427
LoadedBmpSong = bmpSong;
427428

429+
var dryWetSong = bmpSong.GetProcessedMidiFile().Result;
430+
dryWetSong.Chunks.Insert(0, TrackChunkUtilities.Merge(dryWetSong.GetTrackChunks()));
431+
428432
using var midiStream = new MemoryStream();
429-
bmpSong.GetProcessedMidiFile().Result.Write(midiStream, MidiFileFormat.MultiTrack,
430-
new WritingSettings { TextEncoding = Encoding.ASCII });
433+
dryWetSong.Write(midiStream, MidiFileFormat.MultiTrack, new WritingSettings { TextEncoding = Encoding.ASCII });
431434
midiStream.Flush();
432435
midiStream.Position = 0;
433436

434437
Sequence = new Sequence(midiStream);
435-
load(Sequence, trackNum);
438+
load(Sequence, Sequence.Count - 1);
436439
}
437440

438-
public void load(Sequence sequence, int trackNum = 1)
441+
public void load(Sequence sequence, int trackNum)
439442
{
440443
OnTrackNameChange?.Invoke(this, string.Empty);
441444
OnTempoChange?.Invoke(this, 0);

0 commit comments

Comments
 (0)