readerwriterqueue
ledstudio
Our great sponsors
readerwriterqueue | ledstudio | |
---|---|---|
4 | 2 | |
3,441 | 0 | |
- | - | |
0.0 | 10.0 | |
10 days ago | about 6 years ago | |
C++ | C++ | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
readerwriterqueue
-
MPMC suggestions where messages are sent to all consumers ?
I have looked at the commonly recommended - https://github.com/cameron314/readerwriterqueue - https://github.com/rigtorp/MPMCQueue
-
How to figure out the cause of my pi 4 crashing?
The PREEMPT error looks like its a C module but I cannot tell from he little snippet of the log - you may do better to move the *arr and Synchthing into Docker containers to keep the OS cleaner.
-
Qt 6.3 Released
For audio DSP in a Qt app I have good success with using a lock-free queue (e.g. https://github.com/cameron314/readerwriterqueue) to communicate from / to the UI threads. Code more-or-less looks like
connect(model, &ModelObject::somethingChanged, [=] {
-
ConorWilliams/ConcurrentDeque
We recently removed readerwriterqueue from our project due to issues and replaced with simple locking queue (and got better performance in the result). Your code looks interesting, but we can't use it due to C++17 usage.
ledstudio
-
Over-engineering an RGB LED strip: let’s make a custom programming language
That’s pretty cool.
I did something similar once, where I wrote a Qt application that let you add effects to a timeline, which would get saved as json and could then be run on a Raspberry Pi to control a grid of NeoPixel LEDs. Each effect on the timeline has a start and length, which pixels it affected, RGBW colors, easing function in and out and effect type (fade, blink etc — there were a few basic effect types that could be combined to create more elaborate effects). The Qt application was able to simulate the LEDs in a GUI using the same code that ran on the RPi (just the GUI was replaced with LED driver code there). It was used to play animations on a t-shirt that was covered in a grid of LEDs made for a local musician. It was a fun project. The code is on GitHub but it’s terrible quality due to having been written over the space of 3 days and then never touched again: https://github.com/danielytics/ledstudio
-
Qt 6.3 Released
I have the code on GitHub but I haven’t built the code in 4 years so don’t have a screenshot. Like I said, the code was written in about 3 days and QML allowed me to iterate quickly, but the resulting code quality isn’t great (since it was a once off project, built and used in the same week and then never used again, I didn’t clean it up or anything). One key feature was that the LED strip could be connected to a Raspberry Pi and the tool could be run directly on the Pi to control the LEDs directly from the editor, or it could be run on my laptop and simulated.
Anyway, the code is here: https://github.com/danielytics/ledstudio
And the QML specifically is here: https://github.com/danielytics/ledstudio/blob/master/main.qm...
If I were to clean it up, I would at least split the different labels into their own QML files but hey, shortcuts were taken over those few days :)
What are some alternatives?
moodycamel - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
lqml
CUB - THIS REPOSITORY HAS MOVED TO github.com/nvidia/cub, WHICH IS AUTOMATICALLY MIRRORED HERE.
smallfunction - Stack allocated and type-erased functors 🐜
MPMCQueue.h - A bounded multi-producer multi-consumer concurrent queue written in C++11
ledstrip_sandbox - Allows multiple users to play around with their own part of the ledstrip by using Lua scripts
BlockingCollection - C++11 thread safe, multi-producer, multi-consumer blocking queue, stack & priority queue class
HPX - The C++ Standard Library for Parallelism and Concurrency
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
C++ Actor Framework - An Open Source Implementation of the Actor Model in C++
alpaka - The project alpaka has moved to https://github.com/alpaka-group/alpaka
libdill - Structured concurrency in C