I've been working with Bevy and egui, and have found it pretty nice. At the very least that might help get you started in your research.
comments
Interesting point about monochrome. If I remember correctly though, pixels are rendered with rgba values right? So does monochrome do anything programmatically different than color? Or maybe grayscale does?
And no, i'm not vibing this...i want to learn how to do this myself and not just regurgitate some hallucinated bullshit.
I am lacking in how to write GUI applications without using a game engine. I used a lot of Unity with C# and way before that I was using actionscript with Flash lol but other than a handful of WPF apps and WinForms with Powershell I haven't done straight GUI applications.
Oh I haven't heard of SDL. I'll take a look at that too.
Thanks!
Yeah I think i'm leaning more toward the GPU/shader side of things so I'll take a look at the vulkano-rs and wgpu. I assume vulkano-rs is the rust implementation of the vulcan API?
And it's funny you bring up Bevy, I was playing around with the idea of using Bevy or Godot as my wrapper. I have a lot of experience with Unity and I'm pretty comfortable with game engines but I've never used Unity ECS nor have I used Godot/Bevy specifically. I do like the idea of making a drawing app with a game engine as impractical as that may be lol.
I don't want it limited to the browser. I was more wanting to make a full standalone application to run on the desktop. I also want to incorporate touch and leverage the GPU. So it sounds like vulkano-rs might be the thing to look into.
EDIT: Forgot to mention that yeah, I'm looking at Rust for now but do you have a recommendation for other programming languages?
An actually serious project that is not at the "joke" stage. Zero LLM use too:
https://nihav.org/
For audio at least, people should be aware of:
https://github.com/pdeljanov/Symphonia
Someone say mpreg 🫃?
But why?
Wouldn’t it be better to spend the same effort writing ffmpeg modules and interfaces in Rust?
keeping external dependencies to a minimum
This is… concerning, too.
Media processing code is difficult. It’s not even a pure coding problem, and often involves human perception, extensive, expensive experimentation and esoteric, buggy hardware APIs . Hence the whole point of ffmpeg is basically integration of external libraries, with immense amounts of labor already put into each.
There are some Rust libraries they could pull in though. I guess it’d be reasonable to focus on newer formats/codecs that have Rust implementations already, and let ffmpeg handle weird legacy formats.
🫃
There are a few basic things you need to sort out first. Keep it as simple as possible so start monochrome, and just add functionality to draw dots on a canvas. You'll need file handling capability almost immediately so figure out a way to (de-)serialise the information to recreate the artwork to read and write it to a file.
That'll keep you going for a few weeks, unless you're vibing it in which case months by which point you might have had other ideas of features to add, assuming you already know how to write GUI applications.
Good luck. Isn't a lot of ffmpeg in assembly? I wonder how that will be handled. If faster code can be compiled that'd be crazy.
Big tech loves Apache and MIT 💕
Kink? Wat?
Seems quite inadvisable unless backed by the larger video community, which in turn I think will be unlikely.
Do not underestimate how incredibly load-bearing ffmpeg is to all of video technology, and do not underestimate the crazy shit going on inside it. It's a remarkable piece of technology.
I agree but it’s better than nothing.
Shame they opted for Apache.
Omg lol wonderful 🤣
Unlicensed/missing license👎
The name is absolutely hilarious, I agree.
It’s made even better by the fact that the author evidently hadn’t heard of the kink aspect of the name until they posted it on Reddit 😆
Oh thank god I thought someone wrote about getting ffmpeg pregnant and I was gonna have to give up
Art. Raster specifically, not looking to do vector at the moment.
For 2) I'd also suggest to check out SDL. There are excellent SDL bindings for Rust, and it's way less involved than dragging in a fully-featured game engine.
Yazi is very neat. First time I've wanted to use something like a file manager for some things instead of a shell since Amiga in the early 90's.
Hopefully that will get into Debian soon so it's an easy option there as well.
What kind of drawing? Art or technical?
Great file-manager, would recommend! Has a lot of plugins, integrates well with fzf to find files and zoxide for directories.
I use it as my default file manager and also in nvim.