nappgui
avendish
nappgui | avendish | |
---|---|---|
7 | 34 | |
79 | 412 | |
- | 1.5% | |
0.0 | 8.5 | |
over 1 year ago | about 12 hours ago | |
C | C++ | |
MIT License | 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.
nappgui
-
Ask HN: Best Language & Framework for GUI development
Qt meets all your requirements; everything (GUI code and business logic) can be implemented in moderate C++ (C++ 98 or higher, even "C with classes" style is ok). RAM usage is generally low (< 10 MB for most of my apps). If you prefer C over C++ https://nappgui.com is yet another good library.
-
GUI for software, not games, but lighter than Qt ?
Have a look at https://nappgui.com. It is lean, cross-platform and has excellent documentation.
-
I made a shortlist of good libraries for my GUI C project and I want your thoughts and comments.
Best option for lean multi-platform lib: https://nappgui.com
-
Not-gtk GUI Libs/frameworks for plain C
have you tried this? https://github.com/ToshioCP/Gtk4-tutorial also https://github.com/frang75/nappgui is very interesting and promising.
- NAppGUI - Cross-Platform C SDK to build desktop applications
- Cross-platform desktop applications in C
avendish
-
Ask HN: What audio/sound-related OSS projects can I contribute to?
Happy to introduce you to https://ossia.io there are a lots of tasks open! You can check the projects for the general development axes: https://github.com/ossia/score/projects?query=is%3Aopen ; e.g. Audio, Musicality, Integrations, JACK & Linux integration (some are in Classic projects mode) all have audio-related tasks, some easy, some hard.
Creating new Avendish plug-ins (docs: https://celtera.github.io/avendish/) could also be fairly useful, here's a very basic example one: https://github.com/celtera/avendish/blob/main/examples/Advan...
-
Learning C++ for Multimedia and Audio programming
If you are interested in making max, pd, etc... extension you can look into https://github.com/celtera/avendish : it's made exactly for this and tries to stay very close from standard C++ unlike most existing audio frameworks which often come with their own bespoke standard library reimplementation. The documentation also tries to explain the c++ features it used, you might find this useful!
-
Soursop and Ponies in Kona: A C++ Committee Trip Report
to automatically generate safe dlopen stubs for runtime dynamic library loading from header files
and through the C++ one (this one is an extremely quick and dirty prototype):
https://github.com/ossia/score/blob/master/src/plugins/score...
to pre-instantiate get(aggregate), for_each(aggregate, f) and other similar functions in https://github.com/celtera/avendish because of how slow it is when done through TMP (doing it that way removed literally dozens of megabytes from my .o and had a positive performance impact even with -O3) ; so I weep a lot when I read that people in the committee object to pack...[indexing]
-
Cognitive Loads in Programming
I really don't know about this, I'm writing audio & media effects in a fairly declarative style with https://github.com/celtera/avendish and I'm so much more productive that it's not even funny - I can rewrite entire effects from scratch in the time that it used to take me to find a bug somewhere
- Ask HN: Who is using C++ as the main language for new project?
- A framework for audio software development
-
Clap: The New Audio Plug-In Standard
For anyone using c++, my declarative system has some amount of support for clap: https://github.com/celtera/avendish / https://celtera.github.io/avendish/
But unlike clap, targetting this also gives direct access to a few other environments, namely Max, Pd, ossia score, with the list hopefully growing.
Here is an example minimal plugin : https://github.com/celtera/avendish/blob/main/examples/Raw/M...
Note that unlike pretty much every other c/c++ plugin API, the plugin code does not need to include any header, everything is done through reflection of struct members at compile-time.
Here's a per-sample noise generator which uses a small library of pre-made ports: https://github.com/celtera/avendish/blob/main/examples/Helpe...
And a very naive buffer-based audio filter : https://github.com/celtera/avendish/blob/main/examples/Helpe...
UI is supported without relying on a specific UI library, only on a canvas painter concept which can then target Qt, NanoVG, and others to come: https://github.com/celtera/avendish/blob/main/examples/Helpe...
since it binds directly to audio APIs at compile time, it has pretty much zero code size in itself, the smallest plugin it generates for VST2 is around 7kb IIRC
-
WG21, aka C++ Standard Committee, April 2022 Mailing
I've ported my lib https://github.com/celtera/avendish to P1061's experimental clang implementation to replace boost.pfr (https://github.com/celtera/avendish/blob/main/include/avnd/common/aggregates.hpp#L67) and it works great, it's only missing pack indexing because right now one still needs to do something like
-
Why LSP?
Working on a sunset of this with https://github.com/celtera/avendish - C++ reflection makes this very easy
-
Unreal vs. Unity Opinion
so interesting, as a mostly C++ dev, UE's C++ style feels absolutely awful aha. Of course they have to be here because c++ used to not have reflection but I think that nowadays one could use similar principles as the ones I've tried to develop for audio / media objects in https://github.com/celtera/avendish to implement game objects / UObject in a much cleaner way and with better compile times
What are some alternatives?
nuklear - A single-header ANSI C immediate mode cross-platform GUI library
proposal - Go Project Design Documents
raygui - A simple and easy-to-use immediate-mode gui library
DtBlkFx - Fast-Fourier-Transform (FFT) based VST plug-in
Gtk4-tutorial - GTK 4 tutorial for beginners
csound_max - csound6~ object for Max/MSP
libui-ng - libui-ng: a portable GUI library for C. "libui for the next generation"
nanobind - nanobind: tiny and efficient C++/Python bindings
nappgui_src - SDK for building cross-platform desktop apps in ANSI-C
DPF - DISTRHO Plugin Framework
SDL - Simple Directmedia Layer
clap-imgui - Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface.