Example #1
0
    static void ProcessFile(string inputFilename)
    {
        Stream s = File.OpenRead(inputFilename);

        byte[] module     = new byte[ASAP_Player.ModuleMax];
        int    module_len = s.Read(module, 0, module.Length);

        s.Close();
        ASAP_Player asap = new ASAP_Player();

        asap.Load(inputFilename, module, module_len);
        ASAP_ModuleInfo module_info = asap.GetModuleInfo();

        if (song < 0)
        {
            song = module_info.default_song;
        }
        if (duration < 0)
        {
            duration = module_info.durations[song];
            if (duration < 0)
            {
                duration = 180 * 1000;
            }
        }
        asap.PlaySong(song, duration);
        asap.MutePokeyChannels(muteMask);
        if (outputFilename == null)
        {
            int i = inputFilename.LastIndexOf('.');
            outputFilename = inputFilename.Substring(0, i + 1) + (outputHeader ? "wav" : "raw");
        }
        s = File.Create(outputFilename);
        byte[] buffer = new byte[8192];
        if (outputHeader)
        {
            asap.GetWavHeader(buffer, format);
            s.Write(buffer, 0, ASAP_Player.WavHeaderBytes);
        }
        int n_bytes;

        do
        {
            n_bytes = asap.Generate(buffer, format);
            s.Write(buffer, 0, n_bytes);
        } while (n_bytes == buffer.Length);
        s.Close();
        outputFilename = null;
        song           = -1;
        duration       = -1;
    }
Example #2
0
	static void ProcessFile(string inputFilename)
	{
		Stream s = File.OpenRead(inputFilename);
		byte[] module = new byte[ASAP_Player.ModuleMax];
		int module_len = s.Read(module, 0, module.Length);
		s.Close();
		ASAP_Player asap = new ASAP_Player();
		asap.Load(inputFilename, module, module_len);
		ASAP_ModuleInfo module_info = asap.GetModuleInfo();
		if (song < 0)
			song = module_info.default_song;
		if (duration < 0) {
			duration = module_info.durations[song];
			if (duration < 0)
				duration = 180 * 1000;
		}
		asap.PlaySong(song, duration);
		asap.MutePokeyChannels(muteMask);
		if (outputFilename == null) {
			int i = inputFilename.LastIndexOf('.');
			outputFilename = inputFilename.Substring(0, i + 1) + (outputHeader ? "wav" : "raw");
		}
		s = File.Create(outputFilename);
		byte[] buffer = new byte[8192];
		if (outputHeader) {
			asap.GetWavHeader(buffer, format);
			s.Write(buffer, 0, ASAP_Player.WavHeaderBytes);
		}
		int n_bytes;
		do {
			n_bytes = asap.Generate(buffer, format);
			s.Write(buffer, 0, n_bytes);
		} while (n_bytes == buffer.Length);
		s.Close();
		outputFilename = null;
		song = -1;
		duration = -1;
	}
Example #3
0
 static void SetTime(string s)
 {
     duration = ASAP_Player.ParseDuration(s);
 }