Replies: 2 comments 3 replies
|
Raising the bar for this project perhaps (absolutely, not perhaps) but completing the work begun in the
|
|
I have some of the phase one stuff done – a working x86-64 Linux desktop (tested on Manjaro and Ubuntu 22.04) port of the new converged main (with SDL screen rendering and keyboard emulation of the keys and encoders, grids work too with no extra code). This required some portability fixes, which are not desktop-specific. I was thinking I'd make a separate PR out of them anyway. They build cleanly on top of the latest beta on my norns shield. Based on the discussion in #1876, rest of my changes need extra work before they are PR ready. I suppose what Dewb wrote would be the way to go: instead of one big NORNS_DESKTOP switch, guard each piece by what it actually needs (the ARM/NEON code by CPU architecture, the OLED and GPIO by whether that hardware is present, the SDL input by whether SDL is on) and let a desktop build target switch on the right combination. Does that sound right? What about ssd1322 specifically? As tehn suggested in #1876, guards inside the .c & keep the includes, or the fuller split where the build target excludes the file? Desktop Linux is an easy target because so much just works the same as it does on norns (jack, supercollider, grid detection), but if there's something I can do to pave the way for future Windows or MacOS ports (implemented by people who work on those environments), I'd love to take that into account. (Or for a future self-contained app as Dewb envisions for phase three.) Perhaps it would make sense also to discuss about what's the point of the desktop port? I did it mainly because I want to develop scripts on my desktop, but now that norns is part of the desktop audio environment, the other possibilities are clearer to me: a non-DAW music-making environment that integrates nicely into the Linux audio ecosystem. A banal example: I can open the qjackctl graph and just connect the audio paths however I like. A self-contained norns "app" would be a step towards this direction even more, I suppose. Finally, a caveat: my potential PRs would contain code that's generated with AI assistance. I'm just mentioning this since I know from lines how critical some of the contributors are towards this. (That's why I initially contacted tehn via email to ask if he'd prefer I'd just keep my stuff in a fork even without seeing the code.) |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There have been a few conversations lately about what to do about resurrecting/maintaining/rebooting the previous experiments around a desktop build of norns.
I don't claim any authority to make decisions nor am I volunteering to do all of this work. But here's a shower-thoughts level writeup of how I would approach things if I was going to sit down and tackle this problem today. Tossing it here as a straw man for discussion!
General principles:
Phase 1
Phase 2
Phase 3
All reactions