Просмотр исходного кода

small sound engine optimization

LTVA1 2 лет назад
Родитель
Сommit
5981d2aa5b
2 измененных файлов с 6 добавлено и 10 удалено
  1. 3 5
      sound_engine/sound_engine.c
  2. 3 5
      util.c

+ 3 - 5
sound_engine/sound_engine.c

@@ -102,7 +102,7 @@ void sound_engine_fill_buffer(
     int32_t channel_output_final[NUM_CHANNELS];
     int32_t channel_output_final[NUM_CHANNELS];
 
 
     for(uint32_t i = 0; i < audio_buffer_size; ++i) {
     for(uint32_t i = 0; i < audio_buffer_size; ++i) {
-        int32_t output = WAVE_AMP / 2 / 64;
+        int32_t output = WAVE_AMP * 2;
 
 
         for(uint32_t chan = 0; chan < NUM_CHANNELS; ++chan) {
         for(uint32_t chan = 0; chan < NUM_CHANNELS; ++chan) {
             SoundEngineChannel* channel = &sound_engine->channel[chan];
             SoundEngineChannel* channel = &sound_engine->channel[chan];
@@ -191,12 +191,10 @@ void sound_engine_fill_buffer(
                     }
                     }
                 }
                 }
 
 
-                output +=
-                    ((channel_output_final[chan]) /
-                     (int32_t)(64 * 4)); // 2 more bits so all channels fit
+                output += channel_output_final[chan];
             }
             }
         }
         }
 
 
-        audio_buffer[i] = output;
+        audio_buffer[i] = output / (int32_t)(64 * 4);
     }
     }
 }
 }

+ 3 - 5
util.c

@@ -50,15 +50,13 @@ void play_song(FlizzerTrackerApp* tracker, bool from_cursor) {
     tracker->tracker_engine.current_tick = 0;
     tracker->tracker_engine.current_tick = 0;
     tracker_engine_set_song(&tracker->tracker_engine, &tracker->song);
     tracker_engine_set_song(&tracker->tracker_engine, &tracker->song);
 
 
-    for(uint8_t i = 0; i < SONG_MAX_CHANNELS; i++)
-    {
+    for(uint8_t i = 0; i < SONG_MAX_CHANNELS; i++) {
         bool was_disabled = tracker->tracker_engine.channel[i].channel_flags & TEC_DISABLED;
         bool was_disabled = tracker->tracker_engine.channel[i].channel_flags & TEC_DISABLED;
-        
+
         memset(&tracker->sound_engine.channel[i], 0, sizeof(SoundEngineChannel));
         memset(&tracker->sound_engine.channel[i], 0, sizeof(SoundEngineChannel));
         memset(&tracker->tracker_engine.channel[i], 0, sizeof(TrackerEngineChannel));
         memset(&tracker->tracker_engine.channel[i], 0, sizeof(TrackerEngineChannel));
 
 
-        if(was_disabled)
-        {
+        if(was_disabled) {
             tracker->tracker_engine.channel[i].channel_flags |= TEC_DISABLED;
             tracker->tracker_engine.channel[i].channel_flags |= TEC_DISABLED;
         }
         }
     }
     }