欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

todo.txt

pxa270平台 windows mobile 5.2 wm9713 触摸屏+音频驱动
TXT
字号:
Things to look into in the future:

1. Fix popping at the end of MIDI notes by delaying the end
of note until it hits a zero-crossing in the sine table.
This can be done without any perf hit in the inner loop by
calculating the # of samples left in the NoteOff call, and
then using that value to determine how many samples to render
into the buffer in the renderer.
I'm not sure how to handle the case where we run out of notes and need
to steal an already playing note for a new note, since we might not
want to wait for the old note to finish playing, but we could at least
start the new note at the same location in the sample table where the old
note stopped, although this would still cause a pop if the old and new notes
were at different volume levels.

2. Implement a proprietary call which fills in a WAVEFORMATEX structure with the
"preferred" output format, so that apps can figure out what the "real" output format
is after sample-rate/format conversion.

3. Better handling of saturation by having all renderers mix
32-bit samples into a buffer, and have hwctxt handler map to
16-bit samples while doing all saturation calculations at one
point. The downside of this is that it adds an extra copy of the
DMA buffer, so it may not be a good idea.

4. Make sure the DMA buffer is marked as cacheable so the renderers
can cache the output buffer while they're rendering into it, and then
make sure hwctxt.cpp flushes the data cache before queueing the DMA.

5. Determine if the 256 sample sine-wave table can be reduced to fewer
entries. (Note: I looked at using the symmetry factor of the table to encode
the 256 entries as 64 entries, but decided it adds too many instructions to the
inner loop for such a small size gain, so that's probably not a great way to go).

6. Determine if we want to support per-stream input gain settings and/or some type of AGC.




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -