7 ms·
Makepad- Synthesizer Written in Rust
- rvdca 3y agoFor anyone interested, the main author (if I understood properly) did a presentation at RustNL on the UI aspect that was quite impressive performance wise : https://youtu.be/rC4FCS-oMpg https://youtu.be/rC4FCS-oMpg
- usrusr 3y agoTechnically, that talk is by the author of the UI system/IDE that uses the synthesizer as an extended hello world. The synthesizer itself is by a different guy ( https://thisisnotrocketscience.nl https://thisisnotrocketscience.nl ) who's been calling his bassline synths somethingmetallicfish since almost forever.
- rikarendsmp 3y agoThe RustNL presentation is a nice up to date view of where we are with makepad.
- chaosprint 3y agoVery impressive UI work with Rust. As @rvdca pointed out the author had a great presentation. Definitely recommend it. I notice that there is a bug when I open the console with cmd-option-J: a note will be triggered and stay there forever. The audio worklet uses postMessages (https://makepad.nl/makepad/platform/src/os/web_browser/audio_worklet.js https://makepad.nl/makepad/platform/src/os/web_browser/audio...), which is not GC free. For those are interested, I am maintaining https://glicol.org/ https://glicol.org/ which is also an Rust/WASM audio app in browsers.
- rikarendsmp 3y agoThe audio worklet doesnt use postmessages anymore btw. I removed that way of commmunicating with the main thread. It's all shared memory in wasm now.
- chaosprint 3y agoCool. There is no doubt that you guys can nail it.
- rikarendsmp 3y agoWe also have a much newer version however the workload of 'everything' has been a bit overwhelming since we aren't actually making a synth(thats just an example application) but an IDE, designtool and a framework.
- chaosprint 3y agoSo is it going to be a Figma style tool?
- rikarendsmp 3y agoYep, with a visual studio style IDE for Rust. so Big project.
- thumbuddy 3y agoWhy didn't you integrate with VSC?
- rikarendsmp 3y agoWe might, but only after we made our own. Our editor will finally break the barrier of inlining widgets/controls performantly. The editor is one piece with the visual designer (2 sides of a coin)
- thumbuddy 3y agoSounds cool I'll be keeping an eye on you guys
- logicchains 3y agoWhat's Figma?
- rikarendsmp 3y agoFigma is an online designtool mostly used for doing UI designs.
- rapnie 3y ago> Written in Rust Mentioning that.. is this open source?
- maeln 3y agohttps://github.com/makepad/makepad https://github.com/makepad/makepad It's the iron fish project.
- WhiteNoiz3 3y agoThe Makepad fractal zoom example crashed my browser in all kinds of of ways that a browser is not supposed to be able to crash.
- rikarendsmp 3y agoIt's using lots of workers and SIMD. What is your OS/browser?
- 3836293648 3y agoWait what, that's a thing on web now? I thought simd was only on native, not wasm
- pengaru 3y agoI saw mention of it in the emscripten docs but haven't experimented yet: https://emscripten.org/docs/porting/simd.html https://emscripten.org/docs/porting/simd.html
- uglycoyote 3y agoI was disappointed in that example for a different reason. it ran on my phone, but when I pinch -zoomed (which is what I assumed a zoom widget built for web was supposed to support) it kept zooming towards the same point, which was a boring black spot. it didn't pan and zoom like I would have expected.
- alkonaut 3y agoDoes anyone know if the native UI framework supports being "hosted" in the sense that makes it useable for audio plugin dev (VST3 and others)?
- rikarendsmp 3y agoWe can definitely support it being hosted, however this is extra work on the platform side. VST is a licensing nightmare tho, i didnt really feel like stepping into that for now.
- odiroot 3y agoMaybe try going the CLAP way instead?
- rikarendsmp 3y agoYea that one is highest on the list.
- elric 3y agoAs a hardware synth lover, I'm pleasantly surprised by how good this sounds. Great work!
- rikarendsmp 3y agoThanks :) All the work of 'this is not rocket science'
- paulgb 3y agoFor those who haven’t seen it, Makepad is also an in-browser code editor with an open-source UI toolkit. Looks like this synth is one of the examples of the UI toolkit. https://makepad.dev/ https://makepad.dev/
- csomar 3y agoIt feels much more snappier than Electron-based apps.
- paulgb 3y agoRather than going through the browser’s rendering engine, it’s entirely rendered on the GPU. Super impressive.
- chaosprint 3y agopress option on mac. it's amazing
- faitswulff 3y agoThat is fantastic
- ta988 3y agoWhat does it do?
- ledgerdev 3y agoIt sort of zooms out and shows top level lines at regular size, but a mini-map like view of code underneath the top level. It's very smooth too.
- ledgerdev 3y agoPressing Alt seems to invoke the same on linux/gnome, probably alt key on windows as well.
- thumbuddy 3y agoLooks like old school synth software in a good way. Cool
- bazeblackwood 3y agoThe 6th note row from the bottom isn't working for me, for some reason! Otherwise, very cool.
- srg0 3y agoIt's very impressive. I'd suggest to reset sliders on double click like most plugin instruments do.
- thaway_thaway34 3y agoI got just a blank page in dark grayish/brown color
- rikarendsmp 3y agoWhat browser/OS are you on? Works fine here. Needs wasm+webaudio worklets and shared memory to work
- beezlewax 3y agoThis is awesome. I saw a talk on this the other day on YouTube. This looks good even on my crappy phone. Is there a reason though that the html on hackernews renders text more sharply than the text on the makepad apps?
- rikarendsmp 3y agoYea we're struggling a bit with super sharp rendering on lower DPI screens. It's on our todolist.
- 3836293648 3y agoCool and very smooth. Shame Firefox doesn't support it (yet?). It's very blurry though? Seems like it's trying to run at ~1080p (on a 1440p screen)
- lostmsu 3y agoWorked on Windows with Firefox.
- rikarendsmp 3y agoIt shouldnt be 'that' blurry tho, sounds like maybe you have a browser-zoom level thats not 100%. I try to deal with that, but there are browsers that mess it up (safari can for instance)
- berlonce 3y agoIt seems to be able to target app builds for everything but IOS. Is there a plan/timeline to add it?