this post was submitted on 19 May 2024
0 points (NaN% liked)

Linux

47233 readers
757 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

greetings, i want to build a daw (digital audio workstation), but i have no idea where to even start. here are my needs and the options i've found:

my needs:

  • load and keep things (audio, midi) in memory
  • cross-platform compatibility is not a requirement

the options i've found:

  • ~~flutter~~
  • ~~gtk/qt~~
  • raylib (with zig)
  • ~~webassembly (with zig)~~

[rejected] flutter: the first option that came to my mind was flutter. i thought it would give me a quick start in laying down the ui, but i don't think it has the capability to fulfill my needs (please correct me if i'm wrong)

gtk/qt (with zig): i wonder if qt provide bindings for zig

raylib (with zig): it's cool (my choice as of now)

[rejected] webassembly (with zig): it would be an ultimate comfort to build this way ig, but is it possible to make that web app into desktop one (like tauri or something)?

id really appreciate your opinions and advice

ps: i hope i'm clear. i got a headache searching about these. i'll update this post for more clarity later

final note

Thank you guys for all your opinions and advises. Thanks for explaining the limitations with gtk, things with qt and flutter. That kotlin compose thing was cool too. Thanks for mentioning yabridge thats gonna be helpful. It might not seem like it, but I did listen to your thoughts, and stuck with zig and raylib. Thanks a lot

top 6 comments
sorted by: hot top controversial new old
[–] snake_case_lover@lemmy.world 0 points 3 months ago (1 children)

i recommend gtk's libadwaita. it saves alot of time. It has JS Python rust and C bindings.

[–] Andromxda@lemmy.dbzer0.com 0 points 3 months ago (1 children)

Bad idea. Very bad idea, especially for more complex projects.

[–] possiblylinux127@lemmy.zip 0 points 3 months ago (1 children)
[–] Andromxda@lemmy.dbzer0.com 0 points 3 months ago (1 children)

Libadwaita has been specifically designed for simple GNOME-style applications that only have one purpose and don't include many features. I wouldn't recommend it for complex project like a DAW.

[–] possiblylinux127@lemmy.zip 0 points 3 months ago (1 children)

It is made to be simple but libadwaita apps being single purpose is not true. It is a good design choice but some apps are naturally complex such as gnome settings.

[–] Andromxda@lemmy.dbzer0.com -1 points 3 months ago

Not libadwaita, but GNOME. GNOME apps are meant to be simple, and only do one single thing.

https://developer.gnome.org/hig/principles.html

The best apps do one thing and do it well.

Resist the pull to try and make an app that suits all people in all situations. Focus on one situation, one type of experience.