Code Monkey home page Code Monkey logo

aoo's People

Contributors

essej avatar ritsch avatar spacechild1 avatar umlaeute avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

aoo's Issues

aoo_client: couldn't establish connection with peer

I have this message when I join the same group on two different machines (OSX 10.15.4 and Windows10):

aoo_client: couldn't establish UDP connection to test|bar; timed out after 5 seconds

I tried under local network, and from external network using port fowarding, but still the same issue.
Also compiled aoo for raspberry Pi but got exact same problems.

Any Hints?

Cheers

Fix for sigabort's due to (rare) AMD incompatibility with std::random_device

It seems that there are problems with some systems (mostly more modern AMD systems) where in some cases std::random_device will result in an exception. Currently this causes applications to be unusable.

Referencing this issue in libsass, I made a quick patch for solving this problem.

Since the current state of branches seems to be undergoing some refactoring/updating to newer version, and i have no idea where to PR to at this point, here is a diff based on the sonobus main repo.

Sonobus works as expected using this patch, where before it would crash on start.

diff --git a/deps/aoo/lib/src/client.cpp b/deps/aoo/lib/src/client.cpp
index f02e5ce6..0ec74259 100644
--- a/deps/aoo/lib/src/client.cpp
+++ b/deps/aoo/lib/src/client.cpp
@@ -170,11 +170,16 @@ aoo::net::client::client(void *udpsocket, aoo_sendfn fn, int port)
     sendbuffer_.setup(65536);
     recvbuffer_.setup(65536);
     
-    // generate random token
-    std::random_device randdev;
-    std::default_random_engine reng(randdev());
-    std::uniform_int_distribution<int64_t> uniform_dist(1); // minimum of 1, max of maxint
-    token_ = uniform_dist(reng);
+    try {
+        std::random_device randdev;
+        std::default_random_engine reng(randdev());
+        std::uniform_int_distribution<int64_t> uniform_dist(1); // minimum of 1, max of maxint
+        token_ = uniform_dist(reng);
+    }
+    // On certain system this can throw since either
+    // underlying hardware or software can be buggy.
+    // https://github.com/sass/libsass/issues/3151
+    catch (std::exception&) {}
 }
 
 void aoonet_client_free(aoonet_client *client){
diff --git a/deps/aoo/lib/src/source.cpp b/deps/aoo/lib/src/source.cpp
index 82f02088..c769d0f2 100644
--- a/deps/aoo/lib/src/source.cpp
+++ b/deps/aoo/lib/src/source.cpp
@@ -899,10 +899,18 @@ int32_t source::set_format(aoo_format &f){
 }
 
 int32_t source::make_salt(){
-    thread_local std::random_device dev;
-    thread_local std::mt19937 mt(dev());
-    std::uniform_int_distribution<int32_t> dist;
-    return dist(mt);
+    try {
+      thread_local std::random_device dev;
+      thread_local std::mt19937 mt(dev());
+      std::uniform_int_distribution<int32_t> dist;
+      return dist(mt);
+
+    }
+    // On certain system this can throw since either
+    // underlying hardware or software can be buggy.
+    // https://github.com/sass/libsass/issues/3151
+    catch (std::exception&) {}
+    return 42;
 }
 
 int32_t source::set_userformat(void * ptr, int32_t size){

Please provide detailed compilation instructions

hello,

Deken packages seem to be compiled with a version of GlibC newer than the one I have in my UbuntuStudio 22.04 (kernel 5.04) so I need to compile the object myself, unfortunately I do not understand how to build with pd_libbuilder. It is installed in my system, but I do not know what to do.

Do I call pd-libbuilder from terminal in the directory of aoo? the make instructions provided produce. I am adding to the make instruction provided the PDLIBDIR=/usr/share/pd-lib-builder

*** No rule to make target 'install'. Stop.

I would appreciate some help with this.

thanks

Add midi/osc messages

Hi,
How can I send midi/osc together with audio data? I would like it to be in sync with the audio

Any suggestion?

Thanks,
Nick

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.