Code Monkey home page Code Monkey logo

grz0zrg / fas Goto Github PK

View Code? Open in Web Editor NEW
130.0 9.0 10.0 2 MB

C Pixels-based graphical audio synthesizer implemented as a WebSocket server

Home Page: https://www.fsynth.com

License: BSD 2-Clause "Simplified" License

Makefile 2.06% C 90.63% C++ 4.37% HTML 0.90% Faust 0.03% CMake 1.38% Batchfile 0.46% Python 0.11% Shell 0.06%
audio raspberry-pi additive-synthesizer synthesizer additive-synth portaudio additive-synthesis granular-synthesis distributed image-synth

fas's Issues

Core synthesis engine: Implement SSE

GCC is already producing SSE instructions but only scalar operations, the code of the synthesis engine can be greatly optimized by using hand-coded SSE instructions, the only thing required to implement it is padded notes data so that we can take chunks of vectorized notes data and divide greatly the amount of instructions to compute the additive bits.

Allow SSL

Allow SSL to fix Firefox mixed content issues when a connection originate from a SSL enabled pages.

Should be activated by default and have a command-line flag to enable/disable it.

liblfds version ?

Hello,

In the doc, it is said that we have to clone liblfds711, but it seems that liblfds720 is needed.
Unhopefully, liblfds's last version seems to be 711. And the error log discourages me simply trying to rename the thing

In file included from main.c:45:
fas.h:45:43: error: field ‘fe’ has incomplete type
         struct lfds720_freelist_n_element fe;
                                           ^~
fas.h:144:10: warning: ISO C forbids forward references to ‘enum’ types [-Wpedantic]
     enum lfds720_misc_flag overwrite_occurred_flag;
          ^~~~~~~~~~~~~~~~~
