Lisää Petrin siivotun shaderin
FFT ohjaa hexojen korkeutta Ylimääräiset tavarat siivottu random.frag tiedostoon syncs[0] aika sekunteina
This commit is contained in:
17
src/main.cpp
17
src/main.cpp
@ -169,9 +169,12 @@ int __cdecl main(int argc, char* argv[])
|
||||
HRESULT hr = IDirectSoundBuffer_Lock(direct_sound_buffer, 0, FFT_SIZE * sizeof(SUsample), &audio_ptr, &audio_size, NULL, NULL, DSBLOCK_FROMWRITECURSOR);
|
||||
|
||||
if (SUCCEEDED(hr) && audio_ptr) {
|
||||
SUsample* samples = (SUsample*)audio_ptr;
|
||||
for (int i = 0; i < FFT_SIZE; ++i) {
|
||||
fft_input[i] = (float)samples[i];
|
||||
if (playCursor < ((SU_LENGTH_IN_SAMPLES * SU_CHANNEL_COUNT * SU_SAMPLE_SIZE) - (FFT_SIZE* SU_CHANNEL_COUNT * SU_SAMPLE_SIZE)))
|
||||
{
|
||||
SUsample* samples = (SUsample*)audio_ptr;
|
||||
for (int i = 0; i < FFT_SIZE; ++i) {
|
||||
fft_input[i] = (float)samples[i];
|
||||
}
|
||||
}
|
||||
|
||||
IDirectSoundBuffer_Unlock(direct_sound_buffer, audio_ptr, audio_size, NULL, 0);
|
||||
@ -183,15 +186,15 @@ int __cdecl main(int argc, char* argv[])
|
||||
// Normalize output
|
||||
for (int i = 0; i < (FFT_SIZE / 2); i++)
|
||||
{
|
||||
maximum = max(fft_output[i], maximum);
|
||||
fft_output[i] = fft_output[i] / maximum;
|
||||
//maximum = max(fft_output[i], maximum);
|
||||
//fft_output[i] = fft_output[i] / maximum;
|
||||
if (i < (FFT_SIZE / 4)) // Limit uniform fft size. High frequencys contain nothing interesing.
|
||||
{
|
||||
fft_uniform[i] = fft_output[i];
|
||||
fft_uniform[i] = min(1.0,fft_output[i]*20.0);
|
||||
}
|
||||
}
|
||||
|
||||
syncs[0] = (float)playCursor / (2 * sizeof(SUsample));
|
||||
syncs[0] = (float)playCursor / (SU_SAMPLE_RATE * SU_CHANNEL_COUNT * SU_SAMPLE_SIZE); // Aika sekunteina.
|
||||
|
||||
for (int i = 0; i < SU_NUMSYNCS; ++i)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user