Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
            });
        }