public SongLoader( MainGame.Globals globals, SongSelect previous, SelectedSong selectedSong ) { this.globals = globals; this.previous = previous; this.midiLoad = Task.Run(async() => { var bytes = await File.ReadAllBytesAsync(selectedSong.SongFile); return(MidiToSong.FromMidi(new MidiFile(bytes))); }); var midiMgr = new UWP.UWPMidiManager(); midiOutLoad = midiMgr.CreateOutput(); }
protected override void LoadContent() { sb = new SpriteBatch(GraphicsDevice); theme = new Theme(); theme.LoadBasic(Content); var loadMidi = Task.Run(() => new MidiFile("Assets/desire_drive.mid")); var loadTheme = Task.Run(() => theme.LoadFromContent(Content)); var output = midiManager.CreateOutput(); Task.Run(async() => { // TODO: use this.Content to load your game content here var s = MidiToSong.FromMidi(await loadMidi); ts = new SimpleTimeSource(s.PPQ, s.InitialTempo); //var stf = new StaffRenderer(theme, , s); await loadTheme; sR = new StaffRenderer(theme, new MV { ts = ts, interval = s.PPQ * 4, }, s); var mout = await output; g = new Core.Game(s, mout, ts, this); inp = new Mono.KeyboardMIDIInput(g); ctr = new ComboCounter(theme.TestFont, ts); loading = false; g.Play(); }); }