avendish VS wxWidgets

Compare avendish vs wxWidgets and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
avendish wxWidgets
34 52
412 5,746
1.5% 1.1%
8.5 9.9
2 days ago 4 days ago
C++ C++
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

avendish

Posts with mentions or reviews of avendish. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-22.
  • Ask HN: What audio/sound-related OSS projects can I contribute to?
    22 projects | news.ycombinator.com | 22 Mar 2023
    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
    5 projects | /r/cpp | 25 Jan 2023
    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
    4 projects | news.ycombinator.com | 27 Nov 2022
    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
    5 projects | news.ycombinator.com | 31 Aug 2022
    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?
    26 projects | news.ycombinator.com | 12 Aug 2022
  • A framework for audio software development
    3 projects | news.ycombinator.com | 20 Jul 2022
  • Clap: The New Audio Plug-In Standard
    4 projects | news.ycombinator.com | 15 Jun 2022
    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
    3 projects | /r/cpp | 25 Apr 2022
    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?
    14 projects | news.ycombinator.com | 25 Apr 2022
    Working on a sunset of this with https://github.com/celtera/avendish - C++ reflection makes this very easy
  • Unreal vs. Unity Opinion
    5 projects | news.ycombinator.com | 17 Apr 2022
    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

wxWidgets

Posts with mentions or reviews of wxWidgets. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-17.
  • Solitaire: Authentic remake of the Windows 95 original
    6 projects | news.ycombinator.com | 17 Apr 2024
  • Building Apps with Tauri and Elixir
    14 projects | dev.to | 19 Oct 2023
    The Elixir programming language is no stranger to desktop applications as the language actually supports building them out of the box. It uses wxWidgets: a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base. But wxWidgets has a very complex API, and doesn’t solve issues that usually come with desktop applications around packaging.
  • WxWidgets – open-source C++ cross platform GUI
    2 projects | news.ycombinator.com | 9 Aug 2023
    Qt is also 100% open/free. In fact, both are available under the LGPL, just that wxWidgets also grants an exception to not have to distribute application sources even when statically linked:

    https://github.com/wxWidgets/wxWidgets#licence

  • Need for GUIs for bioinformatic tools?
    3 projects | /r/bioinformatics | 17 Jun 2023
    But for big programs, ones written in C++? Good luck it won’t be easy at all. You might try wxwidgets or qt. I do not predict trying to click box-ify complex cli tools yielding much success.
  • Create desktop application
    1 project | /r/dartlang | 29 May 2023
    In theory, you should be able to use FFI to interface with something like wxWindows, but you might again have problems on macOS, I don't know. And to me eyes, Wx looks a bit outdated.
  • IUP – Cross platform C GUI library
    4 projects | news.ycombinator.com | 24 May 2023
    This seems to be like the classic wxWidgets [1], i.e. it's an API that wraps the underlying platform's default toolkit. So on Windows it uses Windows' native controls, in Linux it seems to use GTK, and so on.

    That means that the advantage is being able to write against one API, and get cross-platform compatibility, which can be nice. It also means (typically) being limited in what you can do to the least common denominator, or you (=the toolkit author) end up having to re-implement features from one platform that you want to expose but that are missing on some supported target(s). Or, of course, have an API with non-portable parts in it.

    In any case, it means the "look and feel" is not the core feature of the API since that is going to be "like the target platform" and that is the point.

    Given the origin, I guess Lua support is important too, here.

    [1]: https://www.wxwidgets.org/

  • Creating C++ windowed applications
    1 project | /r/programminghelp | 22 May 2023
    - So, I found wxWidgets. Which looked good. However, when I followed some tutorials I was getting errors. Even when I copied and pasted the tutorial code. Furthermore, the library still doesn't seem to simplify the process much.
  • What does this icon belong to? I've seen it used in many pieces of software, but I never found out what it actually is from.
    1 project | /r/windows | 2 May 2023
    It is the icon for WXWidgets, a programming toolkit for making user interfaces that work on Windows, Mac OS and Linux.
  • Inkscape is hiring: Accelerating the GTK4 migration
    2 projects | news.ycombinator.com | 21 Apr 2023
    In general, people will use a cross-platform library to port such applications. While QT will likely never really stabilize (I'd flag it unsustainable), the https://www.wxwidgets.org/ is able to be statically linked into commercial and opensource projects at no cost without tripping GPL.

    "Hiring a senior C++ developer with GTK experience is costlier"

    I think you are confusing skill valuation, and operational productivity. Some have an erroneous notion talent is interchangeable. Likewise, applicants with identical base skill-sets on their CV often mistakenly believe they even have long-term employment options (outsourced, youth tax credit churn, and or senior wage suppression).

    Most FOSS people are easier to train, as most already can mitigate utter chaos already. =)

  • Is it possible to build a gui which is both cross compatible and native?
    6 projects | /r/rust | 7 Apr 2023
    There are a few like that in the C++ community. WxWidgets is the most famous/popular with this approach. But it is a library almost impossible to use in other languages because their api is heavily templated.

What are some alternatives?

When comparing avendish and wxWidgets you can also consider the following projects:

proposal - Go Project Design Documents

imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

DtBlkFx - Fast-Fourier-Transform (FFT) based VST plug-in

FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development

csound_max - csound6~ object for Max/MSP

gtkmm - Read-only mirror of https://gitlab.gnome.org/GNOME/gtkmm

nanobind - nanobind: tiny and efficient C++/Python bindings

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

DPF - DISTRHO Plugin Framework

nana - a modern C++ GUI library

clap-imgui - Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface.

libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.