1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

[HTML5] Port JavaScript inline code to libraries.

The API is implemented in javascript, and generates C functions that can
be called from godot.
This allows much cleaner code replacing all `EM_ASM` calls in our C++
code with plain C function calls.
This also gets rid of few hacks and comes with few optimizations (e.g.
custom cursor shapes should be much faster now).
This commit is contained in:
Fabio Alessandrelli
2020-10-23 18:33:20 +02:00
parent 54cda5c3b8
commit e2083871eb
33 changed files with 1995 additions and 1461 deletions

View File

@@ -44,7 +44,6 @@ private:
int mix_rate = 0;
int channel_count = 0;
public:
#ifndef NO_THREADS
Mutex mutex;
Thread *thread = nullptr;
@@ -53,9 +52,12 @@ public:
static void _audio_thread_func(void *p_data);
#endif
static void _audio_driver_process_start();
static void _audio_driver_process_end();
static void _audio_driver_process_capture(float p_sample);
void _audio_driver_process();
void _js_driver_process();
public:
static bool is_available();
void process_capture(float sample);
@@ -72,7 +74,6 @@ public:
void lock() override;
void unlock() override;
void finish() override;
void finish_async();
Error capture_start() override;
Error capture_stop() override;