164 lines
No EOL
9.9 KiB
Text
164 lines
No EOL
9.9 KiB
Text
|
|
Should updateRouting be called in Raki before start? if so call it on all platforms
|
|
|
|
Tests:
|
|
- output bin files to Output dir
|
|
- check all tests, delete obsolete, update documentation
|
|
|
|
Test WASAPI drivers for Windows
|
|
|
|
CreateVoice should return void since on WiiU it's impossible to know if voice is created
|
|
-> tests should be added when Sound is passed
|
|
|
|
XAudio2: one call to SetOutputMatrix
|
|
|
|
Reverb/Routing
|
|
- reverb for 4.0 and 5.1
|
|
|
|
PS3
|
|
- check if MP3 can be compressed differently for buffer sounds
|
|
- remove msf header from cookded data
|
|
|
|
WiiU
|
|
- réverb 6 CH ????
|
|
- log exceed cb
|
|
- check cb timing
|
|
- set core for AXInit
|
|
- MTT interleaving for stereo
|
|
- playsounds
|
|
- activate filters and span
|
|
- ramp up volumes
|
|
- submit silence after submitted buffers for silence at end of one shots
|
|
|
|
CLEANING
|
|
- check Mutex from WiiU audio callback: replace with lockless system if possible, if necessary add client side mutex
|
|
- ITF vs RAKI interface, SoundAdapters, should be cleaned
|
|
- remove console ifdefs...
|
|
- keep u32 for most variables instead of u64
|
|
- check pointers are cast to char IN PROGRESS
|
|
- store volume before start on low level instances
|
|
- check XAudio2 init vs capture, pan, etc
|
|
- use cook params (cook params are hardcoded today), enable loop/non loop compression, enable changing of sampling rate IN PROGRESS
|
|
- music / ambiance / voice : better separation ;
|
|
- can constructor compression exes be called from Raki ? DONE
|
|
- tests with PCM, not only native formats
|
|
- PC/XMA2/XAudio2 code
|
|
- ne pas avoir à appeler updateVolume au start
|
|
- virer warnings de la version Wii
|
|
- add main thread update ??
|
|
- Wii: add system to wait for audio callback when necessary (ex: instance destroyed in samples)
|
|
- add assert when data needs to be binarized as looped
|
|
- RakiTests: SystemMemory must have a per target implementation
|
|
- check resource management with David
|
|
- tests map Aymeric
|
|
- try to move platform specific code to sound adapters
|
|
- rajouter log des lectures dans streaming thread
|
|
- add fade before converting to ADPCM
|
|
|
|
NEW FEATURES
|
|
- seek before play with/without prefetch ;
|
|
- audiocallback system to play notes rhythmically ;
|
|
|
|
RAKI SIDE
|
|
- currently when streaming thread is slow streams stop: pause streams instead
|
|
- volume behaviors should be integrated to RAKI
|
|
- take into account loop flag for binarization, wave should have m_loop flag, add loop safety
|
|
- add native reverbs ;
|
|
- add span ;
|
|
- add multitrack stereo ?
|
|
- PS3: non pitched compression for non looped sounds
|
|
- all platforms: pause all sounds at first DVD error;
|
|
- cook update system: don't cook if data and cook params have not changed - cook again if data or cook params have changed ;
|
|
- native effects, reverbs, bus
|
|
- deinterleave in streaming thread? Wii/WiiU
|
|
- mettre en place stress test DVD ave simu des temps seek/read ;
|
|
- check if/how 1152 constraint can be removed
|
|
- PS3 pic signing: Use of unsigned SPU .pic files on disc is a TRC failure.
|
|
- enable binarization of 24 bit RIFF waves ???
|
|
- mettre en place un système de mise à jour des vols/pan/span, plutôt que de passer tous params au bas niveau à chaque fois ? (pas utile sur Wii/WiiU) ;
|
|
- enable ADPCM streams on Win32 ?
|
|
- add synchro to start different streams
|
|
|
|
CLIENT SIDE
|
|
- currently music parts must be entire measures: enable non measure parts (for intros/outros) ;
|
|
- pause manager ;
|
|
- don't use linear volumes, use decibel volumes
|
|
|
|
|
|
FEATURE TESTS
|
|
|
|
- stress play stop pause resume create destroy;
|
|
- create all voices
|
|
- disable streaming thread ;
|
|
- multiplatform volume and pan span tests;
|
|
- test sounds on each platform with all available formats (PCM + native compression)
|
|
- stress tests: create as many voices as possible, etc...
|
|
- measure RAM used on Wii and other platforms
|
|
- test different sampling rates
|
|
- test music transitions
|
|
|
|
|
|
DONE
|
|
|
|
CLEANING
|
|
- check RAKI code directory organization, move system memory to test directory
|
|
- rename VoiceBase -> SoundBase and inherited objects
|
|
- stream buffer sizes -> ambiance and voice reduce streaming buffer sizes
|
|
- rajouter un objet BufferSoundBase avec une méthode createBufferVoice( const WaveFile * _waveFile );
|
|
|
|
RAKI SIDE
|
|
- activate music transitions on next beat ; -> DONE
|
|
- change bin format for sound?
|
|
- modify stream system for simple streams which don't need quick transitions (voices, ambiances) -> use less RAM
|
|
- other format the RIFF for bin data waves ?
|
|
- enable CENTER CHANNEL mono voices on 5.1 ;
|
|
- mix on 5+1, 7+1, etc (add stereo + 5.1 + ... output modes)
|
|
- implement IXAudio2EngineCallback::OnCriticalError on both Windows and XB360
|
|
|
|
|
|
XAudio2ReflectionsDelay = 150, -- [0, 300] in ms
|
|
XAudio2ReverbDelay = 42, -- [0, 85] in ms
|
|
XAudio2RearDelay = 3, -- [0, 5] in ms
|
|
XAudio2PositionLeft = 15, -- [0, 30] no units
|
|
XAudio2PositionRight = 15, -- [0, 30] no units
|
|
XAudio2PositionMatrixLeft = 15, -- [0, 30] no units
|
|
XAudio2PositionMatrixRight = 15,-- [0, 30] no units
|
|
XAudio2EearlyDiffusion = 8, -- [0, 15] no units
|
|
XAudio2LateDiffusion = 8, -- [0, 15] no units
|
|
XAudio2LowEQGain = 6, -- [0, 12] no units
|
|
XAudio2LowEQCutoff = 4, -- [0, 9] no units
|
|
XAudio2HighEQGain = 4, -- [0, 8] no units
|
|
XAudio2HighEQCutoff = 7, -- [0, 14] no units
|
|
XAudio2RoomFilterFreq = 1000.0, -- [20, 20000] in Hz
|
|
XAudio2RoomFilterMain = 0.0, -- [-100, 0] in dB
|
|
XAudio2RoomFilterHF = 0.0, -- [-100, 0] in dB
|
|
XAudio2ReflectionsGain = 0.0, -- [-100, 20] in dB
|
|
XAudio2ReverbGain = 0.0, -- [-100, 20] in dB
|
|
XAudio2DecayTime = 10.0, -- [0.1, inf] in seconds
|
|
XAudio2Density = 50.0, -- [0, 100] (percentage)
|
|
XAudio2RoomSize = 10.0, -- [1, 100] in feet
|
|
XAudio2DisableLateField = true, -- true to disable late field reflections
|
|
|
|
PS3Room = -1000.0, -- room (main) volume control in mB -10000 to 0 mB ( 100 mB == 1 dB )
|
|
PS3Room_HF = -1000.0, -- high frequency content input in mB, at HF_reference -10000 to 0 mB
|
|
PS3Decay_time = 10.0, -- decay time of late reverberation in seconds 0.1 to 20 seconds
|
|
PS3Decay_HF_ratio = 1.0, -- ratio of high frequency decay in late reverb 0.1 to 2.0
|
|
PS3Reflections = -1000.0, -- volume of early reflections in mB -10000 to 1000 mB
|
|
PS3Reflections_delay = 0.1, -- delay from input signal until first reflection 0.0 to 0.3 seconds
|
|
PS3Reverb = -1000.0, -- volume of late reverb in mB -10000 to 2000 mB
|
|
PS3Reverb_delay = 0.05, -- delay from first reflection until late reverb 0.0 to 0.1 seconds
|
|
PS3Diffusion = 50.0, -- echo density in late reverberation 0 to 100 %
|
|
PS3Density = 50.0, -- modal density in late reverberation 0 to 100 %
|
|
PS3_HF_reference = 1000.0, -- reference frequency for Room_HF and Decay_HF_ratio 20 to 20000 Hertz
|
|
PS3MixChannel = -1, -- channel index to crossfade / mix signal with for stereo -1 == off, 0 to 7 == mix chan
|
|
PS3EarlyReflectionPattern = 0, -- CELL_MSFX_ROOM1_LEFT = 0, CELL_MSFX_ROOM1_RIGHT = 1, CELL_MSFX_ROOM2_LEFT = 2, CELL_MSFX_ROOM2_RIGHT = 3, CELL_MSFX_ROOM3_LEFT = 4, CELL_MSFX_ROOM3_RIGHT = 5
|
|
PS3LateReverbPattern = 0, -- CELL_MSFX_ROOM1_LATE_LEFT = 0, CELL_MSFX_ROOM1_LATE_RIGHT = 1
|
|
PS3EarlyReflectionScaler = 50.0,-- scaler 0 -> 100% for early reflections. 0 == single reflection 100 == widely spread reflections
|
|
PS3_LF_reference = 1000.0, -- reference low frequency 20 to 20000 Hertz
|
|
PS3_room_LF = -1000.0, -- low frequency content input in mB, at LF_reference -10000 to 0 mB
|
|
|
|
AXColoration = 0.5, -- Tunes the coefficients of the all-pass filter. Specify a value as 0.0 <= value <= 1.0. This number is used to simulate the acoustic properties of sound-reflective walls. In general, the smaller this value becomes, the coarser the reverberation density. In the opposite way, as this value increases the reverberation becomes more dense, but waveform interference may cause the high frequencies to stand out.
|
|
AXTime = 10.0, -- Time until reverb attenuates. Specify a value of 0.0 or greater (units of sec). Specifying 0.01 seconds for time can achieve simulation of an extremely small room. If time is set as 10.0 seconds, the simulation is that of a cathedral or stadium.
|
|
AXDamping = 0.5, -- Tunes the filter coefficient of the low-pass filter (LPF). Specify a value as 0.0 <= value <= 1.0. As this value approaches 0.0, the signal's low-frequency portion becomes its main content and reverb begins to stand out. In the opposite way, as this value approaches 1.0, the high-frequency portion of the signal is passed with less attenuation, and reverb becomes less noticeable.
|
|
AXPreDelay = 0.1, -- Time until reverb begins. Specify a value of 0.0 or greater (units of sec). When simulating a large room, specify a large value for preDelay. This increases the distance between the sound source and the sound-reflecting walls.
|
|
AXCrosstalk = 0.5, -- Sets the amount of interaction between channels. Specify a value as 0.0 <= value <= 1.0. If crosstalk is set to 0.0, the reverberation does not seep into other channels at all, and any interaction among the channels is eliminated. If set to a value larger than 0.0, the reverberation will seep into other channels. - Note: When Dolby Pro Logic II is selected for the output, sounds can seep between channels due to processing by the AX of the output received from the AXFX. This is true even when the value for crosstalk is set to 0 and, as far as the AXFX is concerned, there is no interaction between channels. |