fas.h:161:106: warning: ISO C forbids forward references to ‘enum’ types [-Wpedantic]
     void rb_element_cleanup_callback(struct lfds720_ringbuffer_n_state *rs, void *key, void *value, enum lfds720_misc_flag unread_flag) {
                                                                                                          ^~~~~~~~~~~~~~~~~
fas.h:161:124: error: parameter 4 (‘unread_flag’) has incomplete type
     void rb_element_cleanup_callback(struct lfds720_ringbuffer_n_state *rs, void *key, void *value, enum lfds720_misc_flag unread_flag) {
                                                                                                     ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
In file included from main.c:45:
fas.h: In function ‘rb_element_cleanup_callback’:
fas.h:162:28: error: ‘LFDS720_MISC_FLAG_RAISED’ undeclared (first use in this function); did you mean ‘LFDS711_MISC_FLAG_RAISED’?
         if (unread_flag == LFDS720_MISC_FLAG_RAISED) {
                            ^~~~~~~~~~~~~~~~~~~~~~~~
                            LFDS711_MISC_FLAG_RAISED
fas.h:162:28: note: each undeclared identifier is reported only once for each function it appears in
main.c: In function ‘flf_element_cleanup_callback’:
main.c:52:28: warning: implicit declaration of function ‘LFDS720_FREELIST_N_GET_VALUE_FROM_ELEMENT’; did you mean ‘LFDS711_FREELIST_GET_VALUE_FROM_ELEMENT’? [-Wimplicit-function-declaration]
     freelist_frames_data = LFDS720_FREELIST_N_GET_VALUE_FROM_ELEMENT(*fe);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                            LFDS711_FREELIST_GET_VALUE_FROM_ELEMENT
main.c:52:70: error: dereferencing pointer to incomplete type ‘struct lfds720_freelist_n_element’
     freelist_frames_data = LFDS720_FREELIST_N_GET_VALUE_FROM_ELEMENT(*fe);
                                                                      ^~~
main.c: In function ‘paCallback’:
main.c:83:5: error: ‘LFDS720_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_PHYSICAL_CORE’ undeclared (first use in this function); did you mean ‘LFDS711_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE’?
     LFDS720_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_PHYSICAL_CORE;
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     LFDS711_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE
main.c:90:9: warning: implicit declaration of function ‘lfds720_queue_bss_dequeue’; did you mean ‘lfds711_queue_bss_dequeue’? [-Wimplicit-function-declaration]
     if (lfds720_queue_bss_dequeue(&synth_commands_queue_state, NULL, &queue_synth_void) == 1) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~
         lfds711_queue_bss_dequeue
main.c:557:27: warning: implicit declaration of function ‘lfds720_ringbuffer_n_read’; did you mean ‘lfds711_ringbuffer_read’? [-Wimplicit-function-declaration]
             read_status = lfds720_ringbuffer_n_read(&rs, &key, NULL);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~
                           lfds711_ringbuffer_read
main.c:564:21: warning: implicit declaration of function ‘LFDS720_FREELIST_N_SET_VALUE_IN_ELEMENT’; did you mean ‘LFDS711_FREELIST_SET_VALUE_IN_ELEMENT’? [-Wimplicit-function-declaration]
                     LFDS720_FREELIST_N_SET_VALUE_IN_ELEMENT(curr_freelist_frames_data->fe, curr_freelist_frames_data);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     LFDS711_FREELIST_SET_VALUE_IN_ELEMENT
main.c:565:21: warning: implicit declaration of function ‘lfds720_freelist_n_threadsafe_push’; did you mean ‘lfds711_freelist_push’? [-Wimplicit-function-declaration]
                     lfds720_freelist_n_threadsafe_push(&freelist_frames, NULL, &curr_freelist_frames_data->fe);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     lfds711_freelist_push
main.c: In function ‘setHeight’:
main.c:758:12: warning: implicit declaration of function ‘lfds720_freelist_n_threadsafe_pop’; did you mean ‘lfds711_freelist_pop’? [-Wimplicit-function-declaration]
     while (lfds720_freelist_n_threadsafe_pop(&freelist_frames, NULL, &fe)) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            lfds711_freelist_pop
main.c: In function ‘ws_callback’:
main.c:933:5: error: ‘LFDS720_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_PHYSICAL_CORE’ undeclared (first use in this function); did you mean ‘LFDS711_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE’?
     LFDS720_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_PHYSICAL_CORE;
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     LFDS711_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE
main.c:1169:25: warning: implicit declaration of function ‘lfds720_queue_bss_enqueue’; did you mean ‘lfds711_queue_bss_enqueue’? [-Wimplicit-function-declaration]
                     if (lfds720_queue_bss_enqueue(&synth_commands_queue_state, NULL, (void *)usd->synth) == 0) {
                         ^~~~~~~~~~~~~~~~~~~~~~~~~
                         lfds711_queue_bss_enqueue
main.c:1214:5: error: unknown type name ‘lfds720_pal_uint_t’; did you mean ‘lfds711_pal_uint_t’?
     lfds720_pal_uint_t frames_data_freelist_count;
     ^~~~~~~~~~~~~~~~~~
     lfds711_pal_uint_t
main.c:1215:5: warning: implicit declaration of function ‘lfds720_freelist_n_query’; did you mean ‘lfds711_freelist_query’? [-Wimplicit-function-declaration]
     lfds720_freelist_n_query(&freelist_frames, LFDS720_FREELIST_N_QUERY_SINGLETHREADED_GET_COUNT, NULL, (void *)&frames_data_freelist_count);
     ^~~~~~~~~~~~~~~~~~~~~~~~
     lfds711_freelist_query
main.c:1215:48: error: ‘LFDS720_FREELIST_N_QUERY_SINGLETHREADED_GET_COUNT’ undeclared (first use in this function); did you mean ‘LFDS711_FREELIST_QUERY_SINGLETHREADED_GET_COUNT’?
     lfds720_freelist_n_query(&freelist_frames, LFDS720_FREELIST_N_QUERY_SINGLETHREADED_GET_COUNT, NULL, (void *)&frames_data_freelist_count);
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                LFDS711_FREELIST_QUERY_SINGLETHREADED_GET_COUNT
main.c:1281:21: warning: implicit declaration of function ‘lfds720_ringbuffer_n_write’; did you mean ‘lfds711_ringbuffer_write’? [-Wimplicit-function-declaration]
                     lfds720_ringbuffer_n_write(&rs, (void *) (lfds720_pal_uint_t) freelist_frames_data, NULL, &overwrite_occurred_flag, (void *)&overwritten_notes, NULL);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                     lfds711_ringbuffer_write
main.c:1281:63: error: ‘lfds720_pal_uint_t’ undeclared (first use in this function); did you mean ‘lfds711_pal_uint_t’?
                     lfds720_ringbuffer_n_write(&rs, (void *) (lfds720_pal_uint_t) freelist_frames_data, NULL, &overwrite_occurred_flag, (void *)&overwritten_notes, NULL);
                                                               ^~~~~~~~~~~~~~~~~~
                                                               lfds711_pal_uint_t
main.c:1281:82: error: expected ‘)’ before ‘freelist_frames_data’
                     lfds720_ringbuffer_n_write(&rs, (void *) (lfds720_pal_uint_t) freelist_frames_data, NULL, &overwrite_occurred_flag, (void *)&overwritten_notes, NULL);
                                                                                  ^~~~~~~~~~~~~~~~~~~~~
                                                                                  )
main.c:1282:52: error: ‘LFDS720_MISC_FLAG_RAISED’ undeclared (first use in this function); did you mean ‘LFDS711_MISC_FLAG_RAISED’?
                     if (overwrite_occurred_flag == LFDS720_MISC_FLAG_RAISED) {
                                                    ^~~~~~~~~~~~~~~~~~~~~~~~
                                                    LFDS711_MISC_FLAG_RAISED
main.c:1282:21: error: ‘overwrite_occurred_flag’ has an incomplete type ‘enum lfds720_misc_flag’
                     if (overwrite_occurred_flag == LFDS720_MISC_FLAG_RAISED) {
                     ^~
main.c: In function ‘main’:
main.c:2046:9: warning: implicit declaration of function ‘PaAlsa_EnableRealtimeScheduling’ [-Wimplicit-function-declaration]
         PaAlsa_EnableRealtimeScheduling(&stream, fas_realtime);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.c:2077:23: error: ‘LFDS720_PAL_ATOMIC_ISOLATION_LENGTH_IN_BYTES’ undeclared (first use in this function); did you mean ‘LFDS711_PAL_ATOMIC_ISOLATION_IN_BYTES’?
         aligned_alloc(LFDS720_PAL_ATOMIC_ISOLATION_LENGTH_IN_BYTES, sizeof(struct lfds720_ringbuffer_n_element) * (fas_frames_queue_size + 1));
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                       LFDS711_PAL_ATOMIC_ISOLATION_IN_BYTES
main.c:2077:76: error: invalid application of ‘sizeof’ to incomplete type ‘struct lfds720_ringbuffer_n_element’
         aligned_alloc(LFDS720_PAL_ATOMIC_ISOLATION_LENGTH_IN_BYTES, sizeof(struct lfds720_ringbuffer_n_element) * (fas_frames_queue_size + 1));
                                                                            ^~~~~~
main.c:2080:76: error: invalid application of ‘sizeof’ to incomplete type ‘struct lfds720_queue_bss_element’
         aligned_alloc(LFDS720_PAL_ATOMIC_ISOLATION_LENGTH_IN_BYTES, sizeof(struct lfds720_queue_bss_element) * fas_commands_queue_size);
                                                                            ^~~~~~
main.c:2094:5: warning: implicit declaration of function ‘lfds720_ringbuffer_n_init_valid_on_current_logical_core’; did you mean ‘lfds711_ringbuffer_init_valid_on_current_logical_core’? [-Wimplicit-function-declaration]
     lfds720_ringbuffer_n_init_valid_on_current_logical_core(&rs, re, (fas_frames_queue_size + 1), NULL);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     lfds711_ringbuffer_init_valid_on_current_logical_core
main.c:2095:5: warning: implicit declaration of function ‘lfds720_queue_bss_init_valid_on_current_logical_core’; did you mean ‘lfds711_queue_bss_init_valid_on_current_logical_core’? [-Wimplicit-function-declaration]
     lfds720_queue_bss_init_valid_on_current_logical_core(&synth_commands_queue_state, synth_commands_queue_element, fas_commands_queue_size, NULL);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     lfds711_queue_bss_init_valid_on_current_logical_core
main.c:2096:5: warning: implicit declaration of function ‘lfds720_freelist_n_init_valid_on_current_logical_core’; did you mean ‘lfds711_freelist_init_valid_on_current_logical_core’? [-Wimplicit-function-declaration]
     lfds720_freelist_n_init_valid_on_current_logical_core(&freelist_frames, NULL);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     lfds711_freelist_init_valid_on_current_logical_core
main.c:2168:9: warning: implicit declaration of function ‘lfds720_ringbuffer_n_cleanup’; did you mean ‘lfds711_ringbuffer_cleanup’? [-Wimplicit-function-declaration]
         lfds720_ringbuffer_n_cleanup(&rs, rb_element_cleanup_callback);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
         lfds711_ringbuffer_cleanup
main.c:2172:5: warning: implicit declaration of function ‘lfds720_freelist_n_cleanup’; did you mean ‘lfds711_freelist_cleanup’? [-Wimplicit-function-declaration]
     lfds720_freelist_n_cleanup(&freelist_frames, flf_element_cleanup_callback);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
     lfds711_freelist_cleanup
main.c:2179:9: warning: implicit declaration of function ‘lfds720_queue_bss_cleanup’; did you mean ‘lfds711_queue_bss_cleanup’? [-Wimplicit-function-declaration]
         lfds720_queue_bss_cleanup(&synth_commands_queue_state, q_element_cleanup_callback);
         ^~~~~~~~~~~~~~~~~~~~~~~~~
         lfds711_queue_bss_cleanup
In file included from main.c:45:
main.c: At top level:
fas.h:144:28: error: storage size of ‘overwrite_occurred_flag’ isn’t known
     enum lfds720_misc_flag overwrite_occurred_flag;
                            ^~~~~~~~~~~~~~~~~~~~~~~
fas.h:146:39: error: storage size of ‘rs’ isn’t known
     struct lfds720_ringbuffer_n_state rs; // frames related data structure
                                       ^~
fas.h:147:36: error: storage size of ‘synth_commands_queue_state’ isn’t known
     struct lfds720_queue_bss_state synth_commands_queue_state;
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
fas.h:148:37: error: storage size of ‘freelist_frames’ isn’t known
     struct lfds720_freelist_n_state freelist_frames;
                                     ^~~~~~~~~~~~~~~
make: *** [Makefile:29: all] Error 1

Faust version

Which particular faust version does this require?

Can't seem to start server

Not sure what the issue is. I am on Pop!OS 20.10 (similar to ubuntu 20.10)

I have my portaudio routed through Jack, and generally either sort of audio works fine, in other apps. I tried with both runtimes and it quits.

Here is jack:

./fas.AppImage
Faust library path set to './faustlibraries'
loading Faust DSP from './faust/generators'
DSP code 0 'pulsewave.dsp' loaded.
loading Faust DSP from './faust/effects'
unique name `Fragment Audio Server-01' assigned

Jack: Using Jack (48000) with 2 output ports
Jack: Using Jack (48000) with 0 input ports
[2021/04/01 09:40:39:0375] NOTICE: Initial logging level 7
[2021/04/01 09:40:39:0375] NOTICE: Libwebsockets version: 2.2.2 julien@julien-desktop-
[2021/04/01 09:40:39:0375] NOTICE: IPV6 not compiled in
[2021/04/01 09:40:39:0375] NOTICE: libev support not compiled in
[2021/04/01 09:40:39:0375] NOTICE: libuv support not compiled in
[2021/04/01 09:40:39:0375] NOTICE:  Threads: 1 each 1024 fds
[2021/04/01 09:40:39:0375] NOTICE:  mem: platform fd map:  8192 bytes
[2021/04/01 09:40:39:0376] NOTICE: Creating Vhost 'default' port 3003, 1 protocols, IPv6 off
[2021/04/01 09:40:39:0376] ERR: ERROR on binding fd 21 to port 3003 (-1 98)
[2021/04/01 09:40:39:0376] ERR: init server failed
[2021/04/01 09:40:39:0376] ERR: Failed to create default vhost
lws_create_context failed.
lws related error occured.
[2021/04/01 09:40:39:0871] NOTICE: lws_context_destroy: ctx (nil)
Bye.

and here is portaudio:

./fas.AppImage 
Faust library path set to './faustlibraries'
loading Faust DSP from './faust/generators'
DSP code 0 'pulsewave.dsp' loaded.
loading Faust DSP from './faust/effects'
ALSA lib pcm_dsnoop.c:642:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1090:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_dmix.c:1090:(snd_pcm_dmix_open) unable to open slave

PortAudio device 0 (0) - HDA Intel PCH: ALC892 Digital (hw:0,1)
==========
  max input channels : 0
  max output channels : 2
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 1 (0) - HDA Intel PCH: ALC892 Alt Analog (hw:0,2)
==========
  max input channels : 2
  max output channels : 0
  default low input latency : 0.005805
  default low output latency : -1.000000
  default high input latency : 0.034830
  default high output latency : -1.000000
  default sample rate : 44100.000000

PortAudio device 2 (0) - HDA ATI HDMI: 0 (hw:1,3)
==========
  max input channels : 0
  max output channels : 8
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 3 (0) - HDA ATI HDMI: 1 (hw:1,7)
==========
  max input channels : 0
  max output channels : 2
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 4 (0) - HDA ATI HDMI: 2 (hw:1,8)
==========
  max input channels : 0
  max output channels : 8
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 5 (0) - HDA ATI HDMI: 3 (hw:1,9)
==========
  max input channels : 0
  max output channels : 2
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 6 (0) - HDA ATI HDMI: 4 (hw:1,10)
==========
  max input channels : 0
  max output channels : 8
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 7 (0) - HDA ATI HDMI: 5 (hw:1,11)
==========
  max input channels : 0
  max output channels : 8
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 8 (0) - iec958
==========
  max input channels : 0
  max output channels : 2
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 9 (0) - spdif
==========
  max input channels : 0
  max output channels : 2
  default low input latency : -1.000000
  default low output latency : 0.005805
  default high input latency : -1.000000
  default high output latency : 0.034830
  default sample rate : 44100.000000

PortAudio device 10 (0) - jack
==========
  max input channels : 2
  max output channels : 2
  default low input latency : 0.021333
  default low output latency : 0.021333
  default high input latency : 0.021333
  default high output latency : 0.021333
  default sample rate : 48000.000000

PortAudio device 11 (0) - pulse
==========
  max input channels : 32
  max output channels : 32
  default low input latency : 0.008685
  default low output latency : 0.008685
  default high input latency : 0.034807
  default high output latency : 0.034807
  default sample rate : 44100.000000

PortAudio device 12 (0) - default
==========
  max input channels : 32
  max output channels : 32
  default low input latency : 0.008685
  default low output latency : 0.008685
  default high input latency : 0.034807
  default high output latency : 0.034807
  default sample rate : 44100.000000

PortAudio device 13 (2) - system
==========
  max input channels : 4
  max output channels : 2
  default low input latency : 0.021333
  default low output latency : 0.042667
  default high input latency : 0.021333
  default high output latency : 0.042667
  default sample rate : 48000.000000

PortAudio device 14 (2) - PulseAudio JACK Sink
==========
  max input channels : 2
  max output channels : 0
  default low input latency : 0.000000
  default low output latency : 0.000000
  default high input latency : 0.000000
  default high output latency : 0.000000
  default sample rate : 48000.000000

PortAudio device 15 (2) - PulseAudio JACK Source
==========
  max input channels : 0
  max output channels : 2
  default low input latency : 0.000000
  default low output latency : 0.000000
  default high input latency : 0.000000
  default high output latency : 0.000000
  default sample rate : 48000.000000

PortAudio device 16 (2) - Fragment Audio Server
==========
  max input channels : 2
  max output channels : 0
  default low input latency : 0.000000
  default low output latency : 0.000000
  default high input latency : 0.000000
  default high output latency : 0.000000
  default sample rate : 48000.000000


PortAudio: Using device 'default' (44100) with 2 output channels
PortAudio: Using device 'default' (44100) with 0 input channels
[2021/04/01 09:42:19:3529] NOTICE: Initial logging level 7
[2021/04/01 09:42:19:3529] NOTICE: Libwebsockets version: 2.2.2 julien@julien-desktop-
[2021/04/01 09:42:19:3529] NOTICE: IPV6 not compiled in
[2021/04/01 09:42:19:3529] NOTICE: libev support not compiled in
[2021/04/01 09:42:19:3529] NOTICE: libuv support not compiled in
[2021/04/01 09:42:19:3529] NOTICE:  Threads: 1 each 1024 fds
[2021/04/01 09:42:19:3529] NOTICE:  mem: platform fd map:  8192 bytes
[2021/04/01 09:42:19:3529] NOTICE: Creating Vhost 'default' port 3003, 1 protocols, IPv6 off
[2021/04/01 09:42:19:3529] ERR: ERROR on binding fd 28 to port 3003 (-1 98)
[2021/04/01 09:42:19:3530] ERR: init server failed
[2021/04/01 09:42:19:3530] ERR: Failed to create default vhost
lws_create_context failed.
lws related error occured.

This one stays open, but nothing connects to it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.