OSC: Slow down data storm at surface refresh
authorLen Ovens <len@ovenwerks.net>
Sat, 29 Oct 2016 17:56:44 +0000 (10:56 -0700)
committerLen Ovens <len@ovenwerks.net>
Sat, 29 Oct 2016 17:56:44 +0000 (10:56 -0700)
libs/surfaces/osc/osc.cc

index f5f48edcb985bbc267ae5b6440606a3e5de030ba..a7208e8ab2380031b0a31e122f4c4b6edbe981d2 100644 (file)
@@ -1243,6 +1243,8 @@ OSC::clear_devices ()
                } else {
                        ++x;
                }
+               // slow devices need time to clear buffers
+               usleep ((uint32_t) 10);
        }
        // Should maybe do global_observers too
        for (GlobalObservers::iterator x = global_observers.begin(); x != global_observers.end();) {
@@ -1486,6 +1488,8 @@ OSC::_set_bank (uint32_t bank_start, lo_address addr)
                if (stp) {
                        end_listen (stp, addr);
                }
+               // slow devices need time to clear buffers
+               usleep ((uint32_t) 10);
        }
 
        s->strips = get_sorted_stripables(s->strip_types);
@@ -1520,6 +1524,8 @@ OSC::_set_bank (uint32_t bank_start, lo_address addr)
                                        listen_to_route(stp, addr);
                                }
                        }
+                       // slow devices need time to clear buffers
+                       usleep ((uint32_t) 10);
                }
        }
        // light bankup or bankdown buttons if it is possible to bank in that direction