Deltarune (Chapter 4) script viewer

← back to main script listing

gml_GlobalScript_scr_mic_record

(view raw script w/o annotations or w/e)
1
function 
scr_mic_record
scr_mic_record

function
scr_mic_record()
{ len = ds_map_find_value(async_load, "data_len"); buffer_seek(audio_buffer, buffer_seek_start, 0); buffer_copy(ds_map_find_value(async_load, "buffer_id"), 0, len, audio_buffer, 0); var alpha = 0.003; for (var i = 0; i < (len / 16); i++) { var us = buffer_read(audio_buffer, buffer_s16); us = abs(us); if (us_old == -1) us_old = us; us = (alpha * us) + ((1 - alpha) * us_old); us_old = us; if (!variable_global_exists("mic_sensitivity")) global.mic_sensitivity = 0.5; microphone_volume = clamp(us * max(0.01, global.mic_sensitivity) * 0.05, 0, 100); with (obj_mike_minigame_controller) { if (inv_mic) other.microphone_volume = 101 - other.microphone_volume; } } } function mic_reset() { if (global.use_mic) { if (audio_record != -4) { audio_stop_recording(audio_record); buffer_delete(audio_buffer); } audio_record = audio_start_recording(global.microphone); audio_buffer = buffer_create(9600, buffer_fixed, 2); } }
()
2
{
3
    len = ds_map_find_value(async_load, "data_len");
4
    buffer_seek(audio_buffer, buffer_seek_start, 0);
5
    buffer_copy(ds_map_find_value(async_load, "buffer_id"), 0, len, audio_buffer, 0);
6
    var alpha = 0.003;
7
    for (var i = 0; i < (len / 16); i++)
8
    {
9
        var us = buffer_read(audio_buffer, buffer_s16);
10
        us = abs(us);
11
        if (us_old == -1)
12
            us_old = us;
13
        us = (alpha * us) + ((1 - alpha) * us_old);
14
        us_old = us;
15
        if (!variable_global_exists("mic_sensitivity"))
16
            global.mic_sensitivity = 0.5;
17
        microphone_volume = clamp(us * max(0.01, global.mic_sensitivity) * 0.05, 0, 100);
18
        with (obj_mike_minigame_controller)
19
        {
20
            if (inv_mic)
21
                other.microphone_volume = 101 - other.microphone_volume;
22
        }
23
    }
24
}
25
26
function mic_reset()
27
{
28
    if (global.use_mic)
29
    {
30
        if (audio_record != -4)
31
        {
32
            audio_stop_recording(audio_record);
33
            buffer_delete(audio_buffer);
34
        }
35
        audio_record = audio_start_recording(global.microphone);
36
        audio_buffer = buffer_create(9600, buffer_fixed, 2);
37
    }
38
}