Beispiel #1
0
        public static void SA2MIDI(string file, string output)
        {
            var sa   = SonicArrangerFile.Open(file);
            var song = sa.ToMidi(ReadConfig());

            using (var stream = new FileStream(output, FileMode.Create))
            {
                song.Save(stream);
            }
        }
Beispiel #2
0
        public Song(Enumerations.Song song, int songIndex, SongPlayer songPlayer, DataReader reader,
                    Stream.ChannelMode channelMode, bool hardwareLPF, bool pal, bool waitForLoading = false, Action loadFinishedHandler = null)
        {
            this.song         = song;
            this.songPlayer   = songPlayer;
            reader.Position   = 0;
            sonicArrangerFile = new SonicArrangerFile(reader);
            sonicArrangerSong = sonicArrangerFile.Songs[songIndex];
            void Load()
            {
                buffer = new Stream(sonicArrangerFile, songIndex, 44100, channelMode, hardwareLPF, pal).ToUnsignedArray();
                loadFinishedHandler?.Invoke();
            }

            if (waitForLoading)
            {
                Load();
            }
            else
            {
                loadTask = Task.Run(Load);
            }
        }