Esempio n. 1
0
        public void CreatingSeekTableFirstEntryIsZero()
        {
            short[] pcm       = GenerateAudio.GenerateAscendingShorts(0, 50);
            var     seekTable = new GcAdpcmSeekTable(pcm, 10);

            Assert.Equal(seekTable.SeekTable.Take(2), new short[] { 0, 0 });
        }
Esempio n. 2
0
        public void CreatingSeekTableContentIsCorrect()
        {
            short[] expected  = { 0, 0, 50, 49, 100, 99 };
            short[] pcm       = GenerateAudio.GenerateAscendingShorts(0, 101);
            var     seekTable = new GcAdpcmSeekTable(pcm, 50);

            Assert.Equal(expected, seekTable.SeekTable);
        }
Esempio n. 3
0
        private GcAdpcmFormat GetAscendingAdpcm(int samplesPerEntry, int count, params int[] starts)
        {
            short[][]     pcm       = starts.Select(start => GenerateAudio.GenerateAscendingShorts(start, count)).ToArray();
            Pcm16Format   pcmFormat = Pcm16Format.GetBuilder(pcm, 48000).Build();
            GcAdpcmFormat adpcm     = new GcAdpcmFormat().EncodeFromPcm16(pcmFormat);

            for (int i = 0; i < adpcm.ChannelCount; i++)
            {
                adpcm.Channels[i] = adpcm.Channels[i]
                                    .GetCloneBuilder()
                                    .WithSamplesPerSeekTableEntry(samplesPerEntry)
                                    .Build();
            }

            return(adpcm);
        }