示例#1
0
        public void init(string f, ref Instruments i, ref Sequences se, ref Shapes sh, ref Tracks t)
        {
            switch (f)
            {
            case "TFMX":
            {
                ftype = _fType.TFMX;
                break;
            }

            case "MMME":
            {
                ftype = _fType.MMME;
                break;
            }
            }
            instr = i;
            seq   = se;
            shape = sh;
            track = t;
        }
示例#2
0
        public void LoadTracks(ref Tracks tracks)
        {
            int n = 0, i, j, k;

            byte[] d = new byte[4];

            switch (type1)
            {
            case "COSO":
            case "MMME":
            {
                fs.Position = offsets[3];
                n           = (offsets[4] - offsets[3]) / (3 * 4);
                break;
            }

            case "TFMX":
            {
                fs.Position = 32 + (64 * (sizes[0] + 1 + sizes[1] + 1 + sizes[2] + 1));
                n           = sizes[3];
                break;
            }
            }

            for (i = 0; i <= n - 1; i++)
            {
                for (j = 0; j <= 2; j++)
                {
                    for (k = 0; k <= 3; k++)
                    {
                        d[k] = br.ReadByte();
                    }
                    tracks.set_entry(j, i, d);
                }
            }
            tracks.MaxRow = n - 1;
        